soot.dava.toolkits.base.AST.transformations
Class FinalFieldDefinition

java.lang.Object
  extended by soot.dava.toolkits.base.AST.transformations.FinalFieldDefinition

public class FinalFieldDefinition
extends Object

CHANGE LOG: 30th January 2006: Class was created to get rid of the field might not be initialized error that used to show up when recompiling decompiled code Will be throughly covered in "Programmer Friendly Code" Sable Tech Report (2006)


Constructor Summary
FinalFieldDefinition(ASTMethodNode node)
           
 
Method Summary
 void analyzeMethod(ASTMethodNode node, List<SootField> varsOfInterest)
           
 void assignDefault(ASTMethodNode node, SootField f)
           
 AugmentedStmt createDefaultStmt(Object field)
           
 ArrayList<SootField> findFinalFields()
           
 void handleAssignOnSomePaths(ASTMethodNode node, SootField field, List defs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FinalFieldDefinition

public FinalFieldDefinition(ASTMethodNode node)
Method Detail

findFinalFields

public ArrayList<SootField> findFinalFields()

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)