public override void VisitDeclarationClass(DeclarationClass n) { var cls = new TypeClass(n.Name); _currentClass = cls; n.Descriptor = _scopeMgr.AddClass(cls.ClassName, cls); n.Type = cls; }
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); } }