public bool ContainsKey( MidVar var) { if (_vars.ContainsKey(var)) { return(true); } if (_outer != null) { return(_outer.ContainsKey(var)); } return(false); }
public IEmitVal Lookup( MidVar var, IEmitBlock block) { Func <IEmitBlock, IEmitVal> generator; if (_vars.TryGetValue(var, out generator)) { return(generator(block)); } if (_outer != null) { return(_outer.Lookup(var, block)); } throw new KeyNotFoundException(); }
public void Insert( MidVar var, Func <IEmitBlock, IEmitVal> generator) { _vars[var] = generator; }