/** * Visit an array valued (name, value) pair for this annotation * * @see org.objectweb.asm.AnnotationVisitor#visitArray(java.lang.String) */ @Override public AnnotationVisitor visitArray(String name) { ListValue v = new ListValue(name); _annotationValues.add(v); MyAnnotationVisitor visitor = new MyAnnotationVisitor(null, v.getList()); return visitor; }
/** * Visit a (name,value) pair whose value is another Annotation * * @see org.objectweb.asm.AnnotationVisitor#visitAnnotation(java.lang.String, java.lang.String) */ @Override public AnnotationVisitor visitAnnotation(String name, String desc) { String s = normalize(desc); ListValue v = new ListValue(s); _annotationValues.add(v); MyAnnotationVisitor visitor = new MyAnnotationVisitor(s, v.getList()); return visitor; }
@Override public RosettoValue execute(String args, Scope parentScope) { return execute(ListValue.createFromString(args), parentScope); }
/** * 特殊関数では評価順を変える等の処理をする. * * @param args * @param parentScope * @return */ protected Scope createScope(ListValue args, Scope parentScope) { ListValue evaluated = args.evaluateChildren(parentScope); return new Scope(parentScope, evaluated.getMap()); }