Ejemplo n.º 1
0
        public bool ContainsKey(
            Mid.MidAttributeDecl attribute)
        {
            if (_attributes.ContainsKey(attribute))
            {
                return(true);
            }

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

            return(false);
        }
Ejemplo n.º 2
0
        public IEmitVal Lookup(
            Mid.MidAttributeDecl attribute,
            IEmitBlock block)
        {
            Func <IEmitBlock, IEmitVal> generator;

            if (_attributes.TryGetValue(attribute, out generator))
            {
                return(generator(block));
            }

            if (_outer != null)
            {
                return(_outer.Lookup(attribute, block));
            }

            throw new KeyNotFoundException();
        }
Ejemplo n.º 3
0
 public void Insert(
     Mid.MidAttributeDecl attribute,
     Func <IEmitBlock, IEmitVal> generator)
 {
     _attributes[attribute] = generator;
 }