Exemple #1
0
        public bool ContainsKey(
            MidVar var)
        {
            if (_vars.ContainsKey(var))
            {
                return(true);
            }

            if (_outer != null)
            {
                return(_outer.ContainsKey(var));
            }

            return(false);
        }
Exemple #2
0
        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();
        }
Exemple #3
0
 public void Insert(
     MidVar var,
     Func <IEmitBlock, IEmitVal> generator)
 {
     _vars[var] = generator;
 }