public CodeFrame Clone() { var copy = new CodeFrame(); copy.Layouts = Layouts.Clone(); copy.Strings = Strings.Clone(); copy.GlobalScope = GlobalScope.Clone(); copy.Ops = Ops.Clone(); copy.OpData = OpData.Clone(); copy._references = new ReferenceMap(_references); copy.Symbols = Symbols != null?Symbols.Clone() : null; copy.HandleMap = HandleMap.Clone(); copy.InternalTypes = new Dictionary <String, Int32>(InternalTypes); copy._internalClasses = new ClassMap(_internalClasses); copy.InternalInstances = InternalInstances.Clone(); copy.LateBounds = LateBounds.Clone(); copy.InternalConstructors = InternalConstructors.Clone(); return(copy); }