Exemple #1
0
        // <remarks>
        //   This function is used to resolve the hierarchy tree.
        //   It processes interfaces, structs and classes in that order.
        //
        //   It creates the TypeBuilder's as it processes the user defined
        //   types.
        // </remarks>
        static public void ResolveTree()
        {
            root.Resolve();

            //
            // Interfaces are processed next, as classes and
            // structs might inherit from an object or implement
            // a set of interfaces, we need to be able to tell
            // them appart by just using the TypeManager.
            //
            foreach (TypeContainer tc in root.Types)
            {
                tc.CreateType();
            }

            foreach (TypeContainer tc in root.Types)
            {
                tc.DefineType();
            }

            if (root.Delegates != null)
            {
                foreach (Delegate d in root.Delegates)
                {
                    d.DefineType();
                }
            }
        }