Package com.ibm.wala.cast.ir.translator
Class ExposedNamesCollector
- java.lang.Object
-
- com.ibm.wala.cast.tree.visit.CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
-
- com.ibm.wala.cast.ir.translator.ExposedNamesCollector
-
public class ExposedNamesCollector extends CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>
discovers which names declared by anentityare exposed, i.e., accessed by nested functions.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.ibm.wala.cast.tree.visit.CAstVisitor
CAstVisitor.Context
-
-
Field Summary
-
Fields inherited from class com.ibm.wala.cast.tree.visit.CAstVisitor
currentPosition, DEBUG
-
-
Constructor Summary
Constructors Constructor Description ExposedNamesCollector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleandoVisit(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 voidleaveDeclStmt(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 voidleaveFunctionStmt(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 voidleaveVar(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 voidleaveVarAssign(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 voidleaveVarAssignOp(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.EntityContextmakeCodeContext(com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext context, CAstEntity n)Construct a context for a Code entity.voidrun(CAstEntity N)run the collector on an entity-
Methods inherited from class com.ibm.wala.cast.tree.visit.CAstVisitor
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
-
-
-
-
Method Detail
-
getEntity2ExposedNames
public Map<CAstEntity,Set<String>> getEntity2ExposedNames()
-
run
public void run(CAstEntity N)
run the collector on an entity- Parameters:
N- the entity
-
makeCodeContext
protected com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext makeCodeContext(com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext context, CAstEntity n)Description copied from class:CAstVisitorConstruct a context for a Code entity.- Overrides:
makeCodeContextin classCAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>- Parameters:
context- a visitor-specific context in which the code was visitedn- the code entity
-
leaveDeclStmt
protected void leaveDeclStmt(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Description copied from class:CAstVisitorLeave a DeclStmt node.- Overrides:
leaveDeclStmtin classCAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>- Parameters:
n- the node to processc- a visitor-specific context
-
leaveFunctionStmt
protected void leaveFunctionStmt(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Description copied from class:CAstVisitorLeave a FunctionStmt node.- Overrides:
leaveFunctionStmtin classCAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>- Parameters:
n- the node to processc- a visitor-specific context
-
leaveVar
protected void leaveVar(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext c, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Description copied from class:CAstVisitorLeave a Var node.- Overrides:
leaveVarin classCAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>- Parameters:
n- the node to processc- a visitor-specific context
-
leaveVarAssignOp
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)
Description copied from class:CAstVisitorVisit a Var Op/Assignment node after visiting the LHS.- Overrides:
leaveVarAssignOpin classCAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>- Parameters:
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 context
-
leaveVarAssign
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)
Description copied from class:CAstVisitorVisit a Var Assignment node after visiting the LHS.- Overrides:
leaveVarAssignin classCAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>- Parameters:
n- the LHS node to processv- the RHS node to processa- the assignment node to processc- a visitor-specific context
-
doVisit
protected boolean doVisit(CAstNode n, com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext context, CAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext> visitor)
Description copied from class:CAstVisitorNode processing hook; sub-classes are expected to override if they introduce new node types. (Should invoke super.doVisit() for unprocessed nodes.)- Overrides:
doVisitin classCAstVisitor<com.ibm.wala.cast.ir.translator.ExposedNamesCollector.EntityContext>- Returns:
- true if node was handled
-
-