private static void setupDirectCallPolicy(DirectCallPolicy newPolicy) { Vars vars = ALL_VARS.get(); try { if (newPolicy.checkForChange(vars.directCallPolicy)) { vars.directCallPolicy = newPolicy; } } catch (DirectCallException e) { vars.directCallPolicy = DirectCallPolicy.NOP; throw e; } }
public static boolean shouldCallDirectly(Object directInstance) { Vars vars = ALL_VARS.get(); try { return vars.directCallPolicy.shouldCallDirectly(directInstance); } catch (DirectCallException e) { vars.directCallPolicy = DirectCallPolicy.NOP; throw e; } }
@SuppressWarnings({"UnusedDeclaration"}) public static void onMethodInvocationFinish(final Object instance) { Vars vars = ALL_VARS.get(); vars.directCallPolicy = vars.directCallPolicy.onMethodInvocationFinished(instance); }