public static boolean isWaiver(String className, String methodName) { return waivers.contains(new Pair<String, String>(className, methodName)); } }
@SuppressWarnings("WeakerAccess") public static void addWaiver(String className, String methodName) { waivers.add(new Pair<>(className, methodName)); }
public static void addWaiver(String className, String methodName) { waivers.add(new Pair<String, String>(className, methodName)); }
private static void addPattern(List<Pair<String, String>> ret, String p, String type) { if (p != null) { @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") final Pair<String, String> entry = new Pair<>(p, type); if (p.endsWith("*") || p.startsWith("*.") || p.equals("/")) // Wildcard -> end ret.add(entry); else // Exact -> beginning ret.add(0, entry); } }
public static boolean isWaiver(String className, String methodName) { return className.startsWith("java.lang.reflect") || className.startsWith("sun.reflect") || className.startsWith("com.sun.proxy") || className.contains("$ByteBuddy$") || (className.equals("co.paralleluniverse.strands.SuspendableUtils$VoidSuspendableCallable") && methodName.equals("run")) || (className.equals("co.paralleluniverse.strands.dataflow.Var") && methodName.equals("set")) || waivers.contains(new Pair<>(className, methodName)); }
public static Pair<Boolean, Instrumented> isCallSiteInstrumented(/*Executable*/ Member m, int sourceLine, int bci, ExtendedStackTraceElement[] stes, int currentSteIdx) { if (m == null) return new Pair<>(false, null); return new Pair<>(true, null); return new Pair<>(true, null); } else { final Instrumented i = getAnnotation(m, Instrumented.class); if (i == null) return new Pair<>(false, i); for (String callsite : i.suspendableCallSiteNames()) { if (callsite.contains(methodName)) { return new Pair(true, i); final Class<?> owner = callee.getDeclaringClass(); if (declareInCommonAncestor(nameAndDescSuffix, owner, callsiteOwner)) { return new Pair(true, i); for (int j : scs) { if (j == bci) return new Pair<>(true, i); for (int j : scs) { if (j == sourceLine) return new Pair<>(true, i); return new Pair<>(false, i);
actions.addAll(enabledActions); selector.set(new Pair(new Selector<>(true, actions), newStates));
private static Class<? extends Server> getProxyClass(Class<?>[] interfaces, boolean callOnVoidMethods) { final Pair<Set<Class<?>>, Boolean> key = new Pair(ImmutableSet.copyOf(interfaces), callOnVoidMethods); Class<? extends Server> clazz = classes.get(key); if (clazz == null) { clazz = new ByteBuddy() // http://bytebuddy.net/ .subclass(Server.class) .implement(interfaces) .implement(java.io.Serializable.class) .method(isDeclaredBy(anyOf(interfaces))).intercept(InvocationHandlerAdapter.of(callOnVoidMethods ? handler1 : handler2)) .make() .load(ProxyServerActor.class.getClassLoader(), ClassLoadingStrategy.Default.WRAPPER).getLoaded(); final Class<? extends Server> old = classes.putIfAbsent(key, clazz); if (old != null) clazz = old; } return clazz; }
@SuppressWarnings("unchecked") private Pair<ActorRef<? extends WebMessage>, Class<? extends ActorImpl<? extends WebMessage>>> autoCreateActor(FullHttpRequest req) { registerActorClasses(); final String uri = req.getUri(); for (final Class<?> c : actorClasses) { if (WebActorHandler.handlesWithHttp(uri, c) || WebActorHandler.handlesWithWebSocket(uri, c)) return new Pair<ActorRef<? extends WebMessage>, Class<? extends ActorImpl<? extends WebMessage>>>( Actor.newActor ( new ActorSpec(c, actorParams != null ? actorParams.get(c) : EMPTY_OBJECT_ARRAY) ).spawn(), (Class<? extends ActorImpl<? extends WebMessage>>) c ); } return null; }
@Override public void run() throws SuspendExecution, InterruptedException { // Get first input S s = from.receive(); while (s != null) { final Channel<Channel<T>> resultWrapper = Channels.newChannel(1, Channels.OverflowPolicy.BLOCK, true, true); jobs.send(new Pair<>(s, resultWrapper)); results.send(resultWrapper); // Get next input s = from.receive(); } // No more inputs, close jobs channel and quit jobs.close(); } })).start();