public CowValue GetCowValue(EmitContext context) { if (_cowTracker != null) { if (_cowTracker.IsDirty || _cowTracker.ReferenceCount == 0) { _cowTracker = null; } else { return(new CowValue(_cowTracker)); } } _cowTracker = new CowValueInternalTracker(context, this); return(new CowValue(_cowTracker)); }
internal CowValue(CowValueInternalTracker tracker) { _tracker = tracker; _tracker.AddRef(this); }