Skip to content

Commit 8402b38

Browse files
zshannonjakebailey
andcommitted
pull upstream (#3)
* Update submodule, fix JSON syntax problems (microsoft#1285) * Pool EmitContext (microsoft#1287) --------- Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com>
1 parent 634e421 commit 8402b38

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

internal/compiler/emitter.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ func (e *emitter) emit() {
4949
e.emitBuildInfo(e.paths.BuildInfoPath())
5050
}
5151

52-
func (e *emitter) getDeclarationTransformers(emitContext *printer.EmitContext, declarationFilePath string, declarationMapPath string) []*declarations.DeclarationTransformer {
53-
transform := declarations.NewDeclarationTransformer(e.host, emitContext, e.host.Options(), declarationFilePath, declarationMapPath)
52+
func (e *emitter) getDeclarationTransformers(emitContext *printer.EmitContext, sourceFile *ast.SourceFile, declarationFilePath string, declarationMapPath string) []*declarations.DeclarationTransformer {
53+
emitResolver := e.host.GetEmitResolver(sourceFile, false /*skipDiagnostics*/) // !!! conditionally skip diagnostics
54+
transform := declarations.NewDeclarationTransformer(e.host, emitResolver, emitContext, e.host.Options(), declarationFilePath, declarationMapPath)
5455
return []*declarations.DeclarationTransformer{transform}
5556
}
5657

@@ -85,7 +86,7 @@ func getScriptTransformers(emitContext *printer.EmitContext, host printer.EmitHo
8586
var emitResolver printer.EmitResolver
8687
var referenceResolver binder.ReferenceResolver
8788
if importElisionEnabled || options.GetJSXTransformEnabled() {
88-
emitResolver = host.GetEmitResolver()
89+
emitResolver = host.GetEmitResolver(sourceFile, false /*skipDiagnostics*/) // !!! conditionally skip diagnostics
8990
emitResolver.MarkLinkedReferencesRecursively(sourceFile)
9091
referenceResolver = emitResolver
9192
} else {
@@ -178,7 +179,7 @@ func (e *emitter) emitDeclarationFile(sourceFile *ast.SourceFile, declarationFil
178179
var diags []*ast.Diagnostic
179180
emitContext, putEmitContext := printer.GetEmitContext()
180181
defer putEmitContext()
181-
for _, transformer := range e.getDeclarationTransformers(emitContext, declarationFilePath, declarationMapPath) {
182+
for _, transformer := range e.getDeclarationTransformers(emitContext, sourceFile, declarationFilePath, declarationMapPath) {
182183
sourceFile = transformer.TransformSourceFile(sourceFile)
183184
diags = append(diags, transformer.GetDiagnostics()...)
184185
}
@@ -377,7 +378,6 @@ type SourceFileMayBeEmittedHost interface {
377378
IsSourceFileFromExternalLibrary(file *ast.SourceFile) bool
378379
GetCurrentDirectory() string
379380
UseCaseSensitiveFileNames() bool
380-
SourceFiles() []*ast.SourceFile
381381
}
382382

383383
func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host SourceFileMayBeEmittedHost, forceDtsEmit bool) bool {
@@ -435,7 +435,7 @@ func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host SourceFileMayBeEmit
435435
return true
436436
}
437437

438-
func getSourceFilesToEmit(host SourceFileMayBeEmittedHost, targetSourceFile *ast.SourceFile, forceDtsEmit bool) []*ast.SourceFile {
438+
func getSourceFilesToEmit(host printer.EmitHost, targetSourceFile *ast.SourceFile, forceDtsEmit bool) []*ast.SourceFile {
439439
// !!! outFile not yet implemented, may be deprecated
440440
var sourceFiles []*ast.SourceFile
441441
if targetSourceFile != nil {
@@ -452,13 +452,13 @@ func isSourceFileNotJson(file *ast.SourceFile) bool {
452452
return !ast.IsJsonSourceFile(file)
453453
}
454454

455-
func getDeclarationDiagnostics(host EmitHost, file *ast.SourceFile) []*ast.Diagnostic {
455+
func getDeclarationDiagnostics(host EmitHost, resolver printer.EmitResolver, file *ast.SourceFile) []*ast.Diagnostic {
456456
fullFiles := core.Filter(getSourceFilesToEmit(host, file, false), isSourceFileNotJson)
457457
if !core.Some(fullFiles, func(f *ast.SourceFile) bool { return f == file }) {
458458
return []*ast.Diagnostic{}
459459
}
460460
options := host.Options()
461-
transform := declarations.NewDeclarationTransformer(host, nil, options, "", "")
461+
transform := declarations.NewDeclarationTransformer(host, resolver, nil, options, "", "")
462462
transform.TransformSourceFile(file)
463463
return transform.GetDiagnostics()
464464
}

0 commit comments

Comments
 (0)