internal /*public*/ void GenerateCodeModelForBatch(ICodeGenerator generator, StringResourceBuilder stringResourceBuilder) { _fBatchMode = true; _generator = generator; _stringResourceBuilder = stringResourceBuilder; // Build the data tree that needs to be compiled BuildSourceDataTree(); }
internal CodeCompileUnit GetCodeDomTree(CodeDomProvider codeDomProvider, StringResourceBuilder stringResourceBuilder, VirtualPath virtualPath) { this._codeDomProvider = codeDomProvider; this._stringResourceBuilder = stringResourceBuilder; this._virtualPath = virtualPath; if (!this.BuildSourceDataTree()) { return(null); } if (this.Parser.RootBuilder != null) { this.Parser.RootBuilder.OnCodeGenerationComplete(); } return(this._codeCompileUnit); }
/// <include file='doc\BaseCompiler.uex' path='docs/doc[@for="BaseCompiler.GetCompiledType"]/*' /> /// <devdoc> /// /// </devdoc> protected Type GetCompiledType() { // Instantiate an ICompiler based on the language CodeDomProvider codeProvider = (CodeDomProvider)HttpRuntime.CreatePublicInstance( CompilerInfo.CompilerType); ICodeCompiler compiler = codeProvider.CreateCompiler(); _generator = codeProvider.CreateGenerator(); _stringResourceBuilder = new StringResourceBuilder(); // Build the data tree that needs to be compiled BuildSourceDataTree(); // Create the resource file if needed if (_stringResourceBuilder.HasStrings) { string resFileName = _compilParams.TempFiles.AddExtension("res"); _stringResourceBuilder.CreateResourceFile(resFileName); CompilParams.Win32Resource = resFileName; } // Compile into an assembly CompilerResults results; try { results = codeProvider.CreateCompiler().CompileAssemblyFromDom(_compilParams, _sourceData); } catch (Exception e) { throw new HttpUnhandledException(HttpRuntime.FormatResourceString(SR.CompilationUnhandledException, codeProvider.GetType().FullName), e); } string fullTypeName = _sourceDataNamespace.Name + "." + _sourceDataClass.Name; ThrowIfCompilerErrors(results, codeProvider, _sourceData, null, null); // After the compilation, update the list of assembly dependencies to be what // the assembly actually needs. Parser.AssemblyDependencies = Util.GetReferencedAssembliesHashtable( results.CompiledAssembly); // Get the type from the assembly return(results.CompiledAssembly.GetType(fullTypeName, true /*throwOnFail*/)); }
internal /*public*/ CodeCompileUnit GetCodeDomTree(CodeDomProvider codeDomProvider, StringResourceBuilder stringResourceBuilder, VirtualPath virtualPath) { Debug.Assert(_codeDomProvider == null && _stringResourceBuilder == null); _codeDomProvider = codeDomProvider; _stringResourceBuilder = stringResourceBuilder; _virtualPath = virtualPath; // Build the data tree that needs to be compiled if (!BuildSourceDataTree()) { return(null); } // Tell the root builder that the CodeCompileUnit is now fully complete if (Parser.RootBuilder != null) { Parser.RootBuilder.OnCodeGenerationComplete(); } return(_codeCompileUnit); }
public SRBControl() { Trace.WriteLine("Entering SRBControl()"); InitializeComponent(); this.progressBar1.Visibility = Visibility.Hidden; m_Dte2 = Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(DTE)) as DTE2; m_StringResourceBuilder = new StringResourceBuilder(m_Dte2); m_StringResourceBuilder.InitProgress = InitProgress; m_StringResourceBuilder.HideProgress = HideProgress; m_StringResourceBuilder.SetProgress = SetProgress; m_StringResourceBuilder.ClearGrid = ClearGrid; m_StringResourceBuilder.SetGridItemsSource = SetGridItemsSource; m_StringResourceBuilder.RefreshGrid = RefreshGrid; m_StringResourceBuilder.SelectCell = SelectCell; m_StringResourceBuilder.GetSelectedItem = GetSelectedItem; m_StringResourceBuilder.GetSelectedColIndex = GetSelectedColIndex; m_StringResourceBuilder.GetSelectedRowIndex = GetSelectedRowIndex; }
internal /*public*/ CodeCompileUnit GetCodeDomTree(CodeDomProvider codeDomProvider, StringResourceBuilder stringResourceBuilder, VirtualPath virtualPath) { Debug.Assert(_codeDomProvider == null && _stringResourceBuilder == null); _codeDomProvider = codeDomProvider; _stringResourceBuilder = stringResourceBuilder; _virtualPath = virtualPath; // Build the data tree that needs to be compiled if (!BuildSourceDataTree()) return null; // Tell the root builder that the CodeCompileUnit is now fully complete if (Parser.RootBuilder != null) { Parser.RootBuilder.OnCodeGenerationComplete(); } return _codeCompileUnit; }
/* * Do one phase of sourcefiledata generation based on language requirements */ internal void BuildCodeModel(ICodeGenerator generator, StringResourceBuilder stringResourceBuilder) { _compiler.GenerateCodeModelForBatch(generator, stringResourceBuilder); }