public abstract class CAstBasicRewriter extends CAstRewriter<CAstBasicRewriter.NonCopyingContext,CAstBasicRewriter.NoKey>
CAstRewriter
s that do no cloning of nodesModifier and Type | Class and Description |
---|---|
static class |
CAstBasicRewriter.NoKey
key indicating that no duplication is being performed
|
static class |
CAstBasicRewriter.NonCopyingContext
context indicating that no cloning is being performed
|
CAstRewriter.CopyKey<Self extends CAstRewriter.CopyKey>, CAstRewriter.Rewrite, CAstRewriter.RewriteContext<K extends CAstRewriter.CopyKey>
Ast, DEBUG, recursive, rootContext
Modifier | Constructor and Description |
---|---|
protected |
CAstBasicRewriter(CAst Ast,
boolean recursive) |
Modifier and Type | Method and Description |
---|---|
protected abstract CAstNode |
copyNodes(CAstNode root,
CAstControlFlowMap cfg,
CAstBasicRewriter.NonCopyingContext context,
Map<Pair<CAstNode,CAstBasicRewriter.NoKey>,CAstNode> nodeMap)
rewrite the CAst rooted at root under some context, returning the node at
the root of the rewritten tree.
|
copyChildren, copyFlow, copySource, copyTypes, flowOutTo, rewrite, rewrite
protected CAstBasicRewriter(CAst Ast, boolean recursive)
protected abstract CAstNode copyNodes(CAstNode root, CAstControlFlowMap cfg, CAstBasicRewriter.NonCopyingContext context, Map<Pair<CAstNode,CAstBasicRewriter.NoKey>,CAstNode> nodeMap)
CAstRewriter
copyNodes
in class CAstRewriter<CAstBasicRewriter.NonCopyingContext,CAstBasicRewriter.NoKey>