Skip to content

Commit 7cd1b7e

Browse files
committed
metamorphic: show op name on parsing panics
1 parent e460794 commit 7cd1b7e

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

metamorphic/parser.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,12 @@ func (p *parser) makeOp(methodName string, receiverID, targetID objID, pos token
601601
receiverID, methodName, methodName, receiverID))
602602
}
603603

604+
defer func() {
605+
if r := recover(); r != nil {
606+
panic(errors.Newf("parsing %s.%s: %v", receiverID, methodName, r))
607+
}
608+
}()
609+
604610
op := info.constructor()
605611
receiver, target, args := opArgs(op)
606612

metamorphic/testdata/parser

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@ metamorphic test internal error: 1:1: unknown op db1.bar
1616
parse
1717
db.Apply()
1818
----
19-
metamorphic test internal error: 1:10: Apply: not enough arguments
19+
parsing db1.Apply: metamorphic test internal error: 1:10: Apply: not enough arguments
2020

2121
parse
2222
db.Apply(hello)
2323
----
24-
metamorphic test internal error: 1:10: unknown object type: "hello"
24+
parsing db1.Apply: metamorphic test internal error: 1:10: unknown object type: "hello"
2525

2626
parse
2727
db.NewBatch()
2828
----
29-
metamorphic test internal error: 1:1: assignment expected for db1.NewBatch
29+
parsing db1.NewBatch: metamorphic test internal error: 1:1: assignment expected for db1.NewBatch
3030

3131
parse
3232
batch0 = db.Apply()
3333
----
34-
metamorphic test internal error: 1:10: cannot use db1.Apply in assignment
34+
parsing db1.Apply: metamorphic test internal error: 1:10: cannot use db1.Apply in assignment
3535

3636
parse
3737
batch0 = db.NewBatch()

0 commit comments

Comments
 (0)