예제 #1
0
  public void addProperty(CProperty pro) {
    CMethod m;
    List<String> names;

    names = new ArrayList<String>();
    names.add(pro.getGetterName());
    m =
        new CMethod(
            pro.getGetterName(),
            pro.isAbstract(),
            true,
            new ArrayList<CArgument>(),
            names,
            false,
            pro.getType());
    for (String def : pro.getDefinitions()) m.addDefinition(def);
    m.setProperty();
    addSelector(m);

    if (pro.getSetterName() != null) {
      List<CArgument> setargs = new ArrayList<CArgument>();
      setargs.add(new CArgument(pro.getType(), pro.name));
      names = new ArrayList<String>();
      names.add(pro.getSetterName());

      m =
          new CMethod(
              pro.getSetterName(),
              pro.isAbstract(),
              true,
              setargs,
              names,
              false,
              new CType("void"));
      m.setProperty();
      for (String def : pro.getDefinitions()) m.addDefinition(def);
      addSelector(m);
    }
    hasProperties = true;
    properties.add(pro);
  }