Skip to content

Commit 698debf

Browse files
committed
Extractor: explicitly deal with extracting x.(type) in type switches
1 parent c6f4a20 commit 698debf

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

go/extractor/extractor.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1010,7 +1010,10 @@ func extractExpr(tw *trap.Writer, expr ast.Expr, parent trap.Label, idx int) {
10101010
}
10111011
kind = dbscheme.TypeAssertExpr.Index()
10121012
extractExpr(tw, expr.X, lbl, 0)
1013-
extractExpr(tw, expr.Type, lbl, 1)
1013+
// expr.Type can be `nil` if this is the `x.(type)` in a type switch.
1014+
if expr.Type != nil {
1015+
extractExpr(tw, expr.Type, lbl, 1)
1016+
}
10141017
case *ast.CallExpr:
10151018
if expr == nil {
10161019
return

0 commit comments

Comments
 (0)