@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()); }