public class JSAstTranslator
extends com.ibm.wala.cast.ir.translator.AstTranslator
AstTranslator for JavaScript.com.ibm.wala.cast.ir.translator.AstTranslator.AbstractScope, com.ibm.wala.cast.ir.translator.AstTranslator.AbstractSymbol, com.ibm.wala.cast.ir.translator.AstTranslator.AstCFG, com.ibm.wala.cast.ir.translator.AstTranslator.AstLexicalInformation, com.ibm.wala.cast.ir.translator.AstTranslator.CodeEntityContext, com.ibm.wala.cast.ir.translator.AstTranslator.FinalCAstSymbol, com.ibm.wala.cast.ir.translator.AstTranslator.IncipientCFG, com.ibm.wala.cast.ir.translator.AstTranslator.InternalCAstSymbol, com.ibm.wala.cast.ir.translator.AstTranslator.PreBasicBlock, com.ibm.wala.cast.ir.translator.AstTranslator.RootContext, com.ibm.wala.cast.ir.translator.AstTranslator.Scope, com.ibm.wala.cast.ir.translator.AstTranslator.ScopeType, com.ibm.wala.cast.ir.translator.AstTranslator.Symbol, com.ibm.wala.cast.ir.translator.AstTranslator.UnwindState, com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext| Modifier and Type | Field and Description |
|---|---|
static com.ibm.wala.cast.tree.CAstType |
Any |
| Constructor and Description |
|---|
JSAstTranslator(JavaScriptLoader loader) |
| Modifier and Type | Method and Description |
|---|---|
protected String |
composeEntityName(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext parent,
com.ibm.wala.cast.tree.CAstEntity f) |
protected void |
declareFunction(com.ibm.wala.cast.tree.CAstEntity N,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context) |
protected com.ibm.wala.types.TypeReference |
defaultCatchType() |
protected void |
defineField(com.ibm.wala.cast.tree.CAstEntity topEntity,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext wc,
com.ibm.wala.cast.tree.CAstEntity n) |
protected void |
defineFunction(com.ibm.wala.cast.tree.CAstEntity N,
com.ibm.wala.cast.ir.translator.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,
Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,com.ibm.wala.types.TypeReference[]> caughtTypes,
boolean hasMonitorOp,
com.ibm.wala.cast.ir.translator.AstTranslator.AstLexicalInformation LI,
com.ibm.wala.cast.loader.AstMethod.DebuggingInformation debugInfo) |
protected boolean |
defineType(com.ibm.wala.cast.tree.CAstEntity type,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext wc) |
void |
doArrayRead(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int arrayValue,
com.ibm.wala.cast.tree.CAstNode arrayRef,
int[] dimValues) |
void |
doArrayWrite(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int arrayValue,
com.ibm.wala.cast.tree.CAstNode arrayRef,
int[] dimValues,
int rval) |
protected void |
doCall(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.CAstNode call,
int result,
int exception,
com.ibm.wala.cast.tree.CAstNode name,
int receiver,
int[] arguments) |
protected void |
doFieldRead(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int receiver,
com.ibm.wala.cast.tree.CAstNode elt,
com.ibm.wala.cast.tree.CAstNode readNode) |
protected void |
doFieldWrite(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int receiver,
com.ibm.wala.cast.tree.CAstNode elt,
com.ibm.wala.cast.tree.CAstNode parent,
int rval) |
protected int |
doGlobalRead(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
String name,
com.ibm.wala.types.TypeReference type) |
protected void |
doIsFieldDefined(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int ref,
com.ibm.wala.cast.tree.CAstNode f) |
protected int |
doLexicallyScopedRead(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
String name,
com.ibm.wala.types.TypeReference type) |
protected void |
doMaterializeFunction(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int exception,
com.ibm.wala.cast.tree.CAstEntity fn) |
protected void |
doNewObject(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.CAstNode newNode,
int result,
Object type,
int[] arguments) |
protected void |
doPrimitive(int resultVal,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.CAstNode primitiveCall) |
protected void |
doPrologue(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context) |
protected void |
doThrow(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int exception) |
protected boolean |
doVisit(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext> visitor) |
protected com.ibm.wala.cast.tree.CAstType |
exceptionType() |
protected boolean |
hasImplicitGlobals() |
protected boolean |
ignoreName(String name) |
protected void |
leaveInstanceOf(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext c,
com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext> visitor) |
protected String[] |
makeNameMap(com.ibm.wala.cast.tree.CAstEntity n,
Set<com.ibm.wala.cast.ir.translator.AstTranslator.Scope> scopes,
com.ibm.wala.ssa.SSAInstruction[] insts) |
protected com.ibm.wala.types.TypeReference |
makeType(com.ibm.wala.cast.tree.CAstType type) |
protected com.ibm.wala.cast.tree.CAstType |
topType() |
protected boolean |
treatGlobalsAsLexicallyScoped() |
protected boolean |
useDefaultInitValues() |
protected boolean |
visitInstanceOf(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext c,
com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext> visitor) |
assignValue, closeFunctionEntity, doGlobalWrite, doLexicallyScopedWrite, doLocalRead, doLocalWrite, enterEntity, getArgumentCount, getArgumentNames, getIncludedEntity, getTypeForNode, handleUnspecifiedLiteralKey, hasSpecialUndeclaredVariables, initFunctionEntity, isExceptionLabel, leaveArrayLength, leaveArrayLiteral, leaveArrayLiteralInitElement, leaveArrayLiteralObject, leaveArrayRef, leaveArrayRefAssign, leaveArrayRefAssignOp, leaveAssert, leaveAssign, leaveBinaryExpr, leaveBlockExpr, leaveBlockExprAssign, leaveBlockExprAssignOp, leaveBlockStmt, leaveCall, leaveCatch, leaveConstant, leaveDeclStmt, leaveEachElementGet, leaveEachElementHasNext, leaveEcho, leaveEmpty, leaveFieldEntity, leaveFileEntity, leaveFunctionEntity, leaveFunctionExpr, leaveFunctionStmt, leaveGetCaughtException, leaveGlobalEntity, leaveGoto, leaveIfExpr, leaveIfExprCondition, leaveIfExprTrueClause, leaveIfgoto, leaveIfStmt, leaveIfStmtCondition, leaveIfStmtTrueClause, leaveInclude, leaveIsDefinedExpr, leaveLabelStmt, leaveLocalScope, leaveLoop, leaveLoopHeader, leaveNew, leaveObjectLiteral, leaveObjectLiteralFieldInit, leaveObjectRef, leaveObjectRefAssign, leaveObjectRefAssignOp, leavePrimitive, leaveReturn, leaveScriptEntity, leaveSpecialParentScope, leaveSuper, leaveSwitch, leaveSwitchValue, leaveThis, leaveThrow, leaveTry, leaveTryBlock, leaveTypeEntity, leaveTypeLiteralExpr, leaveUnaryExpr, leaveUnwind, leaveVar, leaveVarAssign, leaveVarAssignOp, leaveVoid, makeCodeContext, makeFileContext, makeGlobalRef, makeLocalContext, makeScriptScope, makeSpecialParentContext, makeTypeContext, makeTypeScope, makeUnwindContext, processAssignOp, processFunctionExpr, processIf, processObjectRefAssignOp, setDefaultValue, topLevelFunctionsInGlobalScope, translate, translate, translateBinaryOpcode, translateConditionOpcode, translateUnaryOpcode, visitArrayLength, visitArrayLiteral, visitArrayRef, visitArrayRefAssign, visitArrayRefAssignOp, visitAssert, visitAssign, visitBinaryExpr, visitBlockExpr, visitBlockExprAssign, visitBlockExprAssignOp, visitBlockStmt, visitCall, visitCatch, visitConstant, visitDeclStmt, visitEachElementGet, visitEachElementHasNext, visitEcho, visitEmpty, visitFieldEntity, visitFileEntity, visitFunctionEntity, visitFunctionExpr, visitFunctionStmt, visitGetCaughtException, visitGlobalEntity, visitGoto, visitIfExpr, visitIfgoto, visitIfStmt, visitIsDefinedExpr, visitLabelStmt, visitLocalScope, visitLoop, visitMacroEntity, visitNew, visitObjectLiteral, visitObjectRef, visitObjectRefAssign, visitObjectRefAssignOp, visitPrimitive, visitReturn, visitScriptEntity, visitSpecialParentScope, visitSuper, visitSwitch, visitThis, visitThrow, visitTry, visitTypeEntity, visitTypeLiteralExpr, visitUnaryExpr, visitUnwind, visitVar, visitVarAssign, visitVarAssignOp, visitVoid, walkEntitiesdoVisitArrayRefNode, doVisitAssignNodes, doVisitEntity, enterNode, getCurrentPosition, getParent, leaveCast, leaveEntity, leaveForIn, leaveMacroEntity, leaveMacroVar, leaveNode, postProcessEntity, postProcessNode, setParent, visit, visitAllChildren, visitAssignNodes, visitCast, visitChildren, visitEntities, visitEntity, visitForIn, visitInclude, visitMacroVar, visitNode, visitScopedEntities, visitScopedEntitiespublic JSAstTranslator(JavaScriptLoader loader)
protected boolean useDefaultInitValues()
useDefaultInitValues in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected boolean hasImplicitGlobals()
hasImplicitGlobals in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected boolean treatGlobalsAsLexicallyScoped()
treatGlobalsAsLexicallyScoped in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected com.ibm.wala.types.TypeReference defaultCatchType()
defaultCatchType in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected com.ibm.wala.types.TypeReference makeType(com.ibm.wala.cast.tree.CAstType type)
makeType in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected boolean ignoreName(String name)
ignoreName in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected String[] makeNameMap(com.ibm.wala.cast.tree.CAstEntity n, Set<com.ibm.wala.cast.ir.translator.AstTranslator.Scope> scopes, com.ibm.wala.ssa.SSAInstruction[] insts)
makeNameMap in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected int doLexicallyScopedRead(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
String name,
com.ibm.wala.types.TypeReference type)
doLexicallyScopedRead in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected int doGlobalRead(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
String name,
com.ibm.wala.types.TypeReference type)
doGlobalRead in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected boolean defineType(com.ibm.wala.cast.tree.CAstEntity type,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext wc)
defineType in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void defineField(com.ibm.wala.cast.tree.CAstEntity topEntity,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext wc,
com.ibm.wala.cast.tree.CAstEntity n)
defineField in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected String composeEntityName(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext parent, com.ibm.wala.cast.tree.CAstEntity f)
composeEntityName in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void declareFunction(com.ibm.wala.cast.tree.CAstEntity N,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)
declareFunction in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void defineFunction(com.ibm.wala.cast.tree.CAstEntity N,
com.ibm.wala.cast.ir.translator.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,
Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,com.ibm.wala.types.TypeReference[]> caughtTypes,
boolean hasMonitorOp,
com.ibm.wala.cast.ir.translator.AstTranslator.AstLexicalInformation LI,
com.ibm.wala.cast.loader.AstMethod.DebuggingInformation debugInfo)
defineFunction in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doThrow(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int exception)
doThrow in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doCall(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.CAstNode call,
int result,
int exception,
com.ibm.wala.cast.tree.CAstNode name,
int receiver,
int[] arguments)
doCall in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doNewObject(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.CAstNode newNode,
int result,
Object type,
int[] arguments)
doNewObject in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doMaterializeFunction(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int exception,
com.ibm.wala.cast.tree.CAstEntity fn)
doMaterializeFunction in class com.ibm.wala.cast.ir.translator.AstTranslatorpublic void doArrayRead(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int arrayValue,
com.ibm.wala.cast.tree.CAstNode arrayRef,
int[] dimValues)
doArrayRead in interface com.ibm.wala.cast.ir.translator.ArrayOpHandlerdoArrayRead in class com.ibm.wala.cast.ir.translator.AstTranslatorpublic void doArrayWrite(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int arrayValue,
com.ibm.wala.cast.tree.CAstNode arrayRef,
int[] dimValues,
int rval)
doArrayWrite in interface com.ibm.wala.cast.ir.translator.ArrayOpHandlerdoArrayWrite in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doFieldRead(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int receiver,
com.ibm.wala.cast.tree.CAstNode elt,
com.ibm.wala.cast.tree.CAstNode readNode)
doFieldRead in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doFieldWrite(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int receiver,
com.ibm.wala.cast.tree.CAstNode elt,
com.ibm.wala.cast.tree.CAstNode parent,
int rval)
doFieldWrite in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doPrimitive(int resultVal,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.CAstNode primitiveCall)
doPrimitive in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected void doIsFieldDefined(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
int result,
int ref,
com.ibm.wala.cast.tree.CAstNode f)
doIsFieldDefined in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected boolean visitInstanceOf(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext c,
com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext> visitor)
visitInstanceOf in class com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext>protected void leaveInstanceOf(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext c,
com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext> visitor)
leaveInstanceOf in class com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext>protected void doPrologue(com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)
doPrologue in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected boolean doVisit(com.ibm.wala.cast.tree.CAstNode n,
com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context,
com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext> visitor)
doVisit in class com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext>protected com.ibm.wala.cast.tree.CAstType topType()
topType in class com.ibm.wala.cast.ir.translator.AstTranslatorprotected com.ibm.wala.cast.tree.CAstType exceptionType()
exceptionType in class com.ibm.wala.cast.ir.translator.AstTranslatorCopyright © 2017. All rights reserved.