public Value Bottom() { if (expandedFunction == null) { expandedFunction = makeNewFunction(); if (expandedFunction == null) { return(Value.Finished); } inputsSet = false; } EnsureInputsSet(); Value v = expandedFunction.Bottom(); if (v.Done) { expandedFunction = makeNewFunction(); if (expandedFunction == null) { return(Value.Finished); } inputsSet = false; EnsureInputsSet(); v = expandedFunction.Bottom(); } return(v); }
public Value Top() { if (expandedFunction == null) { expandedFunction = makeNewFunction(); if (expandedFunction == null) { return(Value.Finished); } inputsSet = false; } EnsureInputsSet(); Value v = expandedFunction.Top(); if (v.Done) { topArgumentBuffer.Clear(); expandedFunction = makeNewFunction(); if (expandedFunction == null) { return(Value.Finished); } inputsSet = false; EnsureInputsSet(); v = expandedFunction.Top(); } return(v); }