Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/06/10 01:56:04 (14 years ago)
Author:
swagner
Message:

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTreeTopLevelNode.cs

    r4249 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    2627  [StorableClass]
    2728  public class SymbolicExpressionTreeTopLevelNode : SymbolicExpressionTreeNode {
    28     public SymbolicExpressionTreeTopLevelNode()
    29       : base() {
    30     }
    31 
    32     public SymbolicExpressionTreeTopLevelNode(Symbol symbol)
    33       : base(symbol) {
    34     }
    35 
    3629    [Storable]
    3730    private ISymbolicExpressionGrammar grammar;
     
    4336    }
    4437
    45     // copy constructor
    46     protected SymbolicExpressionTreeTopLevelNode(SymbolicExpressionTreeTopLevelNode original)
    47       : base(original) {
    48       if (original.Grammar != null)
    49         grammar = (ISymbolicExpressionGrammar)original.Grammar.Clone();
    50       //grammar = original.grammar;
     38    [StorableConstructor]
     39    protected SymbolicExpressionTreeTopLevelNode(bool deserializing) : base(deserializing) { }
     40    protected SymbolicExpressionTreeTopLevelNode(SymbolicExpressionTreeTopLevelNode original, Cloner cloner)
     41      : base(original, cloner) {
     42      grammar = cloner.Clone(original.Grammar);
    5143    }
     44    public SymbolicExpressionTreeTopLevelNode() : base() { }
     45    public SymbolicExpressionTreeTopLevelNode(Symbol symbol) : base(symbol) { }
    5246
    53     public override object Clone() {
    54       return new SymbolicExpressionTreeTopLevelNode(this);
     47
     48    public override IDeepCloneable Clone(Cloner cloner) {
     49      return new SymbolicExpressionTreeTopLevelNode(this, cloner);
    5550    }
    5651  }
Note: See TracChangeset for help on using the changeset viewer.