public List<ResolvedFieldDeclaration> getAllFields() { ArrayList<ResolvedFieldDeclaration> fields = new ArrayList<>(); for (Field field : clazz.getDeclaredFields()) { fields.add(new ReflectionFieldDeclaration(field, typeSolver)); } for (ResolvedReferenceType ancestor : typeDeclaration.getAllAncestors()) { fields.addAll(ancestor.getTypeDeclaration().getAllFields()); } return fields; }
public List<ResolvedFieldDeclaration> getAllFields() { ArrayList<ResolvedFieldDeclaration> fields = new ArrayList<>(); for (Field field : clazz.getDeclaredFields()) { fields.add(new ReflectionFieldDeclaration(field, typeSolver)); } for (ResolvedReferenceType ancestor : typeDeclaration.getAllAncestors()) { fields.addAll(ancestor.getTypeDeclaration().getAllFields()); } return fields; }
public List<ResolvedFieldDeclaration> getAllFields() { ArrayList<ResolvedFieldDeclaration> fields = new ArrayList<>(); for (Field field : clazz.getDeclaredFields()) { fields.add(new ReflectionFieldDeclaration(field, typeSolver)); } for (ResolvedReferenceType ancestor : typeDeclaration.getAllAncestors()) { fields.addAll(ancestor.getTypeDeclaration().getAllFields()); } return fields; }
@Override public List<ResolvedFieldDeclaration> getAllFields() { List<JavaParserFieldDeclaration> myFields = findMembersOfKind(com.github.javaparser.ast.body.FieldDeclaration.class) .stream() .flatMap(field -> field.getVariables().stream() .map(variable -> new JavaParserFieldDeclaration(variable, typeSolver))) .collect(Collectors.toList()); List<ResolvedFieldDeclaration> superClassFields = getSuperClass().getTypeDeclaration().getAllFields(); List<ResolvedFieldDeclaration> interfaceFields = getInterfaces().stream() .flatMap(inteface -> inteface.getTypeDeclaration().getAllFields().stream()) .collect(Collectors.toList()); return ImmutableList .<ResolvedFieldDeclaration>builder() .addAll(myFields) .addAll(superClassFields) .addAll(interfaceFields) .build(); }
@Override public List<ResolvedFieldDeclaration> getAllFields() { List<JavaParserFieldDeclaration> myFields = findMembersOfKind(com.github.javaparser.ast.body.FieldDeclaration.class) .stream() .flatMap(field -> field.getVariables().stream() .map(variable -> new JavaParserFieldDeclaration(variable, typeSolver))) .collect(Collectors.toList()); List<ResolvedFieldDeclaration> superClassFields = getSuperClass().getTypeDeclaration().getAllFields(); List<ResolvedFieldDeclaration> interfaceFields = getInterfaces().stream() .flatMap(inteface -> inteface.getTypeDeclaration().getAllFields().stream()) .collect(Collectors.toList()); return ImmutableList .<ResolvedFieldDeclaration>builder() .addAll(myFields) .addAll(superClassFields) .addAll(interfaceFields) .build(); }
@Override public List<ResolvedFieldDeclaration> getAllFields() { List<JavaParserFieldDeclaration> myFields = findMembersOfKind(com.github.javaparser.ast.body.FieldDeclaration.class) .stream() .flatMap(field -> field.getVariables().stream() .map(variable -> new JavaParserFieldDeclaration(variable, typeSolver))) .collect(Collectors.toList()); List<ResolvedFieldDeclaration> superClassFields = getSuperClass().getTypeDeclaration().getAllFields(); List<ResolvedFieldDeclaration> interfaceFields = getInterfaces().stream() .flatMap(inteface -> inteface.getTypeDeclaration().getAllFields().stream()) .collect(Collectors.toList()); return ImmutableList .<ResolvedFieldDeclaration>builder() .addAll(myFields) .addAll(superClassFields) .addAll(interfaceFields) .build(); }
List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); getAncestors().forEach(ancestor -> ancestor.getTypeDeclaration().getAllFields().forEach(f -> { fields.add(new ResolvedFieldDeclaration() {
List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); getAncestors().forEach(ancestor -> ancestor.getTypeDeclaration().getAllFields().forEach(f -> { fields.add(new ResolvedFieldDeclaration() {
List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); getAncestors().forEach(ancestor -> ancestor.getTypeDeclaration().getAllFields().forEach(f -> { fields.add(new ResolvedFieldDeclaration() {
List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); getAncestors().forEach(ancestor -> ancestor.getTypeDeclaration().getAllFields().forEach(f -> { fields.add(new ResolvedFieldDeclaration() {
List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); getAncestors().forEach(ancestor -> ancestor.getTypeDeclaration().getAllFields().forEach(f -> { fields.add(new ResolvedFieldDeclaration() {
@Override public List<ResolvedFieldDeclaration> getAllFields() { List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); getAncestors(true).forEach(ancestor -> ancestor.getTypeDeclaration().getAllFields().forEach(f -> { fields.add(new ResolvedFieldDeclaration() { @Override public Modifier.Keyword 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; }
@Override public List<ResolvedFieldDeclaration> fieldsExposedToChild(Node child) { List<ResolvedFieldDeclaration> res = new LinkedList<>(); // Consider the static imports for static fields for (ImportDeclaration importDeclaration : wrappedNode.getImports()) { if (importDeclaration.isStatic()) { Name typeNameAsNode = importDeclaration.isAsterisk() ? importDeclaration.getName() : importDeclaration.getName().getQualifier().get(); String typeName = typeNameAsNode.asString(); ResolvedReferenceTypeDeclaration typeDeclaration = typeSolver.solveType(typeName); res.addAll(typeDeclaration.getAllFields().stream() .filter(f -> f.isStatic()) .filter(f -> importDeclaration.isAsterisk() || importDeclaration.getName().getIdentifier().equals(f.getName())) .collect(Collectors.toList())); } } return res; }
@Test public void findAllInheritedFields() throws ParseException { CompilationUnit cu = parseSample("AClassWithFields"); ClassOrInterfaceDeclaration classC = Navigator.demandClass(cu, "C"); ResolvedReferenceTypeDeclaration typeDeclaration = JavaParserFacade.get(new ReflectionTypeSolver()).getTypeDeclaration(classC); assertEquals(3, typeDeclaration.getAllFields().size()); assertEquals(ImmutableSet.of("a", "b", "c"), typeDeclaration.getAllFields().stream().map(ResolvedDeclaration::getName).collect(Collectors.toSet())); }
@Test public void findAllInheritedFieldsAndGenerics() throws ParseException { CompilationUnit cu = parseSample("AClassWithFieldsAndGenerics"); ClassOrInterfaceDeclaration classC = Navigator.demandClass(cu, "C"); ResolvedReferenceTypeDeclaration typeDeclaration = JavaParserFacade.get(new ReflectionTypeSolver()).getTypeDeclaration(classC); assertEquals(3, typeDeclaration.getAllFields().size()); assertEquals(ImmutableSet.of("a", "b", "c"), typeDeclaration.getAllFields().stream().map(ResolvedDeclaration::getName).collect(Collectors.toSet())); assertEquals("java.util.List<java.lang.String>", typeDeclaration.getField("b").getType().describe()); } }
return NameCategory.EXPRESSION_NAME; if (scopeRefType.getAllFields().stream().anyMatch(f -> f.isStatic() && f.getName().equals(rightName))) { return NameCategory.EXPRESSION_NAME;