/** * Constructs a ParameterRef(SootMethod, int) grammar chunk. */ public ParameterRef newParameterRef(Type paramType, int number) { return new ParameterRef(paramType, number); }
/** * Constructs a ParameterRef(SootMethod, int) grammar chunk. */ public ParameterRef newParameterRef(Type paramType, int number) { return new ParameterRef(paramType, number); }
/** Create a new ParameterRef object with the same paramType and number. */ public Object clone() { return new ParameterRef(paramType, n); }
public static EquivalentValue getNodeForParameterRef(SootMethod sm, int i) { return new CachedEquivalentValue(new ParameterRef(sm.getParameterType(i), i)); }
public static EquivalentValue getNodeForReturnRef(SootMethod sm) { return new CachedEquivalentValue(new ParameterRef(sm.getReturnType(), -1)); }
returnValueRef = new ParameterRef(sm.getReturnType(), -1); dataFlowGraph.addNode(InfoFlowAnalysis.getNodeForReturnRef(sm));
/** A constructor that doesn't run the analysis */ protected SimpleMethodInfoFlowAnalysis(UnitGraph g, InfoFlowAnalysis dfa, boolean ignoreNonRefTypeFlow, boolean dummyDontRunAnalysisYet) { super(g); this.sm = g.getBody().getMethod(); if (sm.isStatic()) { this.thisLocal = null; } else { this.thisLocal = g.getBody().getThisLocal(); } this.dfa = dfa; this.refOnly = ignoreNonRefTypeFlow; this.infoFlowGraph = new MemoryEfficientGraph<EquivalentValue>(); this.returnRef = new ParameterRef(g.getBody().getMethod().getReturnType(), -1); // it's a dummy parameter ref this.entrySet = new ArraySparseSet<Pair<EquivalentValue, EquivalentValue>>(); this.emptySet = new ArraySparseSet<Pair<EquivalentValue, EquivalentValue>>(); printMessages = false; }
returnValueRef = new ParameterRef(sm.getReturnType(), -1); dataFlowGraph.addNode(InfoFlowAnalysis.getNodeForReturnRef(sm));
this.infoFlowSummary = new MemoryEfficientGraph<EquivalentValue>(); this.returnRef = new ParameterRef(g.getBody().getMethod().getReturnType(), -1); // it's a dummy parameter ref
/** Constructs a ParameterRef(SootMethod, int) grammar chunk. */ public ParameterRef newParameterRef(Type paramType, int number) { return new ParameterRef(paramType, number); }
/** Create a new ParameterRef object with the same paramType and number. */ public Object clone() { return new ParameterRef(paramType, n); }
/** Constructs a ParameterRef(SootMethod, int) grammar chunk. */ public ParameterRef newParameterRef(Type paramType, int number) { return new ParameterRef(paramType, number); }
/** Create a new ParameterRef object with the same paramType and number. */ public Object clone() { return new ParameterRef(paramType, n); }
public static EquivalentValue getNodeForReturnRef(SootMethod sm) { return new CachedEquivalentValue(new ParameterRef(sm.getReturnType(), -1)); }
public static EquivalentValue getNodeForParameterRef(SootMethod sm, int i) { return new CachedEquivalentValue(new ParameterRef(sm.getParameterType(i), i)); }
public static EquivalentValue getNodeForParameterRef(SootMethod sm, int i) { return new CachedEquivalentValue(new ParameterRef(sm.getParameterType(i), i)); }
public static EquivalentValue getNodeForReturnRef(SootMethod sm) { return new CachedEquivalentValue(new ParameterRef(sm.getReturnType(), -1)); }
if(sm.getReturnType() != VoidType.v()) returnValueRef = new ParameterRef(sm.getReturnType(), -1); dataFlowGraph.addNode(InfoFlowAnalysis.getNodeForReturnRef(sm));
/** A constructor that doesn't run the analysis */ protected SimpleMethodInfoFlowAnalysis(UnitGraph g, InfoFlowAnalysis dfa, boolean ignoreNonRefTypeFlow, boolean dummyDontRunAnalysisYet) { super(g); this.sm = g.getBody().getMethod(); if(sm.isStatic()) this.thisLocal = null; else this.thisLocal = g.getBody().getThisLocal(); this.dfa = dfa; this.refOnly = ignoreNonRefTypeFlow; this.infoFlowGraph = new MemoryEfficientGraph(); this.returnRef = new ParameterRef(g.getBody().getMethod().getReturnType(), -1); // it's a dummy parameter ref this.entrySet = new ArraySparseSet(); this.emptySet = new ArraySparseSet(); printMessages = false; }
/** A constructor that doesn't run the analysis */ protected SimpleMethodInfoFlowAnalysis(UnitGraph g, InfoFlowAnalysis dfa, boolean ignoreNonRefTypeFlow, boolean dummyDontRunAnalysisYet) { super(g); this.sm = g.getBody().getMethod(); if(sm.isStatic()) this.thisLocal = null; else this.thisLocal = g.getBody().getThisLocal(); this.dfa = dfa; this.refOnly = ignoreNonRefTypeFlow; this.infoFlowGraph = new MemoryEfficientGraph(); this.returnRef = new ParameterRef(g.getBody().getMethod().getReturnType(), -1); // it's a dummy parameter ref this.entrySet = new ArraySparseSet(); this.emptySet = new ArraySparseSet(); printMessages = false; }