-
Notifications
You must be signed in to change notification settings - Fork 688
Labels
CrashDomain: EmitRelated to emit, AST printing, Program emit funcsRelated to emit, AST printing, Program emit funcs
Description
This happens in the Babel repository.
The issue goes away when I set declaration: false
.
I debugged a bit and it seems that the issue originates from the node not belonging to currentSourceFile
.
Steps to reproduce:
- Checkout Try typescript-go babel/babel#17411
- Run
yarn
- Run
yarn tsgo --project tsconfig.tsgo.json
PS F:\babel> yarn tsgo --project tsconfig.tsgo.json
panic: runtime error: slice bounds out of range [36092:7987]
goroutine 6274 [running]:
github.com/microsoft/typescript-go/internal/scanner.SkipTriviaEx({0xc002700000, 0x1f33}, 0xc09871f540?, 0x1e95?)
github.com/microsoft/typescript-go/internal/scanner/scanner.go:2058 +0x4a8
github.com/microsoft/typescript-go/internal/scanner.SkipTrivia(...)
github.com/microsoft/typescript-go/internal/scanner/scanner.go:2043
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitSourceMapsBeforeNode(0xc0a4f00c00, 0xc09871f540)
github.com/microsoft/typescript-go/internal/printer/printer.go:5482 +0x118
github.com/microsoft/typescript-go/internal/printer.(*Printer).enterNode(0xc0a4f00c00, 0xc09871f540)
github.com/microsoft/typescript-go/internal/printer/printer.go:5706 +0x50
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitObjectBindingPattern(0xc0a4f00c00, 0xc09871f540)
github.com/microsoft/typescript-go/internal/printer/printer.go:2310 +0x25
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitBindingName(0xc0a4f00c00?, 0xc09726fd28?)
github.com/microsoft/typescript-go/internal/printer/printer.go:1192 +0x72
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitParameterName(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:1418
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitParameter(0xc0a4f00c00, 0xc09726fd28)
github.com/microsoft/typescript-go/internal/printer/printer.go:1426 +0xac
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitParameterNode(0xc0a4f00c00?, 0xc07b436cb8?)
github.com/microsoft/typescript-go/internal/printer/printer.go:1438 +0x27
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListItems(0xc0a4f00c00, 0x12690a0, 0xc098734e80, {0xc04d7aac38, 0x1, 0xc0a4f00c00?}, 0xa10, 0x0, {0xffffffff, 0xffffffff})
github.com/microsoft/typescript-go/internal/printer/printer.go:4688 +0x4b9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListRange(0xc0a4f00c00, 0x12690a0, 0xc098734e80, 0xc07d76aac8, 0xa10, 0xc07b436dc8?, 0x400000000d27171?)
github.com/microsoft/typescript-go/internal/printer/printer.go:4485 +0x395
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitList(0xc0a4f00c00, 0x12690a0, 0xc098734e80, 0xc07d76aac8, 0xa10)
github.com/microsoft/typescript-go/internal/printer/printer.go:4430 +0x90
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitParameters(0xc0a4f00c00?, 0xc098734e80?, 0xc07d76aac8?)
github.com/microsoft/typescript-go/internal/printer/printer.go:1487 +0x54
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitSignature(0xc0a4f00c00, 0xc098734e80)
github.com/microsoft/typescript-go/internal/printer/printer.go:1535 +0x57
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitMethodSignature(0xc0a4f00c00, 0xc098734e80)
github.com/microsoft/typescript-go/internal/printer/printer.go:1614 +0x19a
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeElement(0xc05c181180?, 0xc07b436f28?)
github.com/microsoft/typescript-go/internal/printer/printer.go:1756 +0x88
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListItems(0xc0a4f00c00, 0x12690d0, 0xc09e826168, {0xc098044008, 0x1da, 0xc07b436fa0?}, 0x88081, 0x0, {0xffffffff, 0xffffffff})
github.com/microsoft/typescript-go/internal/printer/printer.go:4688 +0x4b9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListRange(0xc0a4f00c00, 0x12690d0, 0xc09e826168, 0xc07d76ca48, 0x88081, 0x1358c00?, 0xc09e826168?)
github.com/microsoft/typescript-go/internal/printer/printer.go:4485 +0x395
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitList(0xc0a4f00c00, 0x12690d0, 0xc09e826168, 0xc07d76ca48, 0x88081)
github.com/microsoft/typescript-go/internal/printer/printer.go:4430 +0x90
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeLiteral(0xc0a4f00c00, 0xc09e826168)
github.com/microsoft/typescript-go/internal/printer/printer.go:1913 +0x1ae
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNode(0xc0a4f00c00, 0xc09e826168, 0x3?)
github.com/microsoft/typescript-go/internal/printer/printer.go:2241 +0x2c9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNodePreservingExtends(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:2197
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNodeOutsideExtends(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:2191
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeAnnotation(0xc0a4f00c00, 0xc09e826168)
github.com/microsoft/typescript-go/internal/printer/printer.go:1471 +0x8b
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitSignature(0xc0a4f00c00, 0xc0954b9d50)
github.com/microsoft/typescript-go/internal/printer/printer.go:1536 +0x6a
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitConstructSignature(0xc0a4f00c00, 0xc0954b9d50)
github.com/microsoft/typescript-go/internal/printer/printer.go:1703 +0x1ae
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeElement(0xc05c181180?, 0xc07b437238?)
github.com/microsoft/typescript-go/internal/printer/printer.go:1760 +0x145
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListItems(0xc0a4f00c00, 0x12690d0, 0xc09e8261b0, {0xc04a58d9b8, 0x1, 0xc07b4372b0?}, 0x88081, 0x0, {0xffffffff, 0xffffffff})
github.com/microsoft/typescript-go/internal/printer/printer.go:4688 +0x4b9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListRange(0xc0a4f00c00, 0x12690d0, 0xc09e8261b0, 0xc07d76ca88, 0x88081, 0x1358c00?, 0xc09e8261b0?)
github.com/microsoft/typescript-go/internal/printer/printer.go:4485 +0x395
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitList(0xc0a4f00c00, 0x12690d0, 0xc09e8261b0, 0xc07d76ca88, 0x88081)
github.com/microsoft/typescript-go/internal/printer/printer.go:4430 +0x90
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeLiteral(0xc0a4f00c00, 0xc09e8261b0)
github.com/microsoft/typescript-go/internal/printer/printer.go:1913 +0x1ae
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNode(0xc0a4f00c00, 0xc09e8261b0, 0x1?)
github.com/microsoft/typescript-go/internal/printer/printer.go:2241 +0x2c9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNodePreservingExtends(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:2197
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitReturnType(0xc0a4f00c00, 0xc09e8261b0)
github.com/microsoft/typescript-go/internal/printer/printer.go:1861 +0xd4
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitFunctionType(0xc0a4f00c00, 0xc097216388)
github.com/microsoft/typescript-go/internal/printer/printer.go:1874 +0x1ae
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNode(0xc0a4f00c00, 0xc097216388, 0x73784568?)
github.com/microsoft/typescript-go/internal/printer/printer.go:2235 +0x21d
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNodePreservingExtends(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:2197
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNodeOutsideExtends(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:2191
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeAnnotation(0xc0a4f00c00, 0xc097216388)
github.com/microsoft/typescript-go/internal/printer/printer.go:1471 +0x8b
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitPropertySignature(0xc0a4f00c00, 0xc073784568)
github.com/microsoft/typescript-go/internal/printer/printer.go:1590 +0x85
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeElement(0xc05c181180?, 0xc07b4375d8?)
github.com/microsoft/typescript-go/internal/printer/printer.go:1754 +0x56
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListItems(0xc0a4f00c00, 0x12690d0, 0xc0a74b9e68, {0xc0a23d6d40, 0x6, 0xc07b437650?}, 0x88081, 0x0, {0xffffffff, 0xffffffff})
github.com/microsoft/typescript-go/internal/printer/printer.go:4688 +0x4b9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListRange(0xc0a4f00c00, 0x12690d0, 0xc0a74b9e68, 0xc0ace60908, 0x88081, 0x1358c00?, 0xc0a74b9e68?)
github.com/microsoft/typescript-go/internal/printer/printer.go:4485 +0x395
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitList(0xc0a4f00c00, 0x12690d0, 0xc0a74b9e68, 0xc0ace60908, 0x88081)
github.com/microsoft/typescript-go/internal/printer/printer.go:4430 +0x90
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeLiteral(0xc0a4f00c00, 0xc0a74b9e68)
github.com/microsoft/typescript-go/internal/printer/printer.go:1913 +0x1ae
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNode(0xc0a4f00c00, 0xc0a74b9e68, 0x8f0a2820?)
github.com/microsoft/typescript-go/internal/printer/printer.go:2241 +0x2c9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNodePreservingExtends(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:2197
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeNodeOutsideExtends(...)
github.com/microsoft/typescript-go/internal/printer/printer.go:2191
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitTypeAnnotation(0xc0a4f00c00, 0xc0a74b9e68)
github.com/microsoft/typescript-go/internal/printer/printer.go:1471 +0x8b
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitVariableDeclaration(0xc0a4f00c00, 0xc08f0a2820)
github.com/microsoft/typescript-go/internal/printer/printer.go:3445 +0x6d
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitVariableDeclarationNode(0xc0a4f00c00?, 0xc07b4378a0?)
github.com/microsoft/typescript-go/internal/printer/printer.go:3452 +0x27
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListItems(0xc0a4f00c00, 0x12690e8, 0xc094dcaa00, {0xc04e9fa350, 0x1, 0xc07b437918?}, 0x210, 0x0, {0x1e3c, 0x1e95})
github.com/microsoft/typescript-go/internal/printer/printer.go:4688 +0x4b9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListRange(0xc0a4f00c00, 0x12690e8, 0xc094dcaa00, 0xc0ace60928, 0x210, 0x1358c20?, 0x1?)
github.com/microsoft/typescript-go/internal/printer/printer.go:4485 +0x395
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitList(0xc0a4f00c00, 0x12690e8, 0xc094dcaa00, 0xc0ace60928, 0x210)
github.com/microsoft/typescript-go/internal/printer/printer.go:4430 +0x90
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitVariableDeclarationList(0xc0a4f00c00, 0xc094dcaa00)
github.com/microsoft/typescript-go/internal/printer/printer.go:3472 +0x1f4
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitVariableStatement(0xc0a4f00c00, 0xc094dd12c0)
github.com/microsoft/typescript-go/internal/printer/printer.go:3157 +0x6c
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitStatement(0xc05c181180?, 0xc07b437ad0?)
github.com/microsoft/typescript-go/internal/printer/printer.go:3911 +0x98
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListItems(0xc0a4f00c00, 0x12690a8, 0xc0a4c75608, {0xc0a689da00, 0x7, 0xc06d0d9f70?}, 0x1, 0x0, {0x0, 0x1f32})
github.com/microsoft/typescript-go/internal/printer/printer.go:4688 +0x4b9
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitListRange(0xc0a4f00c00, 0x12690a8, 0xc0a4c75608, 0xc0ace609a8, 0x1, 0xc002ddc848?, 0xc002ddc848?)
github.com/microsoft/typescript-go/internal/printer/printer.go:4485 +0x395
github.com/microsoft/typescript-go/internal/printer.(*Printer).emitSourceFile(0xc0a4f00c00, 0xc0a4c75608)
github.com/microsoft/typescript-go/internal/printer/printer.go:4407 +0x225
github.com/microsoft/typescript-go/internal/printer.(*Printer).Write(0xc0a4f00c00, 0xc0a4c75608, 0xc081c49000?, {0x1375270, 0xc05c181180}, 0x1?)
github.com/microsoft/typescript-go/internal/printer/printer.go:4937 +0x100c
github.com/microsoft/typescript-go/internal/compiler.(*emitter).printSourceFile(0xc04c5da120, {0xc081c49000, 0x38}, {0xc081c49040, 0x3c}, 0xc0a4c75608, 0xc0a4f00c00, 0x1)
github.com/microsoft/typescript-go/internal/compiler/emitter.go:233 +0x289
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emitDeclarationFile(0xc04c5da120, 0xc002ddc848, {0xc081c49000, 0x38}, {0xc081c49040, 0x3c})
github.com/microsoft/typescript-go/internal/compiler/emitter.go:202 +0x3f9
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emit(0xc04c5da120)
github.com/microsoft/typescript-go/internal/compiler/emitter.go:48 +0x5d
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit.func2()
github.com/microsoft/typescript-go/internal/compiler/program.go:719 +0x149
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue.func1()
github.com/microsoft/typescript-go/internal/core/workgroup.go:39 +0x50
created by github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue in goroutine 1
github.com/microsoft/typescript-go/internal/core/workgroup.go:37 +0x85
Metadata
Metadata
Assignees
Labels
CrashDomain: EmitRelated to emit, AST printing, Program emit funcsRelated to emit, AST printing, Program emit funcs