@Override public AnnotationVisitor visitAnnotation(String name, String desc) { JavaSymbol.TypeJavaSymbol annotationSymbol = getSymbol(desc); return new BytecodeAnnotationVisitor(new AnnotationInstanceResolve(annotationSymbol), bytecodeVisitor); }
@Override public void visitEnum(String name, String desc, String value) { JavaSymbol.TypeJavaSymbol sym = getSymbol(desc); if(sym.completing) { sym.callbackOnceComplete(() -> addSymbolAsValue(name, value, sym)); return; } addSymbolAsValue(name, value, sym); }
@Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { JavaType annotationType = bytecodeVisitor.convertAsmType(org.objectweb.asm.Type.getType(desc), Flags.ANNOTATION); AnnotationInstanceResolve annotationInstance = new AnnotationInstanceResolve(annotationType.getSymbol()); fieldSymbol.metadata().addAnnotation(annotationInstance); return new BytecodeAnnotationVisitor(annotationInstance, bytecodeVisitor); }
@Override public void visit(String name, Object value) { addValue(name, value); }
@Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { JavaType annotationType = bytecodeVisitor.convertAsmType(org.objectweb.asm.Type.getType(desc)); AnnotationInstanceResolve annotationInstance = new AnnotationInstanceResolve(annotationType.getSymbol()); methodSymbol.metadata().addAnnotation(annotationInstance); return new BytecodeAnnotationVisitor(annotationInstance, bytecodeVisitor); }
@Override public void visit(String name, Object value) { addValue(name, value); }
@Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { JavaType annotationType = bytecodeVisitor.convertAsmType(org.objectweb.asm.Type.getType(desc), Flags.ANNOTATION); AnnotationInstanceResolve annotationInstance = new AnnotationInstanceResolve(annotationType.getSymbol()); methodSymbol.metadata().addAnnotation(annotationInstance); return new BytecodeAnnotationVisitor(annotationInstance, bytecodeVisitor); }
@Override public AnnotationVisitor visitAnnotation(String name, String desc) { JavaSymbol.TypeJavaSymbol annotationSymbol = getSymbol(desc); return new BytecodeAnnotationVisitor(new AnnotationInstanceResolve(annotationSymbol), bytecodeVisitor); }
@Override public void visit(String name, Object value) { addValue(name, value); }
@Override public void visitEnum(String name, String desc, String value) { JavaSymbol.TypeJavaSymbol sym = getSymbol(desc); if(sym.completing) { sym.callbackOnceComplete(() -> addSymbolAsValue(name, value, sym)); return; } addSymbolAsValue(name, value, sym); }
@Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { JavaType annotationType = convertAsmType(org.objectweb.asm.Type.getType(desc), Flags.ANNOTATION); AnnotationInstanceResolve annotationInstance = new AnnotationInstanceResolve(annotationType.getSymbol()); classSymbol.metadata().addAnnotation(annotationInstance); return new BytecodeAnnotationVisitor(annotationInstance, this); }
@Override public AnnotationVisitor visitAnnotation(String name, String desc) { JavaSymbol.TypeJavaSymbol annotationSymbol = getSymbol(desc); return new BytecodeAnnotationVisitor(new AnnotationInstanceResolve(annotationSymbol), bytecodeVisitor); }
@Override public void visit(String name, Object value) { addValue(name, value); }
@Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { JavaType annotationType = bytecodeVisitor.convertAsmType(org.objectweb.asm.Type.getType(desc)); AnnotationInstanceResolve annotationInstance = new AnnotationInstanceResolve(annotationType.getSymbol()); fieldSymbol.metadata().addAnnotation(annotationInstance); return new BytecodeAnnotationVisitor(annotationInstance, bytecodeVisitor); }
@Override public AnnotationVisitor visitAnnotation(String name, String desc) { JavaSymbol.TypeJavaSymbol annotationSymbol = getSymbol(desc); return new BytecodeAnnotationVisitor(new AnnotationInstanceResolve(annotationSymbol), bytecodeVisitor); }
private void addSymbolAsValue(String name, String value, JavaSymbol.TypeJavaSymbol sym) { sym.members().lookup(value).stream() .filter(symbol -> symbol.isKind(JavaSymbol.VAR)) .forEach(symbol -> addValue(name, symbol)); }
@Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { JavaType annotationType = convertAsmType(org.objectweb.asm.Type.getType(desc), Flags.ANNOTATION); AnnotationInstanceResolve annotationInstance = new AnnotationInstanceResolve(annotationType.getSymbol()); classSymbol.metadata().addAnnotation(annotationInstance); return new BytecodeAnnotationVisitor(annotationInstance, this); }
private void addSymbolAsValue(String name, String value, JavaSymbol.TypeJavaSymbol sym) { sym.members().lookup(value).stream() .filter(symbol -> symbol.isKind(JavaSymbol.VAR)) .forEach(symbol -> addValue(name, symbol)); }