/** * The routine which actually does the real bytecode transformation. this is public because it needs to be * callable from the type checker script. In normal running the javaagent is the only class which has a handle * on the registered transformer so it is the only one which can reach this point. * @param ruleScript the script * @param loader the loader of the class being injected into * @param className the name of the class being injected into * @param targetClassBytes the current class bytecode * @return the transformed bytecode or NULL if no transform was applied */ public byte[] transform(RuleScript ruleScript, ClassLoader loader, String className, byte[] targetClassBytes) { TransformContext transformContext = new TransformContext(this, ruleScript, className, loader, helperManager, accessEnabler); return transformContext.transform(targetClassBytes); }
/** * The routine which actually does the real bytecode transformation. this is public because it needs to be * callable from the type checker script. In normal running the javaagent is the only class which has a handle * on the registered transformer so it is the only one which can reach this point. * @param ruleScript the script * @param loader the loader of the class being injected into * @param className the name of the class being injected into * @param targetClassBytes the current class bytecode * @return the transformed bytecode or NULL if no transform was applied */ public byte[] transform(RuleScript ruleScript, ClassLoader loader, String className, byte[] targetClassBytes) { TransformContext transformContext = new TransformContext(this, ruleScript, className, loader, helperManager, accessEnabler); return transformContext.transform(targetClassBytes); }