Changeset 4722 for trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/GlobalSymbolicExpressionGrammar.cs
- Timestamp:
- 11/06/10 01:56:04 (14 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/GlobalSymbolicExpressionGrammar.cs
r4262 r4722 69 69 private Defun defunSymbol; 70 70 71 [StorableConstructor] 72 private GlobalSymbolicExpressionGrammar(bool deserializing) : base(deserializing) { } 73 private GlobalSymbolicExpressionGrammar(GlobalSymbolicExpressionGrammar original, Cloner cloner) 74 : base(original, cloner) { 75 defunSymbol = (Defun)cloner.Clone(original.defunSymbol); 76 maxFunctionArguments = original.maxFunctionArguments; 77 minFunctionArguments = original.minFunctionArguments; 78 maxFunctionDefinitions = original.maxFunctionDefinitions; 79 minFunctionDefinitions = original.minFunctionDefinitions; 80 } 81 71 82 public GlobalSymbolicExpressionGrammar(ISymbolicExpressionGrammar mainBranchGrammar) 72 83 : base(mainBranchGrammar) { … … 100 111 SetAllowedChild(defunSymbol, Symbols.Where(s => s.Name == symb.Name).First(), 0); 101 112 } 102 }103 104 //ctor for cloning105 private GlobalSymbolicExpressionGrammar() : base() { }106 [StorableConstructor]107 private GlobalSymbolicExpressionGrammar(bool deserializing)108 : base(deserializing) {109 113 } 110 114 … … 171 175 172 176 public override IDeepCloneable Clone(Cloner cloner) { 173 GlobalSymbolicExpressionGrammar clone = (GlobalSymbolicExpressionGrammar)base.Clone(cloner); 174 clone.defunSymbol = (Defun)cloner.Clone(this.defunSymbol); 175 clone.maxFunctionArguments = this.maxFunctionArguments; 176 clone.minFunctionArguments = this.minFunctionArguments; 177 clone.maxFunctionDefinitions = this.maxFunctionDefinitions; 178 clone.minFunctionDefinitions = this.minFunctionDefinitions; 179 return clone; 177 return new GlobalSymbolicExpressionGrammar(this, cloner); 180 178 } 181 179 }
Note: See TracChangeset
for help on using the changeset viewer.