public abstract class AstTranslator extends CAstVisitor<AstTranslator.WalkContext> implements ArrayOpHandler, TranslatorToIR
| Modifier and Type | Class and Description |
|---|---|
class |
AstTranslator.AbstractScope |
static class |
AstTranslator.AbstractSymbol |
protected static class |
AstTranslator.AstCFG
data structure for the final CFG for a method, based on the information in an
AstTranslator.IncipientCFG |
static class |
AstTranslator.AstLexicalInformation
lexical access information for some entity scope.
|
class |
AstTranslator.CodeEntityContext |
protected static class |
AstTranslator.FinalCAstSymbol |
class |
AstTranslator.IncipientCFG
holds the control-flow graph as it is being constructed.
|
static class |
AstTranslator.InternalCAstSymbol |
protected static class |
AstTranslator.PreBasicBlock
basic block implementation used in the CFGs constructed during the IR-generating AST traversal
|
class |
AstTranslator.RootContext |
static interface |
AstTranslator.Scope
a scope in the symbol table built during AST traversal
|
static class |
AstTranslator.ScopeType |
protected static interface |
AstTranslator.Symbol
interface for name information stored in a symbol table.
|
protected class |
AstTranslator.TypeContext |
protected static class |
AstTranslator.UnwindState |
static interface |
AstTranslator.WalkContext |
CAstVisitor.Context| Modifier and Type | Field and Description |
|---|---|
static boolean |
DEBUG_ALL |
static boolean |
DEBUG_CFG |
static boolean |
DEBUG_LEXICAL |
static boolean |
DEBUG_NAMES |
static boolean |
DEBUG_TOP |
protected java.util.Map<CAstEntity,java.util.Set<java.lang.String>> |
entity2ExposedNames |
protected java.util.Map<CAstEntity,java.util.Set<com.ibm.wala.util.collections.Pair<CAstEntity,java.lang.String>>> |
entity2WrittenNames |
protected com.ibm.wala.ssa.SSAInstructionFactory |
insts |
protected com.ibm.wala.classLoader.IClassLoader |
loader |
protected java.util.Map<java.lang.Object,CAstEntity> |
namedEntityResolver
for handling languages that let you include other source files named statically (e.g., ABAP)
|
currentPosition| Modifier | Constructor and Description |
|---|---|
protected |
AstTranslator(com.ibm.wala.classLoader.IClassLoader loader) |
protected |
AstTranslator(com.ibm.wala.classLoader.IClassLoader loader,
java.util.Map<java.lang.Object,CAstEntity> namedEntityResolver) |
protected |
AstTranslator(com.ibm.wala.classLoader.IClassLoader loader,
java.util.Map<java.lang.Object,CAstEntity> namedEntityResolver,
ArrayOpHandler arrayOpHandler) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
assignValue(CAstNode n,
AstTranslator.WalkContext context,
AstTranslator.Symbol ls,
java.lang.String nm,
int rval)
assign rval to nm as appropriate, depending on the scope of ls
|
void |
closeFunctionEntity(CAstEntity n,
AstTranslator.WalkContext parentContext,
AstTranslator.WalkContext functionContext) |
protected abstract java.lang.String |
composeEntityName(AstTranslator.WalkContext parent,
CAstEntity f)
create the language-appropriate name for f
|
protected abstract void |
declareFunction(CAstEntity N,
AstTranslator.WalkContext context)
declare a new function, represented by N
|
protected abstract com.ibm.wala.types.TypeReference |
defaultCatchType()
for a block that catches all exceptions, what is the root exception type that it can catch?
E.g., for Java, java.lang.Throwable
|
protected abstract void |
defineField(CAstEntity topEntity,
AstTranslator.WalkContext context,
CAstEntity fieldEntity)
define a new field fieldEntity within topEntity
|
protected abstract void |
defineFunction(CAstEntity N,
AstTranslator.WalkContext definingContext,
com.ibm.wala.cfg.AbstractCFG<com.ibm.wala.ssa.SSAInstruction,? extends com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>> cfg,
com.ibm.wala.ssa.SymbolTable symtab,
boolean hasCatchBlock,
java.util.Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,com.ibm.wala.types.TypeReference[]> catchTypes,
boolean hasMonitorOp,
AstTranslator.AstLexicalInformation lexicalInfo,
AstMethod.DebuggingInformation debugInfo)
fully define a function.
|
protected abstract boolean |
defineType(CAstEntity type,
AstTranslator.WalkContext wc)
define a new (presumably nested) type.
|
abstract void |
doArrayRead(AstTranslator.WalkContext context,
int result,
int arrayValue,
CAstNode arrayRef,
int[] dimValues)
generate IR for a CAst array read, updating context.cfg()
|
abstract void |
doArrayWrite(AstTranslator.WalkContext context,
int arrayValue,
CAstNode arrayRef,
int[] dimValues,
int rval)
generate IR for a CAst array write, updating context.cfg()
|
protected abstract void |
doCall(AstTranslator.WalkContext context,
CAstNode call,
int result,
int exception,
CAstNode name,
int receiver,
int[] arguments)
generate IR for a CAst method call expression, updating context.cfg()
|
protected abstract void |
doFieldRead(AstTranslator.WalkContext context,
int result,
int receiver,
CAstNode elt,
CAstNode parent)
generate IR for a CAst field read, updating context.cfg()
|
protected abstract void |
doFieldWrite(AstTranslator.WalkContext context,
int receiver,
CAstNode elt,
CAstNode parent,
int rval)
generate IR for a CAst field write, updating context.cfg()
|
protected int |
doGlobalRead(CAstNode node,
AstTranslator.WalkContext context,
java.lang.String name,
com.ibm.wala.types.TypeReference type)
generate instructions for a read of a global
|
protected void |
doGlobalWrite(AstTranslator.WalkContext context,
java.lang.String name,
com.ibm.wala.types.TypeReference type,
int rval)
generate instructions for a write of a global
|
protected void |
doIsFieldDefined(AstTranslator.WalkContext context,
int result,
int ref,
CAstNode f) |
protected int |
doLexicallyScopedRead(CAstNode node,
AstTranslator.WalkContext context,
java.lang.String name,
com.ibm.wala.types.TypeReference type)
Note that the caller is responsible for ensuring that name is defined in a lexical scope.
|
protected void |
doLexicallyScopedWrite(AstTranslator.WalkContext context,
java.lang.String name,
com.ibm.wala.types.TypeReference type,
int rval)
Note that the caller is responsible for ensuring that name is defined in a lexical scope.
|
protected int |
doLocalRead(AstTranslator.WalkContext context,
java.lang.String name,
com.ibm.wala.types.TypeReference type)
get the value number for a name defined locally (i.e., within the current method) by looking up
the name in context.currentScope().
|
protected void |
doLocalWrite(AstTranslator.WalkContext context,
java.lang.String nm,
com.ibm.wala.types.TypeReference type,
int rval)
add an
AssignInstruction to context.cfg() that copies rval to the value number of local
nm. |
protected abstract void |
doMaterializeFunction(CAstNode node,
AstTranslator.WalkContext context,
int result,
int exception,
CAstEntity fn)
generate IR for a CAst function expression, updating context.cfg()
|
protected abstract void |
doNewObject(AstTranslator.WalkContext context,
CAstNode newNode,
int result,
java.lang.Object type,
int[] arguments)
generate IR for a CAst new expression, updating context.cfg()
|
protected abstract void |
doPrimitive(int resultVal,
AstTranslator.WalkContext context,
CAstNode primitiveCall)
generate IR for call modeling creation of primitive value, updating context.cfg()
|
protected void |
doPrologue(AstTranslator.WalkContext context)
generate prologue code for each function body
|
protected abstract void |
doThrow(AstTranslator.WalkContext context,
int exception)
generate IR for a CAst throw expression, updating context.cfg()
|
protected boolean |
enterEntity(CAstEntity n,
AstTranslator.WalkContext context,
CAstVisitor<AstTranslator.WalkContext> visitor)
Enter the entity visitor.
|
protected abstract CAstType |
exceptionType()
the most-general exception type for the language being translated
|
protected int |
getArgumentCount(CAstEntity f) |
protected java.lang.String[] |
getArgumentNames(CAstEntity f) |
protected AstTranslator.WalkContext |
getCodeContext(AstTranslator.WalkContext context) |
CAstEntity |
getIncludedEntity(CAstNode n) |
protected abstract CAstSourcePositionMap.Position[] |
getParameterPositions(CAstEntity e) |
protected static CAstType |
getTypeForNode(AstTranslator.WalkContext context,
CAstNode node) |
protected void |
handleUnspecifiedLiteralKey()
some languages let you omit initialization of certain fields when writing an object literal
(e.g., PHP).
|
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 boolean |
hasSpecialUndeclaredVariables()
If this returns true, then attempts to lookup non-existent names return `null' rather than
tripping an assertion.
|
protected boolean |
ignoreName(java.lang.String name) |
void |
initFunctionEntity(CAstEntity n,
AstTranslator.WalkContext functionContext) |
protected boolean |
isExceptionLabel(java.lang.Object label) |
protected void |
leaveArrayLength(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an ArrayLength node.
|
protected void |
leaveArrayLiteral(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a ArrayLiteral node.
|
protected void |
leaveArrayLiteralInitElement(CAstNode n,
int i,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayLiteral node after processing the {i}th element initializer.
|
protected void |
leaveArrayLiteralObject(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayLiteral node after processing the array object.
|
protected void |
leaveArrayRef(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an ArrayRef node.
|
protected void |
leaveArrayRefAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayRef Assignment node after visiting the LHS.
|
protected void |
leaveArrayRefAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayRef Op/Assignment node after visiting the LHS.
|
protected void |
leaveAssert(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an InstanceOf node.
|
void |
leaveAssign(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an Assign node.
|
protected void |
leaveBinaryExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a BinaryExpr node.
|
protected void |
leaveBlockExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a BlockExpr node.
|
protected void |
leaveBlockExprAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a BlockExpr Assignment node after visiting the LHS.
|
protected void |
leaveBlockExprAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a BlockExpr Op/Assignment node after visiting the LHS.
|
protected void |
leaveBlockStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a BlockStmt node.
|
protected void |
leaveCall(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Call node.
|
protected void |
leaveCatch(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Catch node.
|
protected void |
leaveConstant(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Constant node.
|
protected void |
leaveDeclStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a DeclStmt node.
|
protected void |
leaveEachElementGet(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an FOR_EACH_ELEMENT_GET node.
|
protected void |
leaveEachElementHasNext(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor) |
protected void |
leaveEcho(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an ECHO node.
|
protected void |
leaveEmpty(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an Empty node.
|
protected void |
leaveFieldEntity(CAstEntity n,
AstTranslator.WalkContext context,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Field entity.
|
protected void |
leaveFileEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext fileContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a File entity.
|
protected void |
leaveFunctionEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext codeContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Function entity.
|
protected void |
leaveFunctionExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a FunctionExpr node.
|
protected void |
leaveFunctionStmt(CAstNode n,
AstTranslator.WalkContext context,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a FunctionStmt node.
|
protected void |
leaveGetCaughtException(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a GetCaughtException node.
|
protected void |
leaveGlobalEntity(CAstEntity n,
AstTranslator.WalkContext context,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Field entity.
|
protected void |
leaveGoto(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Goto node.
|
protected void |
leaveIfExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an IfExpr node.
|
protected void |
leaveIfExprCondition(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an IfExpr node after processing the condition.
|
protected void |
leaveIfExprTrueClause(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an IfExpr node after processing the true clause.
|
protected void |
leaveIfgoto(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an Ifgoto node.
|
protected void |
leaveIfStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an IfStmt node.
|
protected void |
leaveIfStmtCondition(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an IfStmt node after processing the condition.
|
protected void |
leaveIfStmtTrueClause(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an IfStmt node after processing the true clause.
|
protected void |
leaveInclude(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an INCLUDE node.
|
protected void |
leaveIsDefinedExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an IS_DEFINED_EXPR node.
|
protected void |
leaveLabelStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a LabelStmt node.
|
protected void |
leaveLocalScope(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a LocalScope node.
|
protected void |
leaveLoop(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Loop node.
|
protected void |
leaveLoopHeader(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Loop node after processing the loop header.
|
protected void |
leaveNew(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a New node.
|
protected void |
leaveObjectLiteral(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an ObjectLiteral node.
|
protected void |
leaveObjectLiteralFieldInit(CAstNode n,
int i,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ObjectLiteral node after processing the {i}th field initializer.
|
protected void |
leaveObjectRef(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an ObjectRef node.
|
protected void |
leaveObjectRefAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ObjectRef Assignment node after visiting the LHS.
|
protected void |
leaveObjectRefAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ObjectRef Op/Assignment node after visiting the LHS.
|
protected void |
leavePrimitive(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Primitive node.
|
protected void |
leaveReturn(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Return node.
|
protected void |
leaveScriptEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext codeContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Script entity.
|
protected void |
leaveSpecialParentScope(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor) |
protected void |
leaveSuper(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Super node.
|
protected void |
leaveSwitch(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Switch node.
|
protected void |
leaveSwitchValue(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Switch node after processing the switch value.
|
protected void |
leaveThis(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a This node.
|
protected void |
leaveThrow(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Throw node.
|
protected void |
leaveTry(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Try node.
|
protected void |
leaveTryBlock(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Try node after processing the try block.
|
protected void |
leaveTypeEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext typeContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Type entity.
|
protected void |
leaveTypeLiteralExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an TYPE_LITERAL_EXPR node.
|
protected void |
leaveUnaryExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a UnaryExpr node.
|
protected void |
leaveUnwind(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an Unwind node.
|
protected void |
leaveVar(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Var node.
|
protected void |
leaveVarAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Var Assignment node after visiting the LHS.
|
protected void |
leaveVarAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Var Op/Assignment node after visiting the LHS.
|
protected void |
leaveVoid(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Void node.
|
protected void |
leaveYield(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave a Return node.
|
protected boolean |
liftDeclarationsForLexicalScoping()
lift variable declarations for lexical scoping purposes?
|
protected AstTranslator.WalkContext |
makeCodeContext(AstTranslator.WalkContext context,
CAstEntity n)
Construct a context for a Code entity.
|
protected AstTranslator.WalkContext |
makeFileContext(AstTranslator.WalkContext c,
CAstEntity n)
Construct a context for a File entity.
|
protected com.ibm.wala.types.FieldReference |
makeGlobalRef(java.lang.String globalName)
creates a reference to a global named globalName.
|
protected AstTranslator.WalkContext |
makeLocalContext(AstTranslator.WalkContext context,
CAstNode n)
Construct a context for a LocalScope node.
|
protected java.lang.String[] |
makeNameMap(CAstEntity n,
java.util.Set<AstTranslator.Scope> scopes,
com.ibm.wala.ssa.SSAInstruction[] insts) |
protected AstTranslator.AbstractScope |
makeScriptScope(CAstEntity s,
AstTranslator.Scope parent) |
protected AstTranslator.WalkContext |
makeSpecialParentContext(AstTranslator.WalkContext context,
CAstNode n) |
protected abstract com.ibm.wala.types.TypeReference |
makeType(CAstType type) |
protected AstTranslator.WalkContext |
makeTypeContext(AstTranslator.WalkContext c,
CAstEntity n)
Construct a context for a Type entity.
|
protected AstTranslator.Scope |
makeTypeScope(CAstEntity type,
AstTranslator.Scope parent) |
protected AstTranslator.WalkContext |
makeUnwindContext(AstTranslator.WalkContext context,
CAstNode n,
CAstVisitor<AstTranslator.WalkContext> visitor)
Construct a context for an Unwind node.
|
protected int |
processAssignOp(CAstNode v,
CAstNode a,
int temp,
AstTranslator.WalkContext c) |
protected int |
processFunctionExpr(CAstNode n,
AstTranslator.WalkContext context) |
protected void |
processIf(CAstNode n,
boolean isExpr,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor) |
void |
setDefaultValue(com.ibm.wala.ssa.SymbolTable symtab,
int vn,
java.lang.Object value) |
protected boolean |
topLevelFunctionsInGlobalScope() |
protected abstract CAstType |
topType()
the most-general type for the language being translated
|
void |
translate(CAstEntity N,
AstTranslator.WalkContext context) |
void |
translate(CAstEntity N,
com.ibm.wala.classLoader.ModuleEntry module)
translate module, represented by
CAstEntity N |
protected com.ibm.wala.shrike.shrikeBT.IBinaryOpInstruction.IOperator |
translateBinaryOpcode(CAstNode op) |
protected com.ibm.wala.shrike.shrikeBT.IConditionalBranchInstruction.IOperator |
translateConditionOpcode(CAstNode op) |
protected com.ibm.wala.shrike.shrikeBT.IUnaryOpInstruction.IOperator |
translateUnaryOpcode(CAstNode op) |
protected abstract boolean |
treatGlobalsAsLexicallyScoped()
can lexical reads / writes access globals?
|
protected abstract boolean |
useDefaultInitValues()
does the language care about using type-appropriate default values? For Java, the answer is yes
(ints should get a default value of 0, null for pointers, etc.).
|
protected boolean |
visitArrayLength(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayLength node.
|
protected boolean |
visitArrayLiteral(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayLiteral node.
|
protected boolean |
visitArrayRef(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayRef node.
|
protected boolean |
visitArrayRefAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayRef Assignment node after visiting the RHS.
|
protected boolean |
visitArrayRefAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ArrayRef Op/Assignment node after visiting the RHS.
|
protected boolean |
visitAssert(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor) |
boolean |
visitAssign(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an Assign node.
|
protected boolean |
visitBinaryExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a BinaryExpr node.
|
protected boolean |
visitBlockExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a BlockExpr node.
|
protected boolean |
visitBlockExprAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a BlockExpr Assignment node after visiting the RHS.
|
protected boolean |
visitBlockExprAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a BlockExpr Op/Assignment node after visiting the RHS.
|
protected boolean |
visitBlockStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a BlockStmt node.
|
protected boolean |
visitCall(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Call node.
|
protected boolean |
visitCatch(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Catch node.
|
protected boolean |
visitConstant(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Constant node.
|
protected boolean |
visitDeclStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a DeclStmt node.
|
protected boolean |
visitEachElementGet(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an InstanceOf node.
|
protected boolean |
visitEachElementHasNext(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Leave an InstanceOf node.
|
protected boolean |
visitEcho(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor) |
protected boolean |
visitEmpty(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an Empty node.
|
protected boolean |
visitFieldEntity(CAstEntity n,
AstTranslator.WalkContext context,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Field entity.
|
protected boolean |
visitFileEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext fileContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a File entity.
|
protected boolean |
visitFunctionEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext codeContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Function entity.
|
protected boolean |
visitFunctionExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a FunctionExpr node.
|
protected boolean |
visitFunctionStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a FunctionStmt node.
|
protected boolean |
visitGetCaughtException(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a GetCaughtException node.
|
protected boolean |
visitGlobalEntity(CAstEntity n,
AstTranslator.WalkContext context,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Field entity.
|
protected boolean |
visitGoto(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Goto node.
|
protected boolean |
visitIfExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an IfExpr node.
|
protected boolean |
visitIfgoto(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an Ifgoto node.
|
protected boolean |
visitIfStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an IfStmt node.
|
protected boolean |
visitIsDefinedExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor) |
protected boolean |
visitLabelStmt(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a LabelStmt node.
|
protected boolean |
visitLocalScope(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a LocalScope node.
|
protected boolean |
visitLoop(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Loop node.
|
protected boolean |
visitMacroEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext codeContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Macro entity.
|
protected boolean |
visitNew(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a New node.
|
protected boolean |
visitObjectLiteral(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ObjectLiteral node.
|
protected boolean |
visitObjectRef(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ObjectRef node.
|
protected boolean |
visitObjectRefAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ObjectRef Assignment node after visiting the RHS.
|
protected boolean |
visitObjectRefAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an ObjectRef Op/Assignment node after visiting the RHS.
|
protected boolean |
visitPrimitive(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Primitive node.
|
protected boolean |
visitReturn(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Return node.
|
protected boolean |
visitScriptEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext codeContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Script entity.
|
protected boolean |
visitSpecialParentScope(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor) |
protected boolean |
visitSuper(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Super node.
|
protected boolean |
visitSwitch(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Switch node.
|
protected boolean |
visitThis(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a This node.
|
protected boolean |
visitThrow(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Throw node.
|
protected boolean |
visitTry(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Try node.
|
protected boolean |
visitTypeEntity(CAstEntity n,
AstTranslator.WalkContext context,
AstTranslator.WalkContext typeContext,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Type entity.
|
protected boolean |
visitTypeLiteralExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an TYPE_LITERAL_EXPR node.
|
protected boolean |
visitUnaryExpr(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a UnaryExpr node.
|
protected boolean |
visitUnwind(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit an Unwind node.
|
protected boolean |
visitVar(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Var node.
|
protected boolean |
visitVarAssign(CAstNode n,
CAstNode v,
CAstNode a,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Var Assignment node after visiting the RHS.
|
protected boolean |
visitVarAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Var Op/Assignment node after visiting the RHS.
|
protected boolean |
visitVoid(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Void node.
|
protected boolean |
visitYield(CAstNode n,
AstTranslator.WalkContext c,
CAstVisitor<AstTranslator.WalkContext> visitor)
Visit a Return node.
|
protected void |
walkEntities(CAstEntity N,
AstTranslator.WalkContext c) |
doVisit, doVisitArrayRefNode, doVisitAssignNodes, doVisitEntity, enterNode, getCurrentPosition, getParent, leaveArrayLiteralAssign, leaveCast, leaveClassStmt, leaveEntity, leaveForIn, leaveInstanceOf, leaveMacroEntity, leaveMacroVar, leaveNode, leaveObjectLiteralAssign, postProcessEntity, postProcessNode, setParent, visit, visitAllChildren, visitArrayLiteralAssign, visitAssignNodes, visitCast, visitChildren, visitClassStmt, visitEntities, visitEntity, visitForIn, visitInclude, visitInstanceOf, visitMacroVar, visitNode, visitObjectLiteralAssign, visitScopedEntities, visitScopedEntitiesprotected final com.ibm.wala.classLoader.IClassLoader loader
protected final java.util.Map<java.lang.Object,CAstEntity> namedEntityResolver
protected final com.ibm.wala.ssa.SSAInstructionFactory insts
public static final boolean DEBUG_ALL
public static final boolean DEBUG_TOP
public static final boolean DEBUG_CFG
public static final boolean DEBUG_NAMES
public static final boolean DEBUG_LEXICAL
protected java.util.Map<CAstEntity,java.util.Set<java.lang.String>> entity2ExposedNames
protected java.util.Map<CAstEntity,java.util.Set<com.ibm.wala.util.collections.Pair<CAstEntity,java.lang.String>>> entity2WrittenNames
protected AstTranslator(com.ibm.wala.classLoader.IClassLoader loader,
java.util.Map<java.lang.Object,CAstEntity> namedEntityResolver,
ArrayOpHandler arrayOpHandler)
protected AstTranslator(com.ibm.wala.classLoader.IClassLoader loader,
java.util.Map<java.lang.Object,CAstEntity> namedEntityResolver)
protected AstTranslator(com.ibm.wala.classLoader.IClassLoader loader)
protected abstract boolean useDefaultInitValues()
protected abstract boolean treatGlobalsAsLexicallyScoped()
protected boolean topLevelFunctionsInGlobalScope()
protected abstract com.ibm.wala.types.TypeReference defaultCatchType()
protected abstract com.ibm.wala.types.TypeReference makeType(CAstType type)
protected abstract boolean defineType(CAstEntity type, AstTranslator.WalkContext wc)
protected abstract void declareFunction(CAstEntity N, AstTranslator.WalkContext context)
protected abstract void defineFunction(CAstEntity N, AstTranslator.WalkContext definingContext, com.ibm.wala.cfg.AbstractCFG<com.ibm.wala.ssa.SSAInstruction,? extends com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>> cfg, com.ibm.wala.ssa.SymbolTable symtab, boolean hasCatchBlock, java.util.Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,com.ibm.wala.types.TypeReference[]> catchTypes, boolean hasMonitorOp, AstTranslator.AstLexicalInformation lexicalInfo, AstMethod.DebuggingInformation debugInfo)
protected abstract void defineField(CAstEntity topEntity, AstTranslator.WalkContext context, CAstEntity fieldEntity)
protected abstract java.lang.String composeEntityName(AstTranslator.WalkContext parent, CAstEntity f)
protected abstract void doThrow(AstTranslator.WalkContext context, int exception)
public abstract void doArrayRead(AstTranslator.WalkContext context, int result, int arrayValue, CAstNode arrayRef, int[] dimValues)
doArrayRead in interface ArrayOpHandlerpublic abstract void doArrayWrite(AstTranslator.WalkContext context, int arrayValue, CAstNode arrayRef, int[] dimValues, int rval)
doArrayWrite in interface ArrayOpHandlerprotected abstract void doFieldRead(AstTranslator.WalkContext context, int result, int receiver, CAstNode elt, CAstNode parent)
protected abstract void doFieldWrite(AstTranslator.WalkContext context, int receiver, CAstNode elt, CAstNode parent, int rval)
protected abstract void doMaterializeFunction(CAstNode node, AstTranslator.WalkContext context, int result, int exception, CAstEntity fn)
protected abstract void doNewObject(AstTranslator.WalkContext context, CAstNode newNode, int result, java.lang.Object type, int[] arguments)
protected abstract void doCall(AstTranslator.WalkContext context, CAstNode call, int result, int exception, CAstNode name, int receiver, int[] arguments)
protected abstract CAstType topType()
protected abstract CAstType exceptionType()
protected boolean liftDeclarationsForLexicalScoping()
protected boolean isExceptionLabel(java.lang.Object label)
protected boolean hasImplicitGlobals()
protected boolean hasSpecialUndeclaredVariables()
protected void handleUnspecifiedLiteralKey()
protected void doPrologue(AstTranslator.WalkContext context)
protected abstract void doPrimitive(int resultVal,
AstTranslator.WalkContext context,
CAstNode primitiveCall)
protected int doLocalRead(AstTranslator.WalkContext context, java.lang.String name, com.ibm.wala.types.TypeReference type)
protected void doLocalWrite(AstTranslator.WalkContext context, java.lang.String nm, com.ibm.wala.types.TypeReference type, int rval)
AssignInstruction to context.cfg() that copies rval to the value number of local
nm. Note that the caller is responsible for ensuring that nm is defined in the local scope.protected int doLexicallyScopedRead(CAstNode node, AstTranslator.WalkContext context, java.lang.String name, com.ibm.wala.types.TypeReference type)
node - the AST node representing the readprotected boolean ignoreName(java.lang.String name)
name - A variable nameprotected void doLexicallyScopedWrite(AstTranslator.WalkContext context, java.lang.String name, com.ibm.wala.types.TypeReference type, int rval)
protected int doGlobalRead(CAstNode node, AstTranslator.WalkContext context, java.lang.String name, com.ibm.wala.types.TypeReference type)
protected void doGlobalWrite(AstTranslator.WalkContext context, java.lang.String name, com.ibm.wala.types.TypeReference type, int rval)
protected com.ibm.wala.types.FieldReference makeGlobalRef(java.lang.String globalName)
protected AstTranslator.AbstractScope makeScriptScope(CAstEntity s, AstTranslator.Scope parent)
protected int getArgumentCount(CAstEntity f)
protected java.lang.String[] getArgumentNames(CAstEntity f)
protected AstTranslator.Scope makeTypeScope(CAstEntity type, AstTranslator.Scope parent)
protected AstTranslator.WalkContext getCodeContext(AstTranslator.WalkContext context)
getCodeContext in class CAstVisitor<AstTranslator.WalkContext>public void setDefaultValue(com.ibm.wala.ssa.SymbolTable symtab,
int vn,
java.lang.Object value)
protected com.ibm.wala.shrike.shrikeBT.IUnaryOpInstruction.IOperator translateUnaryOpcode(CAstNode op)
protected com.ibm.wala.shrike.shrikeBT.IBinaryOpInstruction.IOperator translateBinaryOpcode(CAstNode op)
protected com.ibm.wala.shrike.shrikeBT.IConditionalBranchInstruction.IOperator translateConditionOpcode(CAstNode op)
protected java.lang.String[] makeNameMap(CAstEntity n, java.util.Set<AstTranslator.Scope> scopes, com.ibm.wala.ssa.SSAInstruction[] insts)
protected static final CAstType getTypeForNode(AstTranslator.WalkContext context, CAstNode node)
protected AstTranslator.WalkContext makeFileContext(AstTranslator.WalkContext c, CAstEntity n)
CAstVisitormakeFileContext in class CAstVisitor<AstTranslator.WalkContext>c - a visitor-specific context in which this file was visitedn - the file entityprotected AstTranslator.WalkContext makeTypeContext(AstTranslator.WalkContext c, CAstEntity n)
CAstVisitormakeTypeContext in class CAstVisitor<AstTranslator.WalkContext>c - a visitor-specific context in which this type was visitedn - the type entityprotected AstTranslator.WalkContext makeCodeContext(AstTranslator.WalkContext context, CAstEntity n)
CAstVisitormakeCodeContext in class CAstVisitor<AstTranslator.WalkContext>context - a visitor-specific context in which the code was visitedn - the code entityprotected boolean enterEntity(CAstEntity n, AstTranslator.WalkContext context, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorenterEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextprotected boolean visitFileEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext fileContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitFileEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextfileContext - a visitor-specific context for this fileprotected void leaveFileEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext fileContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveFileEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextfileContext - a visitor-specific context for this fileprotected boolean visitFieldEntity(CAstEntity n, AstTranslator.WalkContext context, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitFieldEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextprotected void leaveFieldEntity(CAstEntity n, AstTranslator.WalkContext context, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveFieldEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextprotected boolean visitGlobalEntity(CAstEntity n, AstTranslator.WalkContext context, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitGlobalEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextprotected void leaveGlobalEntity(CAstEntity n, AstTranslator.WalkContext context, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveGlobalEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextprotected boolean visitTypeEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext typeContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitTypeEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contexttypeContext - a visitor-specific context for this typeprotected void leaveTypeEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext typeContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveTypeEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contexttypeContext - a visitor-specific context for this typeprotected boolean visitFunctionEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext codeContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitFunctionEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextcodeContext - a visitor-specific context for this functionprotected void leaveFunctionEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext codeContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveFunctionEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextcodeContext - a visitor-specific context for this functionprotected boolean visitMacroEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext codeContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitMacroEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextcodeContext - a visitor-specific context for this macroprotected boolean visitScriptEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext codeContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitScriptEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextcodeContext - a visitor-specific context for this scriptprotected void leaveScriptEntity(CAstEntity n, AstTranslator.WalkContext context, AstTranslator.WalkContext codeContext, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveScriptEntity in class CAstVisitor<AstTranslator.WalkContext>n - the entity to processcontext - a visitor-specific contextcodeContext - a visitor-specific context for this scriptpublic void initFunctionEntity(CAstEntity n, AstTranslator.WalkContext functionContext)
public void closeFunctionEntity(CAstEntity n, AstTranslator.WalkContext parentContext, AstTranslator.WalkContext functionContext)
protected abstract CAstSourcePositionMap.Position[] getParameterPositions(CAstEntity e)
protected AstTranslator.WalkContext makeLocalContext(AstTranslator.WalkContext context, CAstNode n)
CAstVisitormakeLocalContext in class CAstVisitor<AstTranslator.WalkContext>context - a visitor-specific context in which the local scope was visitedn - the local scope nodeprotected AstTranslator.WalkContext makeSpecialParentContext(AstTranslator.WalkContext context, CAstNode n)
makeSpecialParentContext in class CAstVisitor<AstTranslator.WalkContext>protected AstTranslator.WalkContext makeUnwindContext(AstTranslator.WalkContext context, CAstNode n, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitormakeUnwindContext in class CAstVisitor<AstTranslator.WalkContext>context - a visitor-specific context in which the unwind was visitedn - the unwind nodeprotected int processFunctionExpr(CAstNode n, AstTranslator.WalkContext context)
protected boolean visitFunctionExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitFunctionExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveFunctionExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveFunctionExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitFunctionStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitFunctionStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveFunctionStmt(CAstNode n, AstTranslator.WalkContext context, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveFunctionStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processcontext - a visitor-specific contextprotected boolean visitLocalScope(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitLocalScope in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitSpecialParentScope(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
visitSpecialParentScope in class CAstVisitor<AstTranslator.WalkContext>protected void leaveLocalScope(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveLocalScope in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveSpecialParentScope(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
leaveSpecialParentScope in class CAstVisitor<AstTranslator.WalkContext>protected boolean visitBlockExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitBlockExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveBlockExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveBlockExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitBlockStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitBlockStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveBlockStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveBlockStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitLoop(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitLoop in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveLoopHeader(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveLoopHeader in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveLoop(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveLoop in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitGetCaughtException(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitGetCaughtException in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveGetCaughtException(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveGetCaughtException in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitThis(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitThis in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveThis(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveThis in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitSuper(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitSuper in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveSuper(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveSuper in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitCall(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitCall in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveCall(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveCall in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitVar(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitVar in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveVar(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveVar in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitConstant(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitConstant in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveConstant(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveConstant in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitBinaryExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitBinaryExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveBinaryExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveBinaryExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitUnaryExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitUnaryExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveUnaryExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveUnaryExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitArrayLength(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitArrayLength in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveArrayLength(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveArrayLength in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitArrayRef(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitArrayRef in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveArrayRef(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveArrayRef in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitDeclStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitDeclStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveDeclStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveDeclStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitReturn(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitReturn in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveReturn(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveReturn in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitIfgoto(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitIfgoto in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveIfgoto(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIfgoto in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitGoto(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitGoto in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveGoto(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveGoto in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitLabelStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitLabelStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveLabelStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveLabelStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void processIf(CAstNode n, boolean isExpr, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
protected final void leaveIfStmtCondition(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIfStmtCondition in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveIfStmtTrueClause(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIfStmtTrueClause in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveIfStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIfStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveIfExprCondition(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIfExprCondition in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveIfExprTrueClause(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIfExprTrueClause in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveIfExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIfExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitIfStmt(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitIfStmt in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitIfExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitIfExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitNew(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitNew in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveNew(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveNew in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitObjectLiteral(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitObjectLiteral in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveObjectLiteralFieldInit(CAstNode n, int i, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveObjectLiteralFieldInit in class CAstVisitor<AstTranslator.WalkContext>n - the node to processi - the field position that was initializedc - a visitor-specific contextprotected void leaveObjectLiteral(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveObjectLiteral in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitArrayLiteral(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitArrayLiteral in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveArrayLiteralObject(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveArrayLiteralObject in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveArrayLiteralInitElement(CAstNode n, int i, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveArrayLiteralInitElement in class CAstVisitor<AstTranslator.WalkContext>n - the node to processi - the index that was initializedc - a visitor-specific contextprotected void leaveArrayLiteral(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveArrayLiteral in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitObjectRef(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitObjectRef in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveObjectRef(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveObjectRef in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextpublic boolean visitAssign(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitAssign in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextpublic void leaveAssign(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveAssign in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected int processAssignOp(CAstNode v, CAstNode a, int temp, AstTranslator.WalkContext c)
protected boolean visitArrayRefAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitArrayRefAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected void leaveArrayRefAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveArrayRefAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected boolean visitArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitArrayRefAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected void leaveArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveArrayRefAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected boolean visitObjectRefAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitObjectRefAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected void leaveObjectRefAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveObjectRefAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected boolean visitObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitObjectRefAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected void leaveObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveObjectRefAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected boolean visitBlockExprAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitBlockExprAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected void leaveBlockExprAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveBlockExprAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected boolean visitBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitBlockExprAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected void leaveBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveBlockExprAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected boolean visitVarAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitVarAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected void assignValue(CAstNode n, AstTranslator.WalkContext context, AstTranslator.Symbol ls, java.lang.String nm, int rval)
protected void leaveVarAssign(CAstNode n, CAstNode v, CAstNode a, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveVarAssign in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processc - a visitor-specific contextprotected boolean visitVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitVarAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected void leaveVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveVarAssignOp in class CAstVisitor<AstTranslator.WalkContext>n - the LHS node to processv - the RHS node to processa - the assignment node to processpre - whether the value before the operation should be usedc - a visitor-specific contextprotected boolean visitSwitch(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitSwitch in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveSwitchValue(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveSwitchValue in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveSwitch(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveSwitch in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitThrow(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitThrow in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveThrow(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveThrow in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitCatch(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitCatch in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveCatch(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveCatch in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitUnwind(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitUnwind in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveUnwind(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveUnwind in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitTry(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitTry in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveTryBlock(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveTryBlock in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void leaveTry(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveTry in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitEmpty(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitEmpty in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveEmpty(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveEmpty in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitPrimitive(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitPrimitive in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leavePrimitive(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleavePrimitive in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitVoid(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitVoid in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveVoid(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveVoid in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitAssert(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
visitAssert in class CAstVisitor<AstTranslator.WalkContext>protected void leaveAssert(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveAssert in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitEachElementGet(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitEachElementGet in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveEachElementGet(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveEachElementGet in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitEachElementHasNext(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitEachElementHasNext in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveEachElementHasNext(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
leaveEachElementHasNext in class CAstVisitor<AstTranslator.WalkContext>protected boolean visitTypeLiteralExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitTypeLiteralExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveTypeLiteralExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveTypeLiteralExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitIsDefinedExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
visitIsDefinedExpr in class CAstVisitor<AstTranslator.WalkContext>protected void leaveIsDefinedExpr(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveIsDefinedExpr in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitEcho(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
visitEcho in class CAstVisitor<AstTranslator.WalkContext>protected void leaveEcho(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveEcho in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected boolean visitYield(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorvisitYield in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected void leaveYield(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveYield in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextpublic CAstEntity getIncludedEntity(CAstNode n)
protected void leaveInclude(CAstNode n, AstTranslator.WalkContext c, CAstVisitor<AstTranslator.WalkContext> visitor)
CAstVisitorleaveInclude in class CAstVisitor<AstTranslator.WalkContext>n - the node to processc - a visitor-specific contextprotected final void walkEntities(CAstEntity N, AstTranslator.WalkContext c)
public void translate(CAstEntity N, com.ibm.wala.classLoader.ModuleEntry module)
CAstEntity Ntranslate in interface TranslatorToIRpublic void translate(CAstEntity N, AstTranslator.WalkContext context)
protected void doIsFieldDefined(AstTranslator.WalkContext context, int result, int ref, CAstNode f)