public TxClassVisitor(ClassNode cn, ClassWriter cw, boolean methodBodyOnly) { super(ASM.API, cw); this.cn = cn; this.cw = cw; this.type = Type.getObjectType(cn.name); this.methodBodyOnly = methodBodyOnly; }
public MonitoredClassVisitor(ClassNode cn, ClassWriter cw, boolean methodBodyOnly) { super(ASM.API, cw); this.cn = cn; this.cw = cw; this.type = Type.getObjectType(cn.name); this.methodBodyOnly = methodBodyOnly; }
public AsmMethodInfo(ClassNode c, MethodNode m) { this.c = Type.getObjectType(c.name); this.m = m; }
private void addName(final String name) { if (name == null) { return; } if (name.startsWith("java/") || name.startsWith("javax/")) { return; } if(name.equals(className)) { return; } allClasses.add(Type.getObjectType(name).getClassName()); }
public AopClassVisitor(ClassNode cn, ClassWriter cw, List<AopMethod> methods) { super(ASM.API, cw); this.cn = cn; this.cw = cw; this.type = Type.getObjectType(cn.name); this.methods = methods; init(); }
SimpleAppInstrumentClass(String internalClassName) { this.internalClassName = internalClassName; this.className = Type.getObjectType(internalClassName).getClassName(); }
@Override public void visitTypeInsn(final int opcode, final String type) { addType(Type.getObjectType(type)); }
public static Class<?> getClassType(String internalName) { return getClassType(Type.getObjectType(internalName)); }
void addInternalName(final String name) { addType(Type.getObjectType(name)); }
@Override public void visitInnerClass(String name, String outerName, String innerName, int access) { if(!this.className.equals(name) && name.startsWith(this.className + "$")) { innerClasses.add(Type.getObjectType(name).getClassName()); } super.visitInnerClass(name, outerName, innerName, access); }
public String mapType(String type) { if (type == null) { return null; } return mapType(Type.getObjectType(type)).getInternalName(); }
@Override public ClassDependency resolveDependentClassNames(Resource resource, byte[] bytes) { ClassReader cr = new ClassReader(bytes); DependencyVisitor visitor = new DependencyVisitor(); cr.accept(visitor,0); String className = Type.getObjectType(cr.getClassName()).getClassName(); String superName = className.equals("java.lang.Object") ? null : Type.getObjectType(cr.getSuperName()).getClassName(); return new SimpleClassDependency(className, superName, visitor.innerClasses, visitor.allClasses); }
switch (insn.getOpcode()) { case ACONST_NULL: return newValue(Type.getObjectType("null")); case ICONST_M1: case ICONST_0: return BasicValue.DOUBLE_VALUE; } else if (cst instanceof String) { return newValue(Type.getObjectType("java/lang/String")); } else if (cst instanceof Type) { int sort = ((Type) cst).getSort(); if (sort == Type.OBJECT || sort == Type.ARRAY) { return newValue(Type.getObjectType("java/lang/Class")); } else if (sort == Type.METHOD) { return newValue(Type .getObjectType("java/lang/invoke/MethodType")); } else { throw new IllegalArgumentException("Illegal LDC constant " .getObjectType("java/lang/invoke/MethodHandle")); } else { throw new IllegalArgumentException("Illegal LDC constant " return newValue(Type.getType(((FieldInsnNode) insn).desc)); case NEW: return newValue(Type.getObjectType(((TypeInsnNode) insn).desc)); default: throw new Error("Internal error.");
@Override public void visitTypeInsn(final int opcode, final String type) { Type t = Type.getObjectType(type); switch (opcode) { case Opcodes.NEW: anew(t); break; case Opcodes.ANEWARRAY: newarray(t); break; case Opcodes.CHECKCAST: checkcast(t); break; case Opcodes.INSTANCEOF: instanceOf(t); break; default: throw new IllegalArgumentException(); } }
int j = 0; if (opcode != INVOKESTATIC && opcode != INVOKEDYNAMIC) { Type owner = Type.getObjectType(((MethodInsnNode) insn).owner); if (!isSubTypeOf(values.get(i++), newValue(owner))) { throw new AnalyzerException(insn, "Method owner",
typ = Type.DOUBLE_TYPE; } else if (t instanceof String) { typ = Type.getObjectType((String) t);
return new Double(Double.longBitsToDouble(readLong(index))); case ClassWriter.CLASS: return Type.getObjectType(readUTF8(index, buf)); case ClassWriter.STR: return readUTF8(index, buf);
private Type mapType(Type t) { switch (t.getSort()) { case Type.ARRAY: String s = mapDesc(t.getElementType().getDescriptor()); for (int i = 0; i < t.getDimensions(); ++i) { s = '[' + s; } return Type.getType(s); case Type.OBJECT: s = map(t.getInternalName()); return s != null ? Type.getObjectType(s) : t; case Type.METHOD: return Type.getMethodType(mapMethodDesc(t.getDescriptor())); } return t; }
return newValue(Type.getType("[" + Type.getObjectType(desc))); case ARRAYLENGTH: return BasicValue.INT_VALUE; case CHECKCAST: desc = ((TypeInsnNode) insn).desc; return newValue(Type.getObjectType(desc)); case INSTANCEOF: return BasicValue.INT_VALUE;
case GETFIELD: expected = newValue(Type .getObjectType(((FieldInsnNode) insn).owner)); break; case CHECKCAST: