@Nullable static FieldItem create(String classFqn, @NonNull ClassKind classKind, FieldBinding field) { String name = new String(field.name); String type = getFieldType(field); return classFqn != null ? new FieldItem(classFqn, classKind, name, type) : null; }
@Override public boolean visit(FieldDeclaration fieldDeclaration, MethodScope scope) { Annotation[] annotations = fieldDeclaration.annotations; if (hasRelevantAnnotations(annotations)) { FieldBinding fieldBinding = fieldDeclaration.binding; if (fieldBinding == null) { return false; } String fqn = getFqn(scope); ClassKind kind = scope.referenceContext instanceof TypeDeclaration ? ClassKind.forType((TypeDeclaration)scope.referenceContext) : ClassKind.CLASS; Item item = FieldItem.create(fqn, kind, fieldBinding); if (item != null && fqn != null) { addItem(fqn, item); addAnnotations(annotations, item); } } return false; }
private void mergeField(Element item, String containingClass, String fieldName) { if (apiFilter != null && !hasHistoricData(item) && !apiFilter.hasField(containingClass, fieldName)) { if (isListIgnored()) { info("Skipping imported element because it is not part of the API file: " + containingClass + "#" + fieldName); } filteredCount++; } else { FieldItem fieldItem = new FieldItem(containingClass, ClassKind.CLASS, fieldName, null); Item existing = findItem(containingClass, fieldItem); if (existing != null) { mergedCount += mergeAnnotations(item, existing); } else { addItemUnconditionally(containingClass, fieldItem); mergedCount += addAnnotations(item, fieldItem); } } }
@Override public boolean visit(FieldDeclaration fieldDeclaration, MethodScope scope) { Annotation[] annotations = fieldDeclaration.annotations; if (hasRelevantAnnotations(annotations)) { FieldBinding fieldBinding = fieldDeclaration.binding; if (fieldBinding == null) { return false; } String fqn = getFqn(scope); ClassKind kind = scope.referenceContext instanceof TypeDeclaration ? ClassKind.forType((TypeDeclaration)scope.referenceContext) : ClassKind.CLASS; Item item = FieldItem.create(fqn, kind, fieldBinding); if (item != null && fqn != null) { addItem(fqn, item); addAnnotations(annotations, item); } } return false; }
private void mergeField(Element item, String containingClass, String fieldName) { if (apiFilter != null && !apiFilter.hasField(containingClass, fieldName)) { if (isListIgnored()) { info("Skipping imported element because it is not part of the API file: " + containingClass + "#" + fieldName); } filteredCount++; } else { FieldItem fieldItem = new FieldItem(containingClass, ClassKind.CLASS, fieldName, null); Item existing = findItem(containingClass, fieldItem); if (existing != null) { mergedCount += mergeAnnotations(item, existing); } else { addItem(containingClass, fieldItem); mergedCount += addAnnotations(item, fieldItem); } } }
@Nullable static FieldItem create(String classFqn, @NonNull ClassKind classKind, FieldBinding field) { String name = new String(field.name); String type = getFieldType(field); return classFqn != null ? new FieldItem(classFqn, classKind, name, type) : null; }