Example #1
0
        public void Add(LllSymbol symbol)
        {
            var funcSym = symbol as LllFunction;

            if (funcSym != null)
            {
                var func = funcSym.Extra as AstFunc;
                if (func.IsGeneric)
                {
                    GenericSymbols.Add(symbol);
                    return;
                }
            }
            var structSym = symbol as LllStruct;

            if (structSym != null)
            {
                var @struct = structSym.Struct;
                if (@struct.IsGeneric)
                {
                    GenericSymbols.Add(symbol);
                    return;
                }
            }
            ConcreteSymbols.Add(symbol);
        }
Example #2
0
 public void RemoveAll(Predicate <LllSymbol> match)
 {
     ConcreteSymbols.RemoveAll(match);
     GenericSymbols.RemoveAll(match);
 }