public class ExposedNamesCollector extends CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
entity
are exposed, i.e., accessed by nested functions.CAstVisitor.Context
currentPosition, DEBUG
Constructor and Description |
---|
ExposedNamesCollector() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
doVisit(CAstNode n,
com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext context,
CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Node processing hook; sub-classes are expected to override if they
introduce new node types.
|
Map<CAstEntity,Set<String>> |
getEntity2ExposedNames() |
protected void |
leaveDeclStmt(CAstNode n,
com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c,
CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Leave a DeclStmt node.
|
protected void |
leaveFunctionStmt(CAstNode n,
com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c,
CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Leave a FunctionStmt node.
|
protected void |
leaveVar(CAstNode n,
com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c,
CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Leave a Var node.
|
protected void |
leaveVarAssign(CAstNode n,
CAstNode v,
CAstNode a,
com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c,
CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Visit a Var Assignment node after visiting the LHS.
|
protected void |
leaveVarAssignOp(CAstNode n,
CAstNode v,
CAstNode a,
boolean pre,
com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c,
CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Visit a Var Op/Assignment node after visiting the LHS.
|
protected com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext |
makeCodeContext(com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext context,
CAstEntity n)
Construct a context for a Code entity.
|
void |
run(CAstEntity N)
run the collector on an entity
|
doVisitArrayRefNode, doVisitAssignNodes, doVisitEntity, enterEntity, enterNode, getCurrentPosition, getParent, leaveArrayLength, leaveArrayLiteral, leaveArrayLiteralInitElement, leaveArrayLiteralObject, leaveArrayRef, leaveArrayRefAssign, leaveArrayRefAssignOp, leaveAssert, leaveAssign, leaveBinaryExpr, leaveBlockExpr, leaveBlockExprAssign, leaveBlockExprAssignOp, leaveBlockStmt, leaveCall, leaveCast, leaveCatch, leaveConstant, leaveEachElementGet, leaveEachElementHasNext, leaveEcho, leaveEmpty, leaveEntity, leaveFieldEntity, leaveFileEntity, leaveForIn, leaveFunctionEntity, leaveFunctionExpr, leaveGetCaughtException, leaveGlobalEntity, leaveGoto, leaveIfExpr, leaveIfExprCondition, leaveIfExprTrueClause, leaveIfgoto, leaveIfStmt, leaveIfStmtCondition, leaveIfStmtTrueClause, leaveInclude, leaveInstanceOf, leaveIsDefinedExpr, leaveLabelStmt, leaveLocalScope, leaveLoop, leaveLoopHeader, leaveMacroEntity, leaveMacroVar, leaveNew, leaveNode, leaveObjectLiteral, leaveObjectLiteralFieldInit, leaveObjectRef, leaveObjectRefAssign, leaveObjectRefAssignOp, leavePrimitive, leaveReturn, leaveScriptEntity, leaveSpecialParentScope, leaveSuper, leaveSwitch, leaveSwitchValue, leaveThis, leaveThrow, leaveTry, leaveTryBlock, leaveTypeEntity, leaveTypeLiteralExpr, leaveUnaryExpr, leaveUnwind, leaveVoid, makeFileContext, makeLocalContext, makeSpecialParentContext, makeTypeContext, makeUnwindContext, postProcessEntity, postProcessNode, setParent, visit, visitAllChildren, visitArrayLength, visitArrayLiteral, visitArrayRef, visitArrayRefAssign, visitArrayRefAssignOp, visitAssert, visitAssign, visitAssignNodes, visitBinaryExpr, visitBlockExpr, visitBlockExprAssign, visitBlockExprAssignOp, visitBlockStmt, visitCall, visitCast, visitCatch, visitChildren, visitConstant, visitDeclStmt, visitEachElementGet, visitEachElementHasNext, visitEcho, visitEmpty, visitEntities, visitEntity, visitFieldEntity, visitFileEntity, visitForIn, visitFunctionEntity, visitFunctionExpr, visitFunctionStmt, visitGetCaughtException, visitGlobalEntity, visitGoto, visitIfExpr, visitIfgoto, visitIfStmt, visitInclude, visitInstanceOf, visitIsDefinedExpr, visitLabelStmt, visitLocalScope, visitLoop, visitMacroEntity, visitMacroVar, visitNew, visitNode, visitObjectLiteral, visitObjectRef, visitObjectRefAssign, visitObjectRefAssignOp, visitPrimitive, visitReturn, visitScopedEntities, visitScopedEntities, visitScriptEntity, visitSpecialParentScope, visitSuper, visitSwitch, visitThis, visitThrow, visitTry, visitTypeEntity, visitTypeLiteralExpr, visitUnaryExpr, visitUnwind, visitVar, visitVarAssign, visitVarAssignOp, visitVoid
public Map<CAstEntity,Set<String>> getEntity2ExposedNames()
public void run(CAstEntity N)
N
- the entityprotected com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext makeCodeContext(com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext context, CAstEntity n)
CAstVisitor
makeCodeContext
in class CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
context
- a visitor-specific context in which the code was visitedn
- the code entityprotected void leaveDeclStmt(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
CAstVisitor
leaveDeclStmt
in class CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
n
- the node to processc
- a visitor-specific contextprotected void leaveFunctionStmt(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
CAstVisitor
leaveFunctionStmt
in class CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
n
- the node to processc
- a visitor-specific contextprotected void leaveVar(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
CAstVisitor
leaveVar
in class CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
n
- the node to processc
- a visitor-specific contextprotected void leaveVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
CAstVisitor
leaveVarAssignOp
in class CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
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 leaveVarAssign(CAstNode n, CAstNode v, CAstNode a, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
CAstVisitor
leaveVarAssign
in class CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific contextprotected boolean doVisit(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext context, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
CAstVisitor
doVisit
in class CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>