com.ibm.wala.cast.tree.impl
Class CAstCloner

java.lang.Object
  extended by com.ibm.wala.cast.tree.impl.CAstRewriter<CAstBasicRewriter.NonCopyingContext,CAstBasicRewriter.NoKey>
      extended by com.ibm.wala.cast.tree.impl.CAstBasicRewriter
          extended by com.ibm.wala.cast.tree.impl.CAstCloner

public class CAstCloner
extends CAstBasicRewriter


Nested Class Summary
 
Nested classes/interfaces inherited from class com.ibm.wala.cast.tree.impl.CAstBasicRewriter
CAstBasicRewriter.NoKey, CAstBasicRewriter.NonCopyingContext
 
Nested classes/interfaces inherited from class com.ibm.wala.cast.tree.impl.CAstRewriter
CAstRewriter.CopyKey<Self extends CAstRewriter.CopyKey>, CAstRewriter.Rewrite, CAstRewriter.RewriteContext<K extends CAstRewriter.CopyKey>
 
Field Summary
 
Fields inherited from class com.ibm.wala.cast.tree.impl.CAstRewriter
Ast, DEBUG, recursive, rootContext
 
Constructor Summary
CAstCloner(CAst Ast)
           
CAstCloner(CAst Ast, boolean recursive)
           
 
Method Summary
 CAstRewriter.Rewrite copy(CAstNode root, CAstControlFlowMap cfg, CAstSourcePositionMap pos, CAstNodeTypeMap types, java.util.Map<CAstNode,java.util.Collection<CAstEntity>> children)
           
protected  CAstNode copyNodes(CAstNode root, CAstBasicRewriter.NonCopyingContext c, java.util.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.
protected  CAstNode copyNodesHackForEclipse(CAstNode root, CAstBasicRewriter.NonCopyingContext c, java.util.Map<Pair<CAstNode,CAstBasicRewriter.NoKey>,CAstNode> nodeMap)
          what is the hack here? --MS
 
Methods inherited from class com.ibm.wala.cast.tree.impl.CAstRewriter
flowOutTo, rewrite, rewrite
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CAstCloner

public CAstCloner(CAst Ast,
                  boolean recursive)

CAstCloner

public CAstCloner(CAst Ast)
Method Detail

copyNodes

protected CAstNode copyNodes(CAstNode root,
                             CAstBasicRewriter.NonCopyingContext c,
                             java.util.Map<Pair<CAstNode,CAstBasicRewriter.NoKey>,CAstNode> nodeMap)
Description copied from class: CAstRewriter
rewrite the CAst rooted at root under some context, returning the node at the root of the rewritten tree. mutate nodeMap in the process, indicating how (original node, copy key) pairs are mapped to nodes in the rewritten tree.

Specified by:
copyNodes in class CAstBasicRewriter

copyNodesHackForEclipse

protected CAstNode copyNodesHackForEclipse(CAstNode root,
                                           CAstBasicRewriter.NonCopyingContext c,
                                           java.util.Map<Pair<CAstNode,CAstBasicRewriter.NoKey>,CAstNode> nodeMap)
what is the hack here? --MS


copy

public CAstRewriter.Rewrite copy(CAstNode root,
                                 CAstControlFlowMap cfg,
                                 CAstSourcePositionMap pos,
                                 CAstNodeTypeMap types,
                                 java.util.Map<CAstNode,java.util.Collection<CAstEntity>> children)