Пример #1
0
        public bool CheckDefinitions(ModuleContainer module)
        {
            var ctx = module.Compiler;

            foreach (var p in types)
            {
                var found = PredefinedType.Resolve(module, p.Kind, p.Namespace, p.Name, p.Arity);
                if (found == null || found == p)
                {
                    continue;
                }

                var tc = found.MemberDefinition as TypeContainer;
                if (tc != null)
                {
                    var ns = module.GlobalRootNamespace.GetNamespace(p.Namespace, false);
                    ns.SetBuiltinType(p);

                    tc.SetPredefinedSpec(p);
                    p.SetDefinition(found);
                }
            }

            if (ctx.Report.Errors != 0)
            {
                return(false);
            }

            // Set internal build-in types
            Dynamic.SetDefinition(Object);

            return(true);
        }