Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/23/09 16:43:34 (14 years ago)
Author:
swagner
Message:

Refactored cloning (#806)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core/3.3/AtomicOperation.cs

    r1823 r2526  
    6969    /// </summary>
    7070    /// <remarks>The operator and the scope objects are cloned with the
    71     /// <see cref="HeuristicLab.Core.Auxiliary.Clone"/> method of the <see cref="Auxiliary"/> class.</remarks>
     71    /// <see cref="HeuristicLab.Core.cloner.Clone"/> method of the <see cref="Auxiliary"/> class.</remarks>
    7272    /// <param name="clonedObjects">All already cloned objects. (Needed to avoid cycles.)</param>
    7373    /// <returns>The cloned object as <see cref="AtomicOperation"/>.</returns>
    74     public override object Clone(IDictionary<Guid, object> clonedObjects) {
     74    public override IItem Clone(ICloner cloner) {
    7575      AtomicOperation clone = new AtomicOperation();
    76       clonedObjects.Add(Guid, clone);
    77       clone.myOperator = (IOperator)Auxiliary.Clone(Operator, clonedObjects);
    78       clone.myScope = (IScope)Auxiliary.Clone(Scope, clonedObjects);
     76      cloner.RegisterClonedObject(this, clone);
     77      clone.myOperator = (IOperator)cloner.Clone(Operator);
     78      clone.myScope = (IScope)cloner.Clone(Scope);
    7979      return clone;
    8080    }
Note: See TracChangeset for help on using the changeset viewer.