code: @Override
      public List<ResolvedFieldDeclaration> getAllFields() {
          List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables();
          
          getAncestors().forEach(ancestor -> ancestor.getTypeDeclaration().getAllFields().forEach(f -> {
              fields.add(new ResolvedFieldDeclaration() {
                  
                  @Override
                  public AccessSpecifier accessSpecifier() {
                      return f.accessSpecifier();
                  }
                  
                  @Override
                  public String getName() {
                      return f.getName();
                  }
                  
                  @Override
                  public ResolvedType getType() {
                      return ancestor.useThisTypeParametersOnTheGivenType(f.getType());
                  }
                  
                  @Override
                  public boolean isStatic() {
                      return f.isStatic();
                  }
                  
                  @Override
                  public ResolvedTypeDeclaration declaringType() {
                      return f.declaringType();
                  }
              });
          }));
          
          return fields;
      }
docs: /