in tools/javac/ApiCollector.java [163:177]
public Void visitVariable(VariableElement e, Api api) {
if (api == null || isNonApi(e)) return null;
Api.Type parent = (Api.Type) api;
Api.Field field = new Api.Field(parent, e.getSimpleName().toString());
field.modifiers.addAll(getModifiers(e));
field.type = e.asType().toString();
field.constantValue = (Serializable) e.getConstantValue();
field.deprecation = getDeprecationStatus(e);
if (field.modifiers.contains(STATIC) && !field.modifiers.contains(FINAL)) {
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
"Static API fields must be final", e);
}
parent.fields.put(field, field);
return null;
}