interp: replace many panics with error messages

This commit replaces most panics in interp/frame.go and interp/scan.go
with real error messages. The remaining ones are panics that should not
happen when working with valid IR.
This commit is contained in:
Ayke van Laethem
2019-11-26 14:49:44 +01:00
committed by Ron Evans
parent 0db26b0662
commit 24ff2d1ee2
5 changed files with 40 additions and 27 deletions
+3
View File
@@ -78,6 +78,9 @@ func errorAt(inst llvm.Value, msg string) scanner.Error {
// getPosition returns the position information for the given instruction, as
// far as it is available.
func getPosition(inst llvm.Value) token.Position {
if inst.IsAInstruction().IsNil() {
return token.Position{}
}
loc := inst.InstructionDebugLoc()
if loc.IsNil() {
return token.Position{}