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

java.lang.Object
  extended bysoot.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 varsOfInterest)
           
 void assignDefault(ASTMethodNode node, SootField f)
           
 AugmentedStmt createDefaultStmt(Object field)
           
 ArrayList 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 findFinalFields()

analyzeMethod

public void analyzeMethod(ASTMethodNode node,
                          List 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)