예제 #1
0
        /// <summary>
        /// Register a new declaration for a possibly repeated name.
        /// Useful to support Overloaded routine and so on
        /// </summary>
        public void RegisterDeclarationRemap(String name, Declaration decl)
        {
            if (!symEnv.Add(name, decl, false))
            {
                throw new InternalSemanticError("could not register " + decl.DeclName());
            }

            Debug("Register Decl " + name);             // + Environment.NewLine + symtab.ListTable(3));
        }
예제 #2
0
            internal Value GetValue(Declaration d)
            {
                Value val = null;
                bool  ret = values.TryGetValue(d, out val);

                Debug.Assert(!ret || val != null, "LLVM value not found for declaration: " + d.DeclName());
                return(val);
            }