protected internal virtual GeneratorResults GenerateCodeCore(ITextDocument input, string className, string rootNamespace, string sourceFileName, CancellationToken?cancelToken) { className = (className ?? Host.DefaultClassName) ?? DefaultClassName; rootNamespace = (rootNamespace ?? Host.DefaultNamespace) ?? DefaultNamespace; // Run the parser RazorParser parser = CreateParser(); Debug.Assert(parser != null); ParserResults results = parser.Parse(input); // Generate code RazorCodeGenerator generator = CreateCodeGenerator(className, rootNamespace, sourceFileName); generator.DesignTimeMode = Host.DesignTimeMode; generator.Visit(results); // Post process code Host.PostProcessGeneratedCode(generator.Context); // Extract design-time mappings IDictionary <int, GeneratedCodeMapping> designTimeLineMappings = null; if (Host.DesignTimeMode) { designTimeLineMappings = generator.Context.CodeMappings; } // Collect results and return return(new GeneratorResults(results, generator.Context.CompileUnit, designTimeLineMappings)); }
protected internal virtual GeneratorResults GenerateCodeCore(ITextDocument input, string className, string rootNamespace, string sourceFileName, CancellationToken?cancelToken) { className = (className ?? Host.DefaultClassName) ?? DefaultClassName; rootNamespace = (rootNamespace ?? Host.DefaultNamespace) ?? DefaultNamespace; // Run the parser RazorParser parser = CreateParser(); Debug.Assert(parser != null); ParserResults results = parser.Parse(input); // Generate code RazorCodeGenerator generator = CreateCodeGenerator(className, rootNamespace, sourceFileName); generator.DesignTimeMode = Host.DesignTimeMode; generator.Visit(results); var builder = CreateCodeBuilder(generator.Context); var builderResult = builder.Build(); // Collect results and return return(new GeneratorResults(results, builderResult)); }