(val value)
| 1075 | } |
| 1076 | |
| 1077 | func (i *interpreter) getInt(val value) (int, error) { |
| 1078 | num, err := i.getNumber(val) |
| 1079 | if err != nil { |
| 1080 | return 0, err |
| 1081 | } |
| 1082 | // We conservatively convert ot int32, so that it can be machine-sized int |
| 1083 | // on any machine. And it's used only for indexing anyway. |
| 1084 | intNum := int(int32(num.value)) |
| 1085 | if float64(intNum) != num.value { |
| 1086 | return 0, i.Error(fmt.Sprintf("Expected an integer, but got %v", num.value)) |
| 1087 | } |
| 1088 | return intNum, nil |
| 1089 | } |
| 1090 | |
| 1091 | func (i *interpreter) evaluateInt(pv potentialValue) (int, error) { |
| 1092 | v, err := i.evaluatePV(pv) |
no test coverage detected