예제 #1
0
        private EmitResult EmitTemplate(SyntaxTreeGrouping syntaxTreeGrouping, string filePath)
        {
            var compilation = new Compilation(TestResourceTypeProvider.Create(), syntaxTreeGrouping);
            var emitter     = new TemplateEmitter(compilation.GetEntrypointSemanticModel());

            using var stream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.None);
            return(emitter.Emit(stream));
        }
예제 #2
0
 public Compilation(IResourceTypeProvider resourceTypeProvider, SyntaxTreeGrouping syntaxTreeGrouping)
 {
     this.SyntaxTreeGrouping      = syntaxTreeGrouping;
     this.resourceTypeProvider    = resourceTypeProvider;
     this.lazySemanticModelLookup = syntaxTreeGrouping.SyntaxTrees.ToImmutableDictionary(
         syntaxTree => syntaxTree,
         syntaxTree => new Lazy <SemanticModel>(() => GetSemanticModelInternal(syntaxTree)));
 }
예제 #3
0
 public Compilation(IResourceTypeProvider resourceTypeProvider, SyntaxTreeGrouping syntaxTreeGrouping)
 {
     this.SyntaxTreeGrouping      = syntaxTreeGrouping;
     this.ResourceTypeProvider    = resourceTypeProvider;
     this.lazySemanticModelLookup = syntaxTreeGrouping.SyntaxTrees.ToImmutableDictionary(
         syntaxTree => syntaxTree,
         syntaxTree => new Lazy <SemanticModel>(() => new SemanticModel(this, syntaxTree, SyntaxTreeGrouping.FileResolver)));
 }
예제 #4
0
        private EmitResult EmitTemplate(SyntaxTreeGrouping syntaxTreeGrouping, MemoryStream memoryStream)
        {
            var compilation = new Compilation(TestResourceTypeProvider.Create(), syntaxTreeGrouping);
            var emitter     = new TemplateEmitter(compilation.GetEntrypointSemanticModel());

            TextWriter tw = new StreamWriter(memoryStream);

            return(emitter.Emit(tw));
        }
예제 #5
0
        private EmitResult EmitTemplate(SyntaxTreeGrouping syntaxTreeGrouping, MemoryStream memoryStream, string assemblyFileVersion)
        {
            var compilation = new Compilation(TestTypeHelper.CreateEmptyProvider(), syntaxTreeGrouping);
            var emitter     = new TemplateEmitter(compilation.GetEntrypointSemanticModel(), assemblyFileVersion);

            TextWriter tw = new StreamWriter(memoryStream);

            return(emitter.Emit(tw));
        }