Пример #1
0
        public override void VisitDeclarationClass(DeclarationClass n)
        {
            var cls = new TypeClass(n.Name);

            _currentClass = cls;
            n.Descriptor  = _scopeMgr.AddClass(cls.ClassName, cls);
            n.Type        = cls;
        }
Пример #2
0
        public FirstPass(Node treeNode, ScopeManager mgr)
        {
            _root     = treeNode;
            _scopeMgr = mgr;

            var globalClass = new TypeClass("__global");

            globalClass.Descriptor = _scopeMgr.AddClass(globalClass.ClassName, globalClass);

            //setup built in system methods
            foreach (var m in InternalMethodManager.Methods)
            {
                m.FuncInfo.Scope = _scopeMgr.TopScope;
                _scopeMgr.AddMethod(m.Name.ToLower(), m.FuncInfo, globalClass, null, true);
            }
        }