edu.cmu.cs.crystal.util
Interface Copyable<C extends Copyable<C>>

All Known Subinterfaces:
LatticeElement<LE>

public interface Copyable<C extends Copyable<C>>

Since:
Crystal 3.4.0
Author:
ciera

Method Summary
 C copy()
          Creates a new deep copy of this C.
 

Method Detail

copy

C copy()
Creates a new deep copy of this C. "Deep copy" means that all mutable (changeable) objects referenced by the original C, must not be referenced by the copied C. Notice that immutable references may be shallow copied, so a completely immutable type may just return this.

Returns:
a copy of this that contains no references to mutable objects found in the original