public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { var field = new RawFieldInfo(); field.modifiers = access; field.name = name; field.value = value; classFileType.classInfo.fields.add(field); if (signature == null) { field.type = AsmType.getType(desc); } else { var parser = new SignatureParser(signature); field.signature = parser.parseFieldTypeSignature(); } fieldInfoBuilder.field = field; return fieldInfoBuilder; }
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { var method = new RawMethodInfo(); method.modifiers = access; method.name = name; method.descriptor = desc; classFileType.classInfo.methods.add(method); if (signature == null) { method.returnType = AsmType.getReturnType(desc); foreach (var t in AsmType.getArgumentTypes(desc)) { var p = new RawParameterInfo(); p.type = t; method.parameters.add(p); } method.exceptions = exceptions; } else { var parser = new SignatureParser(signature); method.signature = parser.parseMethodTypeSignature(); foreach (var s in method.signature.Parameters) { method.parameters.add(new RawParameterInfo()); } } methodInfoBuilder.method = method; return methodInfoBuilder; }
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { classFileType.modifiers = access; var classInfo = new RawClassInfo(); classFileType.classInfo = classInfo; classInfo.name = name; if (signature == null) { classInfo.superName = superName; classInfo.interfaces = interfaces; } else { var parser = new SignatureParser(signature); classInfo.signature = parser.parseClassSignature(); } }