public TempValue AddTempValue(IExpression expression, ReferenceType referenceType) { var tempValue = new TempValue(this, expression, referenceType); tempValues.Add(tempValue); Dirty(); return(tempValue); }
public void Capture(TempValue argument) { if (argument.Graph != Graph) { throw new ArgumentException("Must be part of the same graph", nameof(argument)); } AddReferences(argument.StealReferences()); Graph.Drop(argument); }
internal void Assign(TempValue temp) { ReleaseReferences(); AddReferences(temp.StealReferences()); }