예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CopyMemoryAlias" /> class.
 /// </summary>
 /// <param name="associatedStructure">The associated structure.</param>
 /// <param name="memoryAlias">The memory alias.</param>
 public LazyCopyMemoryAlias(IWriteableSnapshotStructure associatedStructure, LazyCopyMemoryAlias memoryAlias)
 {
     this.sourceIndex         = memoryAlias.sourceIndex;
     this.mayAliases          = memoryAlias.mayAliases.Clone();
     this.mustAliases         = memoryAlias.mustAliases.Clone();
     this.associatedStructure = associatedStructure;
 }
예제 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LazyCopyStackContext"/> class.
 /// </summary>
 /// <param name="context">The context.</param>
 public LazyCopyStackContext(LazyCopyStackContext context)
 {
     this.variables          = context.variables.Clone();
     this.controllVariables  = context.controllVariables.Clone();
     this.temporaryVariables = context.temporaryVariables.Clone();
     this.arrays             = context.arrays.Clone();
     StackLevel = context.StackLevel;
 }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LazyCopyStackContext" /> class.
 /// </summary>
 /// <param name="stackLevel">The stack level.</param>
 public LazyCopyStackContext(int stackLevel)
 {
     this.variables          = new LazyCopyIndexContainer();
     this.controllVariables  = new LazyCopyIndexContainer();
     this.temporaryVariables = new LazyCopySet <MemoryIndex>();
     this.arrays             = new LazyCopySet <AssociativeArray>();
     StackLevel = stackLevel;
 }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CopyMemoryAlias"/> class.
 /// </summary>
 public LazyCopyMemoryAlias(IWriteableSnapshotStructure associatedStructure)
 {
     mayAliases  = new LazyCopySet <MemoryIndex>();
     mustAliases = new LazyCopySet <MemoryIndex>();
     this.associatedStructure = associatedStructure;
 }
예제 #5
0
 /// <inheritdoc />
 public LazyCopySet(LazyCopySet <T> set)
 {
     valueSet = set.valueSet;
     copied   = false;
 }