Class FinalFieldDefinition
- java.lang.Object
-
- soot.dava.toolkits.base.AST.transformations.FinalFieldDefinition
-
public class FinalFieldDefinition extends Object
This class makes sure there is an initialization of all final variables (static or non static). If we cant guarantee initialization (may be initialized on multiple paths but not all) then we remove the final keyword
-
-
Constructor Summary
Constructors Constructor Description FinalFieldDefinition(ASTMethodNode node)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidanalyzeMethod(ASTMethodNode node, List<SootField> varsOfInterest)voidassignDefault(ASTMethodNode node, SootField f)AugmentedStmtcreateDefaultStmt(Object field)ArrayList<SootField>findFinalFields()voidhandleAssignOnSomePaths(ASTMethodNode node, SootField field, List defs)
-
-
-
Constructor Detail
-
FinalFieldDefinition
public FinalFieldDefinition(ASTMethodNode node)
-
-
Method Detail
-
analyzeMethod
public void analyzeMethod(ASTMethodNode node, List<SootField> varsOfInterest)
-
assignDefault
public void assignDefault(ASTMethodNode node, SootField f)
-
createDefaultStmt
public AugmentedStmt createDefaultStmt(Object field)
-
handleAssignOnSomePaths
public void handleAssignOnSomePaths(ASTMethodNode node, SootField field, List defs)
-
-