@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { close(); inConstructor = name.equals("<init>"); if (inConstructor) { counter = 0; parameters = new ArrayList<String>(); } return super.visitMethod(access, name, desc, signature, exceptions); }
ConstructorVisitor visitor = new ConstructorVisitor(); try { if (clazz.getClassLoader() != null) { ClassReader cr = new ClassReader(is); cr.accept(visitor, 0); visitor.close(); for (List<String> c : visitor.getConstructors()) { paramsMap.put(c.size(), c);
@Test public void Parse_Entity() throws IOException { ClassReader cr = new ClassReader(getResource(Entity.class)); ConstructorVisitor visitor = new ConstructorVisitor(); cr.accept(visitor, 0); visitor.close(); assertEquals(2, visitor.getConstructors().size()); assertEquals(Arrays.asList("firstName", "lastName"), visitor.getConstructors().get(0)); assertEquals(Arrays.asList("firstName"), visitor.getConstructors().get(1)); }
@Test public void Parse_Entity4() throws IOException { ClassReader cr = new ClassReader(getResource(Entity4.class)); ConstructorVisitor visitor = new ConstructorVisitor(); cr.accept(visitor, 0); visitor.close(); assertEquals(1, visitor.getConstructors().size()); assertEquals(Arrays.asList("id", "firstName", "lastName"), visitor.getConstructors().get(0)); }
@Test public void Parse_Entity2() throws IOException { ClassReader cr = new ClassReader(getResource(Entity2.class)); ConstructorVisitor visitor = new ConstructorVisitor(); cr.accept(visitor, 0); visitor.close(); assertEquals(1, visitor.getConstructors().size()); assertEquals(Arrays.asList("rev", "t", "c"), visitor.getConstructors().get(0)); }
@Test public void Parse_Entity3() throws IOException { ClassReader cr = new ClassReader(getResource(Entity3.class)); ConstructorVisitor visitor = new ConstructorVisitor(); cr.accept(visitor, 0); visitor.close(); assertEquals(1, visitor.getConstructors().size()); assertEquals(Arrays.asList("revision", "text", "created"), visitor.getConstructors().get(0)); }