protected static boolean isDumpGeneratedClasses() { if (allowConfigUpdate()) { synchronized (configLock) { return dumpGeneratedClasses; } } return dumpGeneratedClasses; }
@Override public AccessibleMethodInvoker createMethodInvoker(Method method) { return createMethodInvoker(method, false); }
public TransformSet lookupTransformSet(ClassLoader loader, String triggerClass) { for (TransformSet transformSet : transformSets) { if (transformSet.isFor(loader, triggerClass)) { return transformSet; } } return null; }
public static void maybeDumpClassIntermediate(String fullName, byte[] bytes) { if (isDumpGeneratedClassesIntermediate()) { dumpClass(fullName, bytes, true); } }
public static void agentmain(String args, Instrumentation inst) throws Exception { premain(args, inst); } /**
@Override public AccessibleFieldGetter createFieldGetter(Field field) { return createFieldGetter(field, false); }
protected String getCommonSuperClass(final String type1, final String type2) { // if we always return Object we cannot go wrong return context.findLeastCommonSuper(type1, type2); } };
/** * enable triggering of rules inside the current thread. this is called internally by the rule * engine after rule execution has completed. it will re-enable triggers even if they have been * switched off by an earlier call to userDisableTriggers. It is also called by the default helper * to reverse the effect of calling userDisableTriggers. * @return true if triggering was previously enabled and false if it was already disabled */ public static boolean enableTriggers() { return Transformer.enableTriggers(true); }
/** * retrieve the name of the file containing this rule * @return the name of the file containing this rule */ public String getFile() { return ruleScript.getFile(); }
/** * disable triggering of rules inside the current thread. this is the version which should be * called from a Helper class to ensure that subsequent method invocatiosn during execution of * the current rule bindings, condition or action do not recursively trigger rules. It ensures * that subsequent calls to enableTriggers have no effect. The effect lasts until the end of * processing for the current rule when resetTriggers is called. * @return true if triggering was previously enabled and false if it was already disabled */ public static boolean disableTriggers() { return Transformer.disableTriggers(true); }
private TransformListener(Retransformer retransformer) { this.retransformer = retransformer; setDaemon(true); }
/** * retrieve the start line for the rule * @return the start line for the rule */ public int getLine() { return ruleScript.getLine(); }
protected boolean injectIntoMethod(String name, String desc) { // if the check adapter matched successfully then there will be a rule in place // for this method and descriptor return (transformContext.injectIntoMethod(name, desc)); }
@Override public byte[] apply(String s) { return JigsawAccessEnablerGenerator.getJigsawClassBytes(s); } });
protected static boolean isDumpGeneratedClasses() { if (allowConfigUpdate()) { synchronized (configLock) { return dumpGeneratedClasses; } } return dumpGeneratedClasses; }
@Override public AccessibleMethodInvoker createMethodInvoker(Method method) { return createMethodInvoker(method, false); }
public TransformSet lookupTransformSet(ClassLoader loader, String triggerClass) { for (TransformSet transformSet : transformSets) { if (transformSet.isFor(loader, triggerClass)) { return transformSet; } } return null; }
@Override public AccessibleFieldGetter createFieldGetter(Field field) { return createFieldGetter(field, false); }
protected static String getDumpGeneratedClassesDir() { if (allowConfigUpdate()) { synchronized (configLock) { return dumpGeneratedClassesDir; } } return dumpGeneratedClassesDir; }
protected static boolean isDumpGeneratedClassesIntermediate() { if (allowConfigUpdate()) { synchronized (configLock) { return dumpGeneratedClassesIntermediate; } } return dumpGeneratedClassesIntermediate; }