/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <inheritdoc /> public LazyCopySet(LazyCopySet <T> set) { valueSet = set.valueSet; copied = false; }