public override object VisitCompilation_unit([NotNull] NyaParser.Compilation_unitContext context) { _currentNamespace = ""; object r = base.VisitCompilation_unit(context); _currentNamespace = null; return(r); }
public override object VisitCompilation_unit([NotNull] NyaParser.Compilation_unitContext context) { _scopeManager.Push(ScopeLevel.Global); foreach (var descriptor in ClassDescriptors) { _scopeManager.Push(ScopeLevel.Class); _currTypeBuilder = descriptor.Builder; foreach (var child in descriptor.Context.children.Where(x => !(x is NyaParser.Method_declarationContext) && !(x is NyaParser.Interface_method_declarationContext))) { Visit(child); } foreach (var method in descriptor.Methods) { VisitMethod(method); } // TODO: Check constructor visibility _currTypeBuilder.CreateType(); _currTypeBuilder = null; _scopeManager.Pop(); } foreach (var child in context.children.Where(x => !(x is NyaParser.Class_declarationContext))) { Visit(child); } foreach (var method in GlobalMethods) { VisitMethod(method); } ModuleBuilder.CreateGlobalFunctions(); SetAssemblyVersionInfo(); _scopeManager.Pop(); return(null); }
public override object VisitCompilation_unit([NotNull] NyaParser.Compilation_unitContext context) { VisitChildren(context); return(null); }