Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle noEmit and noEmitOnError with SemanticDiagnosticsBuilder #40880

Merged
merged 8 commits into from Oct 10, 2020

Conversation

sheetalkamat
Copy link
Member

@sheetalkamat sheetalkamat commented Oct 1, 2020

This ensures that diagnostics are checked through cache/or cached in builder instead of getting it from Program when emit is called and its going to fail in these two scenarios. We already do this for EmitAndSemanticDiagnosticsBuilder
Note that actual emit when succeeds on SemanticDiagnosticsBuilder is going to be redirected to program as intended as the emit is not tracked by the builder and would need to typecheck file before emitting as always but this ensures that cases where it fails to emit are handled.
Fixes #40808

Copy link
Member

@sandersn sandersn left a comment

Looks reasonable although I'm not familiar with this area of the code.

src/compiler/builder.ts Outdated Show resolved Hide resolved
PR Backlog automation moved this from Needs review to Needs merge Oct 9, 2020
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
src/compiler/builder.ts Outdated Show resolved Hide resolved
@sheetalkamat sheetalkamat merged commit a4b9bba into master Oct 10, 2020
8 checks passed
PR Backlog automation moved this from Needs merge to Done Oct 10, 2020
@sheetalkamat sheetalkamat deleted the semanticBuilderWithNoEmit branch Oct 10, 2020
@DanielRosenwasser
Copy link
Member

@DanielRosenwasser DanielRosenwasser commented Oct 14, 2020

@typescript-bot cherry-pick this to release-4.0

@typescript-bot
Copy link
Collaborator

@typescript-bot typescript-bot commented Oct 14, 2020

Heya @DanielRosenwasser, I've started to run the task to cherry-pick this into release-4.0 on this PR at 174b00a. You can monitor the build here.

@DanielRosenwasser DanielRosenwasser restored the semanticBuilderWithNoEmit branch Oct 14, 2020
typescript-bot pushed a commit to typescript-bot/TypeScript that referenced this issue Oct 14, 2020
Component commits:
ca35546 Add test that fails

c7b5005 Handle noEmit on semantic builder's emit as well

6a05abd Add test for tsbuildinfo text verification

8bae521 Fix noEmit handling for tsbuildinfo emit with SemanticDiagnosticBuilder

0fd4a08 Add test for noEmitOnError with SemanticDiagnosticsBuilder

4fa1d78 Fix tsbuildinfo emit with SemanticDiagnosticsBuilder on noEmitOnError

a3968e7 Update src/compiler/builder.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
174b00a Update src/compiler/builder.ts
@typescript-bot
Copy link
Collaborator

@typescript-bot typescript-bot commented Oct 14, 2020

Hey @DanielRosenwasser, I've opened #41107 for you.

@sheetalkamat sheetalkamat deleted the semanticBuilderWithNoEmit branch Oct 15, 2020
sheetalkamat added a commit that referenced this issue Oct 15, 2020
Component commits:
ca35546 Add test that fails

c7b5005 Handle noEmit on semantic builder's emit as well

6a05abd Add test for tsbuildinfo text verification

8bae521 Fix noEmit handling for tsbuildinfo emit with SemanticDiagnosticBuilder

0fd4a08 Add test for noEmitOnError with SemanticDiagnosticsBuilder

4fa1d78 Fix tsbuildinfo emit with SemanticDiagnosticsBuilder on noEmitOnError

a3968e7 Update src/compiler/builder.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
174b00a Update src/compiler/builder.ts

Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
PR Backlog
  
Done
Linked issues

Successfully merging this pull request may close these issues.

4 participants