public override object Get(IStmMemory memoryRef, int[] memoryVersion = null) { IInnerTransactionStmMemory innerMemoryRef = (IInnerTransactionStmMemory)memoryRef; MemoryTuple memoryTuple = GenerateMemoryTuple(innerMemoryRef, memoryVersion); if (!memoryChanges.ContainsKey(innerMemoryRef)) { FixMemoryChange(innerMemoryRef, memoryTuple); } return(memoryTuple.value); }
public override void Set(IStmMemory memoryRef, object value, int[] memoryVersion = null) { IInnerTransactionStmMemory innerMemoryRef = (IInnerTransactionStmMemory)memoryRef; MemoryTuple memoryTuple = GenerateMemoryTuple(innerMemoryRef, memoryVersion, value); FixMemoryChange(innerMemoryRef, memoryTuple); if (!memoryRefsToUpdate.Contains(innerMemoryRef)) { memoryRefsToUpdate.Add(innerMemoryRef); } }
public abstract void Set(IStmMemory memoryRef, object value, int[] memoryVersion = null);
public abstract object Get(IStmMemory memoryRef, int[] memoryVersion = null);