@Override public Set<MethodUsage> getDeclaredMethods() { // TODO replace variables Set<MethodUsage> methods = new HashSet<>(); for (ResolvedMethodDeclaration methodDeclaration : getTypeDeclaration().getDeclaredMethods()) { MethodUsage methodUsage = new MethodUsage(methodDeclaration); methods.add(methodUsage); } return methods; }
@Override public Set<MethodUsage> getDeclaredMethods() { // TODO replace variables Set<MethodUsage> methods = new HashSet<>(); for (ResolvedMethodDeclaration methodDeclaration : getTypeDeclaration().getDeclaredMethods()) { MethodUsage methodUsage = new MethodUsage(methodDeclaration); methods.add(methodUsage); } return methods; }
@Override public Set<MethodUsage> getDeclaredMethods() { // TODO replace variables Set<MethodUsage> methods = new HashSet<>(); for (ResolvedMethodDeclaration methodDeclaration : getTypeDeclaration().getDeclaredMethods()) { MethodUsage methodUsage = new MethodUsage(methodDeclaration); methods.add(methodUsage); } return methods; }
public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes, boolean staticOnly) { List<ResolvedMethodDeclaration> candidateMethods = typeDeclaration.getDeclaredMethods().stream() .filter(m -> m.getName().equals(name)) .filter(m -> !staticOnly || m.isStatic())
public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) { List<ResolvedMethodDeclaration> candidateMethods = typeDeclaration.getDeclaredMethods().stream() .filter(m -> m.getName().equals(name)) .filter(m -> !staticOnly || (staticOnly && m.isStatic()))
public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) { List<ResolvedMethodDeclaration> candidateMethods = typeDeclaration.getDeclaredMethods().stream() .filter(m -> m.getName().equals(name)) .filter(m -> !staticOnly || (staticOnly && m.isStatic()))
@Test public void testGetDeclaredMethods() { TypeSolver typeResolver = new ReflectionTypeSolver(); ResolvedReferenceTypeDeclaration list = new ReflectionInterfaceDeclaration(List.class, typeResolver); List<ResolvedMethodDeclaration> methods = list.getDeclaredMethods().stream() .sorted((a, b) -> a.getName().compareTo(b.getName())) .collect(Collectors.toList()); assertEquals(28, methods.size()); assertEquals("clear", methods.get(4).getName()); assertEquals(true, methods.get(4).isAbstract()); assertEquals(0, methods.get(4).getNumberOfParams()); assertEquals("contains", methods.get(5).getName()); assertEquals(true, methods.get(5).isAbstract()); assertEquals(1, methods.get(5).getNumberOfParams()); assertEquals(true, methods.get(5).getParam(0).getType().isReferenceType()); assertEquals(Object.class.getCanonicalName(), methods.get(5).getParam(0).getType().asReferenceType().getQualifiedName()); }
@Test public void testGetDeclaredMethods() { TypeSolver typeResolver = new ReflectionTypeSolver(); ResolvedReferenceTypeDeclaration string = new ReflectionClassDeclaration(String.class, typeResolver); List<ResolvedMethodDeclaration> methods = string.getDeclaredMethods().stream() .filter(m -> m.accessSpecifier() != AccessSpecifier.PRIVATE && m.accessSpecifier() != AccessSpecifier.DEFAULT) .sorted((a, b) -> a.getName().compareTo(b.getName())) .collect(Collectors.toList()); assertEquals(67, methods.size()); assertEquals("charAt", methods.get(0).getName()); assertEquals(false, methods.get(0).isAbstract()); assertEquals(1, methods.get(0).getNumberOfParams()); assertEquals("int", methods.get(0).getParam(0).getType().describe()); assertEquals("concat", methods.get(6).getName()); assertEquals(false, methods.get(6).isAbstract()); assertEquals(1, methods.get(6).getNumberOfParams()); assertEquals("java.lang.String", methods.get(6).getParam(0).getType().describe()); }