|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.ibm.wala.cast.tree.visit.CAstVisitor
com.ibm.wala.cast.ir.translator.AstTranslator
com.ibm.wala.cast.java.translator.JavaCAst2IRTranslator
public class JavaCAst2IRTranslator
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class com.ibm.wala.cast.ir.translator.AstTranslator |
|---|
AstTranslator.AstCFG, AstTranslator.AstLexicalInformation, AstTranslator.DefaultContext, AstTranslator.FinalCAstSymbol, AstTranslator.IncipientCFG, AstTranslator.PreBasicBlock, AstTranslator.Scope, AstTranslator.Symbol, AstTranslator.UnwindState, AstTranslator.WalkContext |
| Nested classes/interfaces inherited from class com.ibm.wala.cast.tree.visit.CAstVisitor |
|---|
CAstVisitor.Context |
| Field Summary |
|---|
| Fields inherited from class com.ibm.wala.cast.ir.translator.AstTranslator |
|---|
DEBUG_ALL, DEBUG_CFG, DEBUG_LEXICAL, DEBUG_NAMES, DEBUG_TOP, loader |
| Constructor Summary | |
|---|---|
JavaCAst2IRTranslator(CAstEntity sourceFileEntity,
JavaSourceLoaderImpl loader)
|
|
| Method Summary | |
|---|---|
protected java.lang.String |
composeEntityName(AstTranslator.WalkContext parent,
CAstEntity f)
|
protected void |
declareFunction(CAstEntity N,
AstTranslator.WalkContext definingContext)
|
protected TypeReference |
defaultCatchType()
|
protected void |
defineField(CAstEntity topEntity,
AstTranslator.WalkContext definingContext,
CAstEntity n)
|
protected void |
defineFunction(CAstEntity N,
AstTranslator.WalkContext definingContext,
AbstractCFG cfg,
SymbolTable symtab,
boolean hasCatchBlock,
TypeReference[][] caughtTypes,
AstMethod.LexicalInformation lexicalInfo,
AstMethod.DebuggingInformation debugInfo)
|
protected void |
defineType(CAstEntity type,
AstTranslator.WalkContext wc)
|
protected void |
doArrayRead(AstTranslator.WalkContext context,
int result,
int arrayValue,
CAstNode arrayRefNode,
int[] dimValues)
|
protected void |
doArrayWrite(AstTranslator.WalkContext context,
int arrayValue,
CAstNode arrayRefNode,
int[] dimValues,
int rval)
|
protected void |
doCall(AstTranslator.WalkContext context,
CAstNode call,
int result,
int exception,
CAstNode name,
int receiver,
int[] arguments)
|
protected void |
doFieldRead(AstTranslator.WalkContext context,
int result,
int receiver,
CAstNode elt,
CAstNode parent)
|
protected void |
doFieldWrite(AstTranslator.WalkContext context,
int receiver,
CAstNode elt,
CAstNode parent,
int rval)
|
protected void |
doGlobalRead(AstTranslator.WalkContext context,
int result,
java.lang.String name)
|
protected void |
doGlobalWrite(AstTranslator.WalkContext context,
java.lang.String name,
int rval)
|
protected void |
doMaterializeFunction(AstTranslator.WalkContext context,
int result,
int exception,
CAstEntity fn)
|
protected void |
doNewObject(AstTranslator.WalkContext context,
CAstNode newNode,
int result,
java.lang.Object type,
int[] arguments)
|
protected void |
doPrimitive(int resultVal,
AstTranslator.WalkContext context,
CAstNode primitiveCall)
|
protected void |
doThrow(AstTranslator.WalkContext context,
int exception)
|
protected boolean |
doVisit(CAstNode n,
CAstVisitor.Context context,
CAstVisitor visitor)
Node processing hook; sub-classes are expected to override if they introduce new node types. |
protected boolean |
hasImplicitGlobals()
If this returns true, new global declarations get created for any attempt to access a non-existent variable (believe it or not, JavaScript actually does this!) |
protected void |
leaveCast(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
Leave a Cast node. |
protected void |
leaveInstanceOf(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
Leave an InstanceOf node. |
protected void |
leaveThis(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
Leave a This node. |
JavaSourceLoaderImpl |
loader()
|
protected TypeReference |
makeType(CAstType type)
|
CAstEntity |
sourceFileEntity()
|
void |
translate()
|
protected boolean |
treatGlobalsAsLexicallyScoped()
|
protected boolean |
useDefaultInitValues()
|
protected boolean |
useLocalValuesForLexicalVars()
|
protected boolean |
visitCast(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
Visit a Cast node. |
protected boolean |
visitInstanceOf(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
Visit an InstanceOf node. |
| Methods inherited from class com.ibm.wala.cast.tree.visit.CAstVisitor |
|---|
doVisitAssignNodes, doVisitEntity, getParent, leaveEntity, leaveNode, postProcessEntity, setParent, visit, visitAllChildren, visitAssignNodes, visitChildren, visitEntities, visitEntity, visitNode, visitScopedEntities, visitScopedEntities |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JavaCAst2IRTranslator(CAstEntity sourceFileEntity,
JavaSourceLoaderImpl loader)
| Method Detail |
|---|
public void translate()
public CAstEntity sourceFileEntity()
public JavaSourceLoaderImpl loader()
protected boolean useDefaultInitValues()
useDefaultInitValues in class AstTranslatorprotected boolean hasImplicitGlobals()
AstTranslator
hasImplicitGlobals in class AstTranslatorprotected TypeReference defaultCatchType()
defaultCatchType in class AstTranslatorprotected TypeReference makeType(CAstType type)
makeType in class AstTranslatorprotected boolean treatGlobalsAsLexicallyScoped()
treatGlobalsAsLexicallyScoped in class AstTranslatorprotected boolean useLocalValuesForLexicalVars()
useLocalValuesForLexicalVars in class AstTranslator
protected void doThrow(AstTranslator.WalkContext context,
int exception)
doThrow in class AstTranslator
protected void doArrayRead(AstTranslator.WalkContext context,
int result,
int arrayValue,
CAstNode arrayRefNode,
int[] dimValues)
doArrayRead in class AstTranslator
protected void doArrayWrite(AstTranslator.WalkContext context,
int arrayValue,
CAstNode arrayRefNode,
int[] dimValues,
int rval)
doArrayWrite in class AstTranslator
protected void doFieldRead(AstTranslator.WalkContext context,
int result,
int receiver,
CAstNode elt,
CAstNode parent)
doFieldRead in class AstTranslator
protected void doFieldWrite(AstTranslator.WalkContext context,
int receiver,
CAstNode elt,
CAstNode parent,
int rval)
doFieldWrite in class AstTranslator
protected void doMaterializeFunction(AstTranslator.WalkContext context,
int result,
int exception,
CAstEntity fn)
doMaterializeFunction in class AstTranslator
protected void doNewObject(AstTranslator.WalkContext context,
CAstNode newNode,
int result,
java.lang.Object type,
int[] arguments)
doNewObject in class AstTranslator
protected void doCall(AstTranslator.WalkContext context,
CAstNode call,
int result,
int exception,
CAstNode name,
int receiver,
int[] arguments)
doCall in class AstTranslator
protected void doGlobalRead(AstTranslator.WalkContext context,
int result,
java.lang.String name)
protected void doGlobalWrite(AstTranslator.WalkContext context,
java.lang.String name,
int rval)
doGlobalWrite in class AstTranslator
protected void defineField(CAstEntity topEntity,
AstTranslator.WalkContext definingContext,
CAstEntity n)
defineField in class AstTranslator
protected void declareFunction(CAstEntity N,
AstTranslator.WalkContext definingContext)
declareFunction in class AstTranslator
protected void defineFunction(CAstEntity N,
AstTranslator.WalkContext definingContext,
AbstractCFG cfg,
SymbolTable symtab,
boolean hasCatchBlock,
TypeReference[][] caughtTypes,
AstMethod.LexicalInformation lexicalInfo,
AstMethod.DebuggingInformation debugInfo)
defineFunction in class AstTranslator
protected void doPrimitive(int resultVal,
AstTranslator.WalkContext context,
CAstNode primitiveCall)
doPrimitive in class AstTranslator
protected java.lang.String composeEntityName(AstTranslator.WalkContext parent,
CAstEntity f)
composeEntityName in class AstTranslator
protected void defineType(CAstEntity type,
AstTranslator.WalkContext wc)
defineType in class AstTranslator
protected void leaveThis(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
CAstVisitor
leaveThis in class AstTranslatorn - the node to processc - a visitor-specific context
protected boolean visitCast(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
CAstVisitor
visitCast in class CAstVisitorn - the node to processc - a visitor-specific context
protected void leaveCast(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
CAstVisitor
leaveCast in class CAstVisitorn - the node to processc - a visitor-specific context
protected boolean visitInstanceOf(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
CAstVisitor
visitInstanceOf in class CAstVisitorn - the node to processc - a visitor-specific context
protected void leaveInstanceOf(CAstNode n,
CAstVisitor.Context c,
CAstVisitor visitor)
CAstVisitor
leaveInstanceOf in class CAstVisitorn - the node to processc - a visitor-specific context
protected boolean doVisit(CAstNode n,
CAstVisitor.Context context,
CAstVisitor visitor)
CAstVisitor
doVisit in class CAstVisitor
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||