private IntSet bits(PropagationSystem system) { IntSet f = null; for(IClass cls : concreteType) { if (f == null) { f = system.getInstanceKeysForClass(cls); } else { f = f.union(system.getInstanceKeysForClass(cls)); } } return f; }
private IntSet bits(PropagationSystem system) { IntSet f = null; for(IClass cls : concreteType) { if (f == null) { f = system.getInstanceKeysForClass(cls); } else { f = f.union(system.getInstanceKeysForClass(cls)); } } return f; }
@Override public IntSet getRelevantParameters(CGNode caller, CallSiteReference site) { return A.getRelevantParameters(caller, site).union(B.getRelevantParameters(caller, site)); }
@Override public IntSet getRelevantParameters(CGNode caller, CallSiteReference site) { return A.getRelevantParameters(caller, site).union(B.getRelevantParameters(caller, site)); }
@Override public IntSet getRelevantParameters(CGNode caller, CallSiteReference site) { return specialPolicy.getRelevantParameters(caller, site).union(basePolicy.getRelevantParameters(caller, site)); }
@Override public IntSet getRelevantParameters(CGNode caller, CallSiteReference site) { return specialPolicy.getRelevantParameters(caller, site).union(basePolicy.getRelevantParameters(caller, site)); }
@Override public IntSet getRelevantParameters(CGNode caller, CallSiteReference site) { return A.getRelevantParameters(caller, site).union(B.getRelevantParameters(caller, site)); }
private static IUnaryFlowFunction union(final IUnaryFlowFunction g, final IUnaryFlowFunction h) { return d1 -> g.getTargets(d1).union(h.getTargets(d1)); }
@Override public IntSet getRelevantParameters(CGNode caller, CallSiteReference site) { return A.getRelevantParameters(caller, site).union(B.getRelevantParameters(caller, site)); }
/** * Creates the union of two ordinal sets. * * @param A ordinal set a * @param B ordinal set b * @return union of a and b * @throws IllegalArgumentException iff A or B is null */ public static <T> OrdinalSet<T> unify(OrdinalSet<T> A, OrdinalSet<T> B) { if (A == null) { throw new IllegalArgumentException("A is null"); } if (B == null) { throw new IllegalArgumentException("B is null"); } if (A.size() != 0 && B.size() != 0) { assert A.mapping.equals(B.mapping); } if (A.S == null) { return (B.S == null) ? OrdinalSet.<T> empty() : new OrdinalSet<>(B.S, B.mapping); } else if (B.S == null) { return new OrdinalSet<>(A.S, A.mapping); } IntSet union = A.S.union(B.S); return new OrdinalSet<>(union, A.mapping); }
/** * Creates the union of two ordinal sets. * * @param A ordinal set a * @param B ordinal set b * @return union of a and b * @throws IllegalArgumentException iff A or B is null */ public static <T> OrdinalSet<T> unify(OrdinalSet<T> A, OrdinalSet<T> B) { if (A == null) { throw new IllegalArgumentException("A is null"); } if (B == null) { throw new IllegalArgumentException("B is null"); } if (A.size() != 0 && B.size() != 0) { assert A.mapping.equals(B.mapping); } if (A.S == null) { return (B.S == null) ? OrdinalSet.<T> empty() : new OrdinalSet<>(B.S, B.mapping); } else if (B.S == null) { return new OrdinalSet<>(A.S, A.mapping); } IntSet union = A.S.union(B.S); return new OrdinalSet<>(union, A.mapping); }
/** * Creates the union of two ordinal sets. * * @param A ordinal set a * @param B ordinal set b * @return union of a and b * @throws IllegalArgumentException iff A or B is null */ public static <T> OrdinalSet<T> unify(OrdinalSet<T> A, OrdinalSet<T> B) { if (A == null) { throw new IllegalArgumentException("A is null"); } if (B == null) { throw new IllegalArgumentException("B is null"); } if (A.size() != 0 && B.size() != 0) { assert A.mapping.equals(B.mapping); } if (A.S == null) { return (B.S == null) ? OrdinalSet.<T> empty() : new OrdinalSet<>(B.S, B.mapping); } else if (B.S == null) { return new OrdinalSet<>(A.S, A.mapping); } IntSet union = A.S.union(B.S); return new OrdinalSet<>(union, A.mapping); }