| 
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectdk.brics.string.java.Jimple2Intermediate
public class Jimple2Intermediate
Converter from Jimple code to intermediate representation.
Basic rundown of the translation process:Method objects with empty bodies for each
 method in the application.
 MethodTranslator for an overview how how step four is executed.
StringAnalysis, 
MethodTranslator| Constructor Summary | |
|---|---|
Jimple2Intermediate(ExternalVisibility ext)
Deprecated.  | 
|
Jimple2Intermediate(ExternalVisibility ext,
                    Collection<? extends Resolver> resolvers)
Deprecated.  | 
|
Jimple2Intermediate(Jimple2IntermediateFactory af)
 | 
|
Jimple2Intermediate(TaintAnalysisStrategy taintAnalysisStrategy,
                    Collection<? extends Resolver> resolvers,
                    ExternalVisibility ext)
Deprecated.  | 
|
| Method Summary | |
|---|---|
 VariableType | 
fromSootType(Type type)
Given the static type of a variable, returns the most specific variable type we can assign to it.  | 
 Application | 
getApplication()
 | 
 Map<ValueBox,String> | 
getClassNameMap()
Returns class name for each expression.  | 
 Variable | 
getExpressionVariable(Value value)
Returns the variable holding the result of the specified expression.  | 
 Automaton | 
getFieldType(SootField field)
Returns the static string type of the specified field, or null if the field has no static string type.  | 
 Map<ValueBox,Integer> | 
getLineNumberMap()
Returns line number for each expression.  | 
 Method | 
getMethod(SootMethod method)
Returns the intermediate method definition corresponding to the specified Soot method, or null if the method is external.  | 
 Method | 
getMethod(String signature)
Returns the method object for the given signature.  | 
 Map<ValueBox,String> | 
getMethodNameMap()
Returns method name for each expression.  | 
 Automaton | 
getMethodReturnType(SootMethod method)
Returns the static string type of the specified method's return value, or null if the return value has no static string type.  | 
 int | 
getNumberOfExpsSkipped()
Returns the number of string constants that have been skipped because they are non-hotspot arguments to non-application class methods.  | 
 Variable | 
getParameter(SootMethod sm,
             int index)
Returns the parameter variable for the given relevant-arg number in the current method.  | 
 Variable | 
getParameter(SootMethod sm,
             ParameterRef ref)
Returns the variable corresponding to a soot parameter reference  | 
 Automaton | 
getParameterType(SootMethod method,
                 int paramIndex)
Returns the static string type of the nth parameter to the specified method, or null if the parameter has no static string type.  | 
 int[] | 
getRelevantArgNumbers(String signature)
Returns the relevant-arg numbers for the given method.  | 
 Map<ValueBox,String> | 
getSourceFileMap()
Returns source file name for each expression.  | 
 TaintAnalysisStrategy | 
getTaintAnalysisStrategy()
 | 
 List<SootMethod> | 
getTargetsOf(InstanceInvokeExpr expr)
Gets a list of possible targets for the specified invocation.  | 
 Map<SootClass,StringStatement> | 
getToStringHotspotMap()
Returns hotspots for toString methods. | 
 Method | 
getToStringMethod(SootClass c)
Returns the intermediate method representing the specified non-interface class's toString method.  | 
 Map<ValueBox,Statement> | 
getTranslationMap()
Returns the translation map.  | 
 Automaton | 
getTypeAutomaton(Type t)
 | 
 VariableManager | 
getVariableManager()
 | 
 boolean | 
isApplicationClass(SootClass c)
Checks whether the given class is an application class.  | 
 boolean | 
isHotspot(ValueBox expr)
Returns true if the specified value is marked as a hotspot.  | 
 boolean | 
isSubtypeOf(SootClass a,
            SootClass b)
Returns true if the first argument is a type that extends, implements, or equals the second argument.  | 
 void | 
setExpressionVariable(Value value,
                      Variable variable)
Reports that the specified expression was evaluated and stored in the specified intermediate variable.  | 
 Application | 
translateApplicationClasses()
Translates the application classes considering all expressions as hotspots.  | 
 Application | 
translateApplicationClasses(Collection<ValueBox> hotspots)
Translates the application classes considering the given expressions as hotspots.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
@Deprecated public Jimple2Intermediate(ExternalVisibility ext)
@Deprecated
public Jimple2Intermediate(ExternalVisibility ext,
                                      Collection<? extends Resolver> resolvers)
public Jimple2Intermediate(Jimple2IntermediateFactory af)
@Deprecated
public Jimple2Intermediate(TaintAnalysisStrategy taintAnalysisStrategy,
                                      Collection<? extends Resolver> resolvers,
                                      ExternalVisibility ext)
| Method Detail | 
|---|
public VariableType fromSootType(Type type)
fromSootType in interface TranslationContexttype - a soot type
VariableType.NULL are never returned.public Application getApplication()
getApplication in interface TranslationContextpublic Map<ValueBox,String> getClassNameMap()
public Variable getExpressionVariable(Value value)
TranslationContext
getExpressionVariable in interface TranslationContextvalue - a jimple expression
public Automaton getFieldType(SootField field)
StaticStringTypes
getFieldType in interface StaticStringTypesfield - a field
public Map<ValueBox,Integer> getLineNumberMap()
public Method getMethod(SootMethod method)
TranslationContext
getMethod in interface TranslationContextpublic Method getMethod(String signature)
public Map<ValueBox,String> getMethodNameMap()
public Automaton getMethodReturnType(SootMethod method)
StaticStringTypes
getMethodReturnType in interface StaticStringTypesmethod - a soot method
public int getNumberOfExpsSkipped()
public Variable getParameter(SootMethod sm,
                             int index)
public Variable getParameter(SootMethod sm,
                             ParameterRef ref)
TranslationContext
getParameter in interface TranslationContext
public Automaton getParameterType(SootMethod method,
                                  int paramIndex)
StaticStringTypes
getParameterType in interface StaticStringTypesmethod - a soot methodparamIndex - index of the parameter
public int[] getRelevantArgNumbers(String signature)
public Map<ValueBox,String> getSourceFileMap()
public TaintAnalysisStrategy getTaintAnalysisStrategy()
public List<SootMethod> getTargetsOf(InstanceInvokeExpr expr)
TranslationContext
getTargetsOf in interface TranslationContextpublic Map<SootClass,StringStatement> getToStringHotspotMap()
toString methods.
public Method getToStringMethod(SootClass c)
TranslationContext
getToStringMethod in interface TranslationContextc - an application class that is not an interface.
public Map<ValueBox,Statement> getTranslationMap()
translateApplicationClasses
 must be called first.
public Automaton getTypeAutomaton(Type t)
public VariableManager getVariableManager()
getVariableManager in interface TranslationContextpublic boolean isApplicationClass(SootClass c)
public boolean isHotspot(ValueBox expr)
TranslationContext
isHotspot in interface TranslationContext
public boolean isSubtypeOf(SootClass a,
                           SootClass b)
TranslationContext
isSubtypeOf in interface TranslationContext
public void setExpressionVariable(Value value,
                                  Variable variable)
TranslationContext
setExpressionVariable in interface TranslationContextvalue - a jimple expressionvariable - an intermediate variablepublic Application translateApplicationClasses()
public Application translateApplicationClasses(Collection<ValueBox> hotspots)
  | 
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||