/** * Inserts hooks for intercepting accesses to the fields declared * in reflective classes. */ public void onLoad(ClassPool pool, String classname) throws CannotCompileException, NotFoundException { CtClass clazz = pool.get(classname); clazz.instrument(converter); }
/** * Inserts hooks for intercepting accesses to the fields declared * in reflective classes. */ @Override public void onLoad(ClassPool pool, String classname) throws CannotCompileException, NotFoundException { CtClass clazz = pool.get(classname); clazz.instrument(converter); }
/** * Inserts hooks for intercepting accesses to the fields declared * in reflective classes. */ public void onLoad(ClassPool pool, String classname) throws CannotCompileException, NotFoundException { CtClass clazz = pool.get(classname); clazz.instrument(converter); }
/** * Inserts hooks for intercepting accesses to the fields declared * in reflective classes. */ public void onLoad(ClassPool pool, String classname) throws CannotCompileException, NotFoundException { CtClass clazz = pool.get(classname); clazz.instrument(converter); }
/** * Inserts hooks for intercepting accesses to the fields declared * in reflective classes. */ public void onLoad(ClassPool pool, String classname) throws CannotCompileException, NotFoundException { CtClass clazz = pool.get(classname); clazz.instrument(converter); }
/** * Inserts hooks for intercepting accesses to the fields declared * in reflective classes. */ public void onLoad(ClassPool pool, String classname) throws CannotCompileException, NotFoundException { CtClass clazz = pool.get(classname); clazz.instrument(converter); }
/** * Inserts hooks for intercepting accesses to the fields declared * in reflective classes. */ public void onLoad(ClassPool pool, String classname) throws CannotCompileException, NotFoundException { CtClass clazz = pool.get(classname); clazz.instrument(converter); }
private void skipAWTInstantiations(final CtClass clazz) throws CannotCompileException clazz.instrument(new ExprEditor() {
private void skipAWTInstantiations(final CtClass clazz) throws CannotCompileException clazz.instrument(new ExprEditor() {
protected void replaceFieldAccessInternally(CtClass clazz, CtField field, boolean doGet, boolean doSet, int index) throws CannotCompileException { NonOptimizedFieldAccessExprEditor expr = new NonOptimizedFieldAccessExprEditor(clazz, field, doGet, doSet, index); clazz.instrument(expr); }
protected void replaceFieldAccessInternally(CtClass clazz, CtField field, boolean doGet, boolean doSet, int index) throws CannotCompileException { OptimizedFieldAccessExprEditor expr = new OptimizedFieldAccessExprEditor(clazz, field, doGet, doSet, index); clazz.instrument(expr); }
protected void replaceFieldAccessInternally(CtClass clazz, CtField field, boolean doGet, boolean doSet, int index) throws CannotCompileException { GeneratedAdvisorFieldAccessExprEditor expr = new GeneratedAdvisorFieldAccessExprEditor(clazz, field, doGet, doSet, index); clazz.instrument(expr); }
@Override public CtClass transform(final CtClass clazz) throws CannotCompileException { clazz.instrument(new PowerMockExpressionEditor(getStrategy(), clazz, mockGetawayClass)); return clazz; } }
CtClass cl = ClassPool.getDefault().get(caller.getName()); ctClasses.add(cl); cl.instrument(new ExprEditor() { @Override public void edit(MethodCall called) {
ClassPool classpool = ClassPool.getDefault(); CtClass ctClass = classpool.get(Class1.class.getName()); CtField field = ctClass.getField("strCompany"); CodeConverter codeConverter = new CodeConverter(); codeConverter.redirectFieldAccess(field, ctClass, "strCompany2"); ctClass.instrument(codeConverter); field.setName("strCompany2"); ctClass.writeFile("./injectedClasses");
cc.instrument(new ExprEditor() {
@Override protected void applyTransformations(final CtClass classToTransform) throws Exception { if (null == classToTransform) { return; } classToTransform.instrument(new ExprEditor() { @Override public void edit(final MethodCall m) throws CannotCompileException { final String statement = getStatement(m.getClassName(), m.getMethodName()); if (statement != null) { try { m.replace(statement); } catch (final CannotCompileException e) { throw new CannotCompileException(String.format( "Compile statement '%1$s' FAILED with: %2$s", statement, e.getMessage()), e); } } } }); // insert internal introspection state field final CtField introspectedField = new CtField(CtClass.booleanType, ALREADY_INTROSPECTED_FIELD_NAME, classToTransform); introspectedField.setModifiers(AccessFlag.PUBLIC | AccessFlag.STATIC | AccessFlag.FINAL); classToTransform .addField(introspectedField, Initializer.constant(true)); }
clazz.instrument(converter); clazz.instrument(editor);
if (!update.isEmpty()) clazz.instrument(converter); classes.add(clazz); byte[] previousByteCode = clazz.toBytecode(); clazz.defrost(); clazz.instrument(converter); if (!java.util.Arrays.equals(clazz.toBytecode(), previousByteCode))
byte[] previousByteCode = processedClass.toBytecode(); processedClass.defrost(); processedClass.instrument(codeConverter); byte[] updatedByteCode = processedClass.toBytecode(); if (!java.util.Arrays.equals(updatedByteCode, previousByteCode))