public abstract class CAstBasicRewriter extends CAstRewriter<CAstBasicRewriter.NonCopyingContext,CAstBasicRewriter.NoKey>
CAstRewriters that do no cloning of nodes| Modifier 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, rewriteprotected CAstBasicRewriter(CAst Ast, boolean recursive)
protected abstract CAstNode copyNodes(CAstNode root, CAstControlFlowMap cfg, CAstBasicRewriter.NonCopyingContext context, Map<Pair<CAstNode,CAstBasicRewriter.NoKey>,CAstNode> nodeMap)
CAstRewritercopyNodes in class CAstRewriter<CAstBasicRewriter.NonCopyingContext,CAstBasicRewriter.NoKey>