/** Accept the visitor. * @param visitor * @param data * @return ? */ public Object childrenAccept(AnnotationParserVisitor visitor, Object data) { if (children != null) { for (int i = 0; i < children.length; ++i) { children[i].jjtAccept(visitor, data); } } return data; }
/** Accept the visitor. * @param visitor * @param data * @return ? */ public Object childrenAccept(AnnotationParserVisitor visitor, Object data) { if (children != null) { for (int i = 0; i < children.length; ++i) { children[i].jjtAccept(visitor, data); } } return data; }
public Object visit(ASTMemberValueArrayInitializer node, Object data) { if (!type.isArray()) throw new RuntimeException(annotation.getName() + "." + data + " is not an array"); Class<?> baseType = type.getComponentType(); int size = node.jjtGetNumChildren(); typeValue = Array.newInstance(baseType, size); for (int i = 0; i < size; i++) { AnnotationCreator creator = new AnnotationCreator(annotation, baseType, loader); node.jjtGetChild(i).jjtAccept(creator, null); Array.set(typeValue, i, creator.typeValue); } return null; }
public Object visit(ASTMemberValueArrayInitializer node, Object data) { if (!type.isArray()) throw new RuntimeException(annotation.getName() + "." + data + " is not an array"); Class baseType = type.getComponentType(); int size = node.jjtGetNumChildren(); typeValue = Array.newInstance(baseType, size); for (int i = 0; i < size; i++) { AnnotationCreator creator = new AnnotationCreator(annotation, baseType); node.jjtGetChild(i).jjtAccept(creator, null); Array.set(typeValue, i, creator.typeValue); } return null; }
public Object visit(ASTMemberValueArrayInitializer node, Object data) { pw.println(""); indent++; XmlAnnotationCompiler.indenter(pw, indent); pw.println("<array>"); indent++; int size = node.jjtGetNumChildren(); for (int i = 0; i < size; i++) { XmlAnnotationCompiler.indenter(pw, indent); pw.print("<value>"); node.jjtGetChild(i).jjtAccept(this, null); pw.println("</value>"); } indent--; XmlAnnotationCompiler.indenter(pw, indent); pw.println("</array>"); indent--; XmlAnnotationCompiler.indenter(pw, indent); return null; }
public static javassist.bytecode.annotation.Annotation createAnnotationInfo(ClassPool pool, ConstPool cp, ASTAnnotation node) throws Exception { CtClass annotation = pool.get(node.getIdentifier()); javassist.bytecode.annotation.Annotation info = new javassist.bytecode.annotation.Annotation(cp, annotation); AnnotationInfoCreator creator = new AnnotationInfoCreator(pool, cp, info); if (node.jjtGetNumChildren() > 0) { node.jjtGetChild(0).jjtAccept(creator, null); } return info; }
private int printField(PrintWriter pw, JavaField field, int indent, AnnotationDocletTag tag) throws Exception { indenter(pw, indent); pw.println("<field name=\"" + field.getName() + "\">"); indent++; XmlAnnotationVisitor visitor = new XmlAnnotationVisitor(indent, pw); if (tag.getAnnotation().jjtGetNumChildren() > 0) tag.getAnnotation().jjtGetChild(0).jjtAccept(visitor, null); indent--; indenter(pw, indent); pw.println("</field>"); return indent; }
private int printMethod(PrintWriter pw, JavaMethod method, int indent, AnnotationDocletTag tag) throws Exception { indenter(pw, indent); pw.print("<method expr=\""); pw.print(method.getReturns().toString()); pw.print(" " + method.getName() + "("); boolean first = true; for (int k = 0; k < method.getParameters().length; k++) { JavaParameter param = method.getParameters()[k]; if (!first) pw.print(", "); else first = false; pw.print(param.getType().toString()); } pw.println(")\">"); indent++; XmlAnnotationVisitor visitor = new XmlAnnotationVisitor(indent, pw); if (tag.getAnnotation().jjtGetNumChildren() > 0) tag.getAnnotation().jjtGetChild(0).jjtAccept(visitor, null); indent--; indenter(pw, indent); pw.println("</method>"); return indent; }
private int printConstructor(PrintWriter pw, JavaMethod method, int indent, AnnotationDocletTag tag) throws Exception { indenter(pw, indent); pw.print("<constructor expr=\""); pw.print(method.getName() + "("); boolean first = true; for (int k = 0; k < method.getParameters().length; k++) { JavaParameter param = method.getParameters()[k]; if (!first) pw.print(", "); else first = false; pw.print(param.getType().toString()); } pw.println(")\">"); indent++; XmlAnnotationVisitor visitor = new XmlAnnotationVisitor(indent, pw); if (tag.getAnnotation().jjtGetNumChildren() > 0) tag.getAnnotation().jjtGetChild(0).jjtAccept(visitor, null); indent--; indenter(pw, indent); pw.println("</constructor>"); return indent; } }
public Object visit(ASTMemberValueArrayInitializer node, Object data) { ArrayMemberValue mv = (ArrayMemberValue) data; int size = node.jjtGetNumChildren(); MemberValue[] elements = new MemberValue[size]; MemberValueCreation mvc = new MemberValueCreation(cp); for (int i = 0; i < size; i++) { mv.getType().accept(mvc); elements[i] = mvc.value; node.jjtGetChild(i).jjtAccept(this, elements[i]); } mv.setValue(elements); return null; }
contained.jjtAccept(creator, "value"); map.put("value", creator.typeValue);
contained.jjtAccept(creator, "value"); map.put("value", creator.typeValue);
indent++; XmlAnnotationVisitor visitor = new XmlAnnotationVisitor(indent, pw); if (tag.getAnnotation().jjtGetNumChildren() > 0) tag.getAnnotation().jjtGetChild(0).jjtAccept(visitor, null); indent--; indenter(pw, indent);