public static interface TranslatorToCAst.WalkContext<C extends TranslatorToCAst.WalkContext<C,T>,T>
| Modifier and Type | Method and Description |
|---|---|
default void |
addNameDecl(CAstNode n)
Add a name declaration to this context.
|
default void |
addScopedEntity(CAstNode newNode,
CAstEntity visit)
associate a child entity with a given CAstNode, e.g.
|
default CAstControlFlowRecorder |
cfg()
for recording control-flow relationships among the CAst nodes
|
default T |
getBreakFor(java.lang.String label)
for a 'break' style goto, return the control flow target
|
default CAstNode |
getCatchTarget() |
default CAstNode |
getCatchTarget(java.lang.String s) |
default T |
getContinueFor(java.lang.String label)
for a 'continue' style goto, return the control flow target
|
default java.util.List<CAstNode> |
getNameDecls() |
default CAstNodeTypeMapRecorder |
getNodeTypeMap()
for recording types of nodes
|
TranslatorToCAst.WalkContext<C,T> |
getParent() |
default java.util.Map<CAstNode,java.util.Collection<CAstEntity>> |
getScopedEntities()
get a mapping from CAstNodes to the scoped entities (e.g.
|
default CAstSourcePositionRecorder |
pos()
for recording source positions
|
default T |
top() |
TranslatorToCAst.WalkContext<C,T> getParent()
default void addNameDecl(CAstNode n)
CAstNode.DECL_STMT, and the initialization of the variable (if any) may occur in a separate
assignment. For functions, n should be a CAstNode.FUNCTION_STMT, including the
function body.default java.util.List<CAstNode> getNameDecls()
default java.util.Map<CAstNode,java.util.Collection<CAstEntity>> getScopedEntities()
null to those entities not corresponding to any
node (e.g nested classes)default CAstNode getCatchTarget()
default CAstNode getCatchTarget(java.lang.String s)
default T top()
default void addScopedEntity(CAstNode newNode, CAstEntity visit)
default CAstControlFlowRecorder cfg()
default CAstSourcePositionRecorder pos()
default CAstNodeTypeMapRecorder getNodeTypeMap()
default T getContinueFor(java.lang.String label)
default T getBreakFor(java.lang.String label)