@Override public AnnotationVisitor visitArray(String name) { List<String> values = new ArrayList<>(); if (name.equals("value")) { return new AnnotationVisitor(Opcodes.ASM7) { @Override public void visit(String name, Object value) { values.add(((Type) value).getClassName()); } @Override public void visitEnd() { resultConsumer.accept(values.toArray(new String[0])); } }; } return null; } };
TypeReference reference = new TypeReference(typeRef); if (reference.getSort() == TypeReference.CAST) { return new AnnotationVisitor(Opcodes.ASM5) { public void visit(String name, final Object value) { if (name.equals("value")) {
@Override public AnnotationVisitor visitArray(final String name) { if ("ordinal".equals(name) || "plugins".equals(name) || "points".equals(name)) { return new AnnotationVisitor(ASM_VERSION, super.visitArray(name)) {
@Override public AnnotationVisitor visitArray(String name) { return new AnnotationVisitor(Opcodes.ASM5) { @Override public void visit(String name, Object value) { visitValue((String) value); } }; } }
@Override public AnnotationVisitor visitArray(String name) { return new AnnotationVisitor(Opcodes.ASM5) { @Override public void visit(String name, Object value) { Type type = value instanceof Type ? (Type) value : Type.getType(value.getClass()); log.debug(String.format("Skipping @%s class: %s", Restricted.class.getSimpleName(), type.getClassName())); skippedRestrictedClasses.add(type); super.visit(name, value); } }; } }
@Override public AnnotationVisitor visitArray(String name) { return new AnnotationVisitor(Opcodes.ASM5) { @Override public void visit(String name, Object value) { visitValue((String) value); } }; } }
@Override public AnnotationVisitor visitArray(final String name) { final List<Object> valuesList = Lists.newArrayList(); //TODO handle arrays of annotation and arrays of enum values. return new AnnotationVisitor(Opcodes.ASM5, this) { @Override public void visit(String name, Object value) { valuesList.add(value); } @Override public void visitEnd() { addValue(name, valuesList.toArray()); } }; }
@Override public AnnotationVisitor visitArray(String name) { if ("value".equals(name)) { return new AnnotationVisitor(api) { @Override public AnnotationVisitor visitAnnotation(String name, String descriptor) { return new EnvironmentInterfaceAnnotationVisitor(api); } }; } return null; } };
@Override public AnnotationVisitor visitArray(final String name) { final List<Object> valuesList = Lists.newArrayList(); //TODO handle arrays of annotation and arrays of enum values. return new AnnotationVisitor(Opcodes.ASM5, this) { @Override public void visit(String name, Object value) { valuesList.add(value); } @Override public void visitEnd() { addValue(name, valuesList.toArray()); } }; }
@Override public AnnotationVisitor visitArray(final String name) { final List<Object> valuesList = Lists.newArrayList(); // TODO handle arrays of annotation return new AnnotationVisitor(ASM_API_VERSION, this) { @Override public void visit(String name, Object value) { valuesList.add(value); } @Override public void visitEnum(String name, String desc, String value) { getSymbol(desc).members().lookup(value).stream() .filter(symbol -> symbol.isKind(JavaSymbol.VAR)) .forEach(valuesList::add); } @Override public void visitEnd() { addValue(name, valuesList.toArray()); } }; }
@Override public AnnotationVisitor visitArray(final String name) { final List<Object> valuesList = Lists.newArrayList(); // TODO handle arrays of annotation return new AnnotationVisitor(ASM_API_VERSION, this) { @Override public void visit(String name, Object value) { valuesList.add(value); } @Override public void visitEnum(String name, String desc, String value) { getSymbol(desc).members().lookup(value).stream() .filter(symbol -> symbol.isKind(JavaSymbol.VAR)) .forEach(valuesList::add); } @Override public void visitEnd() { addValue(name, valuesList.toArray()); } }; }
@Override public AnnotationVisitor visitArray(String name) { List<String> values = new ArrayList<>(); if (name.equals("value")) { return new AnnotationVisitor(Opcodes.ASM5) { @Override public void visit(String name, Object value) { values.add(((Type) value).getClassName()); } @Override public void visitEnd() { resultConsumer.accept(values.toArray(new String[0])); } }; } return null; } };
@Override public AnnotationVisitor visitArray(String name) { return new AnnotationVisitor(Opcodes.ASM5, super.visitArray(name)) { public void visit(String name, Object value) { if (value instanceof Type) { // assume this is a member of the array of classes named "value" in WithBridgeMethods types.add((Type) value); } super.visit(name, value); } }; }
@Override public AnnotationVisitor visitArray(final String name) { return new AnnotationVisitor(Opcodes.ASM4, super.visitArray(name)) { @Override public void visitEnum(String n, String desc, String value) { values.put(name, value); super.visitEnum(n, desc, value); } @Override public void visit(String n, Object value) { values.put(name, value); super.visit(n, value); } }; } }
/** * Visit specifications array. * * @param name : attribute name * @return a visitor visiting each element of the array. * @see org.objectweb.asm.AnnotationVisitor#visitArray(java.lang.String) */ public AnnotationVisitor visitArray(String name) { if (name.equals("specifications")) { return new InterfaceArrayVisitor(); } else if (name.equals("properties")) { // Create a new simple visitor to visit the nested ServiceProperty annotations // Collected properties are collected in m_prov return new AnnotationVisitor(Opcodes.ASM5) { public AnnotationVisitor visitAnnotation(String ignored, String desc) { return new FieldPropertyVisitor(m_prov); } }; } else { return null; } }
AnnotationVisitor visitor = new AnnotationVisitor(); recognizerType = visitor.scan(treePath, null);
@Override public AnnotationVisitor visitArray(final String name) { if ("ordinal".equals(name) || "plugins".equals(name) || "points".equals(name)) { return new AnnotationVisitor(ASM_VERSION, super.visitArray(name)) {