private void process( FieldDeclaration astNode, final JstType jstType, final Annotation anno, final CustomType cType, final CustomInfo cInfo) { String value = null; if (anno instanceof NormalAnnotation) { List<MemberValuePair> annos = getAnnoMemberPairs(anno); String name; if (annos.size() > 0) { for (MemberValuePair pair : annos) { name = getName(pair); if (ANNO_NAME.equals(name) || ANNO_VALUE.equals(name)) { if (pair.getValue() instanceof QualifiedName) { value = getValue((QualifiedName) pair.getValue(), astNode, jstType); } else { value = getValue(pair.getValue(), astNode, jstType); } cInfo.setName(value); break; } } } } else if (anno instanceof SingleMemberAnnotation) { value = getValue(((SingleMemberAnnotation) anno).getValue(), astNode, jstType); cInfo.setName(value); } if (value == null) { return; } String fName = null; String tName = null; if (value != null) { cInfo.setName(value); int index = value.lastIndexOf("."); if (index < 0) { fName = value; } else { fName = value.substring(index + 1, value.length()); tName = value.substring(0, index); } } VariableDeclarationFragment v; String vName; CustomField cField; for (Object o : astNode.fragments()) { if (o instanceof VariableDeclarationFragment) { v = (VariableDeclarationFragment) o; vName = v.getName().toString(); cField = cType.getCustomField(vName); if (cField == null) { cField = new CustomField(vName); cType.addCustomField(cField); } cField.setAttr(cInfo.getAttr()); cField.setJstName(fName); cField.setJstOwnerTypeName(tName); } } }