private Map<ExecutableElement, VariableElement> createMemberFields(
      AnnotationTypeDeclaration node, List<AnnotationTypeMemberDeclaration> members) {
    TypeElement type = node.getTypeElement();
    Map<ExecutableElement, VariableElement> fieldElements = new HashMap<>();
    for (AnnotationTypeMemberDeclaration member : members) {
      ExecutableElement memberElement = member.getExecutableElement();
      String propName = NameTable.getAnnotationPropertyName(memberElement);
      VariableElement field = GeneratedVariableElement.newField(
          propName, memberElement.getReturnType(), type);
      node.addBodyDeclaration(new FieldDeclaration(field, null));
      fieldElements.put(memberElement, field);
    }
    return fieldElements;
  }
private Map < ExecutableElement , VariableElement > createMemberFields ( AnnotationTypeDeclaration node , List < AnnotationTypeMemberDeclaration > members ) { TypeElement type = node . getTypeElement ( ) ; Map < ExecutableElement , VariableElement > fieldElements = new HashMap < > ( ) ; for ( AnnotationTypeMemberDeclaration member : members ) { ExecutableElement memberElement = member . getExecutableElement ( ) ; String propName = NameTable . getAnnotationPropertyName ( memberElement ) ; VariableElement field = GeneratedVariableElement . newField ( propName , memberElement . getReturnType ( ) , type ) ; node . addBodyDeclaration ( new FieldDeclaration ( field , null ) ) ; fieldElements . put ( memberElement , field ) ; } return fieldElements ; }
Create an instance field for each member.