Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/26/09 17:56:55 (15 years ago)
Author:
epitzer
Message:

Almost complete solution for correctly handling parent references. (#506)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/New Persistence Exploration/Persistence/Persistence/Core/DeSerializer.cs

    r1425 r1434  
    55namespace HeuristicLab.Persistence.Core { 
    66
    7   struct ParentReference { }
     7  public struct ParentReference {}
    88  delegate void Setter(object value); 
    99
     
    1818    }
    1919
    20     public void AddValue(string name, object value) {
    21       customValues.Add(new Tag(name, value));
     20    public void AddValue(string name, object value, List<DeSerializer.Thunk> finalFixes) {
     21      Tag t = new Tag(name, value);
     22      t.finalFixes = finalFixes;
     23      customValues.Add(t);
    2224    }
    2325
     
    3133
    3234    private delegate void Handler(ISerializationToken token);
    33     private delegate void Thunk();
     35    public delegate void Thunk();
    3436
    3537    private readonly Dictionary<int, object> id2obj;
     
    136138
    137139    private void NullHandler(ISerializationToken token) {
    138       NullReferenceToken nil = (NullReferenceToken)token;
    139       SetValue(nil.Name, null);
     140      NullReferenceToken nullToken = (NullReferenceToken)token;
     141      SetValue(nullToken.Name, null);
    140142    }   
    141143
     
    144146        parentStack.Push(new CompositeObject(value));
    145147      } else {       
    146         parentStack.Peek().AddValue(name, value);       
     148        parentStack.Peek().AddValue(name, value, finalFixes);       
    147149      }
    148150    }
Note: See TracChangeset for help on using the changeset viewer.