internal void CompleteCompilationEventQueue_NoLock() { Debug.Assert(EventQueue != null); // Signal the end of compilation. EventQueue.TryEnqueue(new CompilationCompletedEvent(this)); EventQueue.PromiseNotToEnqueue(); EventQueue.TryComplete(); }
public void TestEarlyCancellation() { var source = @" namespace N1 { partial class Class { private void NonPartialMethod1() { } partial void PartialMethod(); } } "; var tree = CSharpSyntaxTree.ParseText(source, path: "file1"); var eventQueue = new AsyncQueue <CompilationEvent>(); var compilation = CreateCompilationWithMscorlib45(new[] { tree }).WithEventQueue(eventQueue); eventQueue.TryComplete(); // complete the queue before the compiler is finished with it var model = compilation.GetSemanticModel(tree); model.GetDiagnostics(tree.GetRoot().FullSpan); }
public void TestEarlyCancellation() { var source = @" namespace N1 { partial class Class { private void NonPartialMethod1() { } partial void PartialMethod(); } } "; var tree = CSharpSyntaxTree.ParseText(source, path: "file1"); var eventQueue = new AsyncQueue<CompilationEvent>(); var compilation = CreateCompilationWithMscorlib45(new[] { tree }).WithEventQueue(eventQueue); eventQueue.TryComplete(); // complete the queue before the compiler is finished with it var model = compilation.GetSemanticModel(tree); model.GetDiagnostics(tree.GetRoot().FullSpan); }