@Override public Pair<Double, Double> getCost(NumberedGraph<PlanNode> g) { // TODO: Provide a better cost estimate return Pair.make(0.0, 0.0); }
public static <T,U> Pair<T, U> make(T x, U y) { return new Pair<>(x,y); } }
private QueryTripleNode() { queryTriple = null; accessMethod = -1; pattern = null; cost = Pair.make(Double.MAX_VALUE, Double.MAX_VALUE); id = 0; }
public static <T,U> Pair<T, U> make(T x, U y) { return new Pair<>(x,y); } }
@Override public Pair<Double, Double> getCost(NumberedGraph<PlanNode> g) { return Pair.make(1.0, 1.0); // cost is negligible here, reflected by 1.0 (0 cannot be used) } }
public static <T,U> Pair<T, U> make(T x, U y) { return new Pair<>(x,y); } }
@Override public Pair<Double, Double> getCost(NumberedGraph<PlanNode> g) { return Pair.make(1.0, 1.0); }
public Pair<String,String> getName() { return Pair.make(variableName, variableDefiner); }
/** * Return the set of edge labels for the control flow edges that cause the given edge in the CDG. Requires that the CDG be * constructed with wantEdgeLabels being true. */ public Set<? extends Object> getEdgeLabels(T from, T to) { return edgeLabels.get(Pair.make(from, to)); }
/** * Return the set of edge labels for the control flow edges that cause the given edge in the CDG. Requires that the CDG be * constructed with wantEdgeLabels being true. */ public Set<? extends Object> getEdgeLabels(T from, T to) { return edgeLabels.get(Pair.make(from, to)); }
@Override public void invalidate(IMethod method, Context c) { dictionary.remove(Pair.make(method, c)); } }
@Override public void invalidate(IMethod method, Context c) { dictionary.remove(Pair.make(method, c)); } }
/** * Was the fact number i named at node s_p introduced as an "unbalanced" seed during partial tabulation? * If so, any facts "reached" from here can be further propagated with unbalanced parens. */ private boolean wasUsedAsUnbalancedSeed(T s_p, int i) { return unbalancedSeeds.contains(Pair.make(s_p, i)); }
/** * Was the fact number i named at node s_p introduced as an "unbalanced" seed during partial tabulation? * If so, any facts "reached" from here can be further propagated with unbalanced parens. */ private boolean wasUsedAsUnbalancedSeed(T s_p, int i) { return unbalancedSeeds.contains(Pair.make(s_p, i)); }