Пример #1
0
        private CTFSymbol FindSymbol(string name)
        {
            CTFSymbol result = null;

            symbols.TryGetValue(name, out result);
            return(result);
        }
Пример #2
0
        public static CTFNTypeSpecifier Get(CTFScope scope, string name)
        {
            CTFSymbol s = scope.FindTypeSymbol(name);

            if (s == null)
            {
                return(null);
            }

            return(new CTFNTypeSpecifier(name, s.CtfType));
        }
Пример #3
0
        internal static void AddType(CTFScope scope, List <CTFTypeSpecifier> cds, List <CTFTypeSpecifier> cds2, CTFDeclarator cd)
        {
            // used by typealias
            CTFType ct = GetType(scope, cds);

            if (cds2 != null)
            {
                // Special case (unsigned long and so on)
                string    name = FullName(cds2);
                CTFSymbol cs   = new CTFSymbol(name, ct);
                scope.AddType(cs);
            }

            if (cd != null)
            {
                CTFSymbol cs = new CTFSymbol(cd.Name, ct);
                scope.AddType(cs);
            }
        }
Пример #4
0
 internal void AddStruct(CTFSymbol symbol)
 {
     symbols.Add(structPrefix + symbol.Name, symbol);
 }
Пример #5
0
 internal void AddType(CTFSymbol symbol)
 {
     symbols.Add(typePrefix + symbol.Name, symbol);
 }