public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { boolean ztatic = (access & Opcodes.ACC_STATIC) > 0; if ((access & Opcodes.ACC_ABSTRACT) == 0) { if (CONSTRUCTOR_METHOD_NAME.equals(name)) return new ConstructorVisitor(forClass, ztatic, desc, ctrParameterNames); if (!"<clinit>".equals(name)) return new NameMethodVisitor(name, forClass, ztatic, desc, methodParameterNames); } return null; }
public void visitEnd() { if (paramNames.size() == paramTypes.length) { Constructor<?> constructor = null; Class<?>[] javaTypes = new Class<?>[paramTypes.length]; for (int i = 0; i < paramTypes.length; i++) javaTypes[i] = resolveClass(paramTypes[i]); try { constructor = forClass.getDeclaredConstructor(javaTypes); parameterNamesMap.put(constructor, paramNames.toArray(new String[paramNames.size()])); } catch (SecurityException e) { throw new JsonBindingException( "Unable to locate constructor with signature " + signature(), e); } catch (NoSuchMethodException e) { // hum don't do anything... as we accept that it may fail... } } }
public void visitEnd() { if (paramNames.size() == paramTypes.length) { Constructor<?> constructor = null; Class<?>[] javaTypes = new Class<?>[paramTypes.length]; for (int i = 0; i < paramTypes.length; i++) javaTypes[i] = resolveClass(paramTypes[i]); try { constructor = forClass.getDeclaredConstructor(javaTypes); parameterNamesMap.put(constructor, paramNames.toArray(new String[paramNames.size()])); } catch (SecurityException e) { throw new JsonBindingException( "Unable to locate constructor with signature " + signature(), e); } catch (NoSuchMethodException e) { // hum don't do anything... as we accept that it may fail... } } }
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { boolean ztatic = (access & Opcodes.ACC_STATIC) > 0; if ((access & Opcodes.ACC_ABSTRACT) == 0) { if (CONSTRUCTOR_METHOD_NAME.equals(name)) return new ConstructorVisitor(forClass, ztatic, desc, ctrParameterNames); if (!"<clinit>".equals(name)) return new NameMethodVisitor(name, forClass, ztatic, desc, methodParameterNames); } return null; }