下面列出了org.objectweb.asm.TypePath#fromString ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void begin(final String name, final Attributes attrs) {
String desc = attrs.getValue("desc");
boolean visible = Boolean.valueOf(attrs.getValue("visible")).booleanValue();
int typeRef = Integer.parseInt(attrs.getValue("typeRef"));
TypePath typePath = TypePath.fromString(attrs.getValue("typePath"));
Object v = peek();
if (v instanceof ClassVisitor) {
push(((ClassVisitor) v).visitTypeAnnotation(typeRef, typePath, desc, visible));
} else if (v instanceof FieldVisitor) {
push(((FieldVisitor) v).visitTypeAnnotation(typeRef, typePath, desc, visible));
} else if (v instanceof MethodVisitor) {
push(((MethodVisitor) v).visitTypeAnnotation(typeRef, typePath, desc, visible));
}
}
@Override
public void begin(final String name, final Attributes attrs) {
String desc = attrs.getValue("desc");
boolean visible = Boolean.valueOf(attrs.getValue("visible")).booleanValue();
int typeRef = Integer.parseInt(attrs.getValue("typeRef"));
TypePath typePath = TypePath.fromString(attrs.getValue("typePath"));
String[] s = attrs.getValue("start").split(" ");
Label[] start = new Label[s.length];
for (int i = 0; i < start.length; ++i) {
start[i] = getLabel(s[i]);
}
String[] e = attrs.getValue("end").split(" ");
Label[] end = new Label[e.length];
for (int i = 0; i < end.length; ++i) {
end[i] = getLabel(e[i]);
}
String[] v = attrs.getValue("index").split(" ");
int[] index = new int[v.length];
for (int i = 0; i < index.length; ++i) {
index[i] = Integer.parseInt(v[i]);
}
push(((MethodVisitor) peek()).visitLocalVariableAnnotation(typeRef, typePath, start, end, index, desc, visible));
}
@Override
public void begin(final String name, final Attributes attrs) {
String desc = attrs.getValue("desc");
boolean visible = Boolean.valueOf(attrs.getValue("visible")).booleanValue();
int typeRef = Integer.parseInt(attrs.getValue("typeRef"));
TypePath typePath = TypePath.fromString(attrs.getValue("typePath"));
push(((MethodVisitor) peek()).visitInsnAnnotation(typeRef, typePath, desc, visible));
}
@Override
public void begin(final String name, final Attributes attrs) {
String desc = attrs.getValue("desc");
boolean visible = Boolean.valueOf(attrs.getValue("visible")).booleanValue();
int typeRef = Integer.parseInt(attrs.getValue("typeRef"));
TypePath typePath = TypePath.fromString(attrs.getValue("typePath"));
push(((MethodVisitor) peek()).visitTryCatchAnnotation(typeRef, typePath, desc, visible));
}