mirror of
https://github.com/google/go-jsonnet.git
synced 2025-09-29 09:21:03 +02:00
Bump C++ version, implement std.trace, fix parsing of -$, update std (#224)
This commit is contained in:
parent
643210d274
commit
d9b833b8a0
209886
ast/stdast.go
209886
ast/stdast.go
File diff suppressed because it is too large
Load Diff
21
builtins.go
21
builtins.go
@ -22,6 +22,7 @@ import (
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"math"
|
||||
"os"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@ -243,6 +244,22 @@ func builtinToString(e *evaluator, xp potentialValue) (value, error) {
|
||||
return makeValueString(buf.String()), nil
|
||||
}
|
||||
|
||||
func builtinTrace(e *evaluator, xp potentialValue, yp potentialValue) (value, error) {
|
||||
x, err := e.evaluateString(xp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
y, err := e.evaluate(yp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
filename := e.trace.loc.FileName
|
||||
line := e.trace.loc.Begin.Line
|
||||
fmt.Fprintf(
|
||||
os.Stderr, "TRACE: %s:%d %s\n", filename, line, x.getString())
|
||||
return y, nil
|
||||
}
|
||||
|
||||
func builtinMakeArray(e *evaluator, szp potentialValue, funcp potentialValue) (value, error) {
|
||||
sz, err := e.evaluateInt(szp)
|
||||
if err != nil {
|
||||
@ -730,9 +747,8 @@ type unaryBuiltin struct {
|
||||
}
|
||||
|
||||
func getBuiltinEvaluator(e *evaluator, name ast.Identifier) *evaluator {
|
||||
loc := ast.MakeLocationRangeMessage("<builtin>")
|
||||
context := "builtin function <" + string(name) + ">"
|
||||
trace := TraceElement{loc: &loc, context: &context}
|
||||
trace := TraceElement{loc: e.trace.loc, context: &context}
|
||||
return &evaluator{i: e.i, trace: &trace}
|
||||
}
|
||||
|
||||
@ -870,6 +886,7 @@ var funcBuiltins = buildBuiltinMap([]builtin{
|
||||
&unaryBuiltin{name: "extVar", function: builtinExtVar, parameters: ast.Identifiers{"x"}},
|
||||
&unaryBuiltin{name: "length", function: builtinLength, parameters: ast.Identifiers{"x"}},
|
||||
&unaryBuiltin{name: "toString", function: builtinToString, parameters: ast.Identifiers{"a"}},
|
||||
&binaryBuiltin{name: "trace", function: builtinTrace, parameters: ast.Identifiers{"str", "rest"}},
|
||||
&binaryBuiltin{name: "makeArray", function: builtinMakeArray, parameters: ast.Identifiers{"sz", "func"}},
|
||||
&binaryBuiltin{name: "flatMap", function: builtinFlatMap, parameters: ast.Identifiers{"func", "arr"}},
|
||||
&binaryBuiltin{name: "join", function: builtinJoin, parameters: ast.Identifiers{"sep", "arr"}},
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 9829acf280a64b58ad0b14c9f5c28fe8564ed13e
|
||||
Subproject commit aec4e0868bf3b10136ff480630aa5fe01554330f
|
@ -669,7 +669,7 @@ func (l *lexer) lexSymbol() error {
|
||||
// no need to treat this substring as general UTF-8.
|
||||
for r = rune(l.input[l.pos.byteNo-1]); l.pos.byteNo > l.tokenStart+1; l.pos.byteNo-- {
|
||||
switch r {
|
||||
case '+', '-', '~', '!':
|
||||
case '+', '-', '~', '!', '$':
|
||||
continue
|
||||
}
|
||||
break
|
||||
|
@ -23,6 +23,7 @@ limitations under the License.
|
||||
{
|
||||
|
||||
local std = self,
|
||||
local id = function(x) x,
|
||||
|
||||
isString(v):: std.type(v) == 'string',
|
||||
isNumber(v):: std.type(v) == 'number',
|
||||
@ -61,18 +62,39 @@ limitations under the License.
|
||||
stringChars(str)::
|
||||
std.makeArray(std.length(str), function(i) str[i]),
|
||||
|
||||
local parse_nat(str, base) =
|
||||
assert base > 0 && base <= 16 : 'integer base %d invalid' % base;
|
||||
// These codepoints are in ascending order:
|
||||
local zero_code = std.codepoint('0');
|
||||
local upper_a_code = std.codepoint('A');
|
||||
local lower_a_code = std.codepoint('a');
|
||||
local addDigit(aggregate, char) =
|
||||
local code = std.codepoint(char);
|
||||
local digit = if code > lower_a_code then
|
||||
code - lower_a_code + 10
|
||||
else if code > upper_a_code then
|
||||
code - upper_a_code + 10
|
||||
else
|
||||
code - zero_code;
|
||||
assert digit >= 0 && digit < base : '%s is not a base %d integer' % [str, base];
|
||||
base * aggregate + digit;
|
||||
std.foldl(addDigit, std.stringChars(str), 0),
|
||||
|
||||
parseInt(str)::
|
||||
local addDigit(aggregate, digit) =
|
||||
if digit < 0 || digit > 9 then
|
||||
error ('parseInt got string which does not match regex [0-9]+')
|
||||
else
|
||||
10 * aggregate + digit;
|
||||
local toDigits(str) =
|
||||
[std.codepoint(char) - std.codepoint('0') for char in std.stringChars(str)];
|
||||
if str[0] == '-' then
|
||||
-std.foldl(addDigit, toDigits(str[1:]), 0)
|
||||
-parse_nat(str[1:], 10)
|
||||
else
|
||||
std.foldl(addDigit, toDigits(str), 0),
|
||||
parse_nat(str, 10),
|
||||
|
||||
parseOctal(str)::
|
||||
assert std.isString(str): 'Expected string, got ' + std.type(str);
|
||||
assert std.length(str) > 0: 'Not an octal number: ""';
|
||||
parse_nat(str, 8),
|
||||
|
||||
parseHex(str)::
|
||||
assert std.isString(str): 'Expected string, got ' + std.type(str);
|
||||
assert std.length(str) > 0: 'Not hexadecimal: ""';
|
||||
parse_nat(str, 16),
|
||||
|
||||
split(str, c)::
|
||||
if std.type(str) != 'string' then
|
||||
@ -1066,60 +1088,61 @@ limitations under the License.
|
||||
std.join('', std.map(function(b) std.char(b), bytes)),
|
||||
|
||||
// Quicksort
|
||||
sort(arr)::
|
||||
sort(arr, keyF=id)::
|
||||
local l = std.length(arr);
|
||||
if std.length(arr) == 0 then
|
||||
[]
|
||||
else
|
||||
local pivot = arr[0];
|
||||
local pivot = keyF(arr[0]);
|
||||
local rest = std.makeArray(l - 1, function(i) arr[i + 1]);
|
||||
local left = std.filter(function(x) x <= pivot, rest);
|
||||
local right = std.filter(function(x) x > pivot, rest);
|
||||
std.sort(left) + [pivot] + std.sort(right),
|
||||
local left = std.filter(function(x) keyF(x) < pivot, rest);
|
||||
local right = std.filter(function(x) keyF(x) >= pivot, rest);
|
||||
std.sort(left, keyF) + [arr[0]] + std.sort(right, keyF),
|
||||
|
||||
uniq(arr)::
|
||||
uniq(arr, keyF=id)::
|
||||
local f(a, b) =
|
||||
if std.length(a) == 0 then
|
||||
[b]
|
||||
else if a[std.length(a) - 1] == b then
|
||||
else if keyF(a[std.length(a) - 1]) == keyF(b) then
|
||||
a
|
||||
else
|
||||
a + [b];
|
||||
std.foldl(f, arr, []),
|
||||
|
||||
set(arr)::
|
||||
std.uniq(std.sort(arr)),
|
||||
set(arr, keyF=id)::
|
||||
std.uniq(std.sort(arr, keyF), keyF),
|
||||
|
||||
setMember(x, arr)::
|
||||
setMember(x, arr, keyF=id)::
|
||||
// TODO(dcunnin): Binary chop for O(log n) complexity
|
||||
std.length(std.setInter([x], arr)) > 0,
|
||||
std.length(std.setInter([x], arr, keyF)) > 0,
|
||||
|
||||
setUnion(a, b)::
|
||||
std.set(a + b),
|
||||
setUnion(a, b, keyF=id)::
|
||||
// NOTE: order matters, values in `a` win due to sort being stable
|
||||
std.set(a + b, keyF),
|
||||
|
||||
setInter(a, b)::
|
||||
setInter(a, b, keyF=id)::
|
||||
local aux(a, b, i, j, acc) =
|
||||
if i >= std.length(a) || j >= std.length(b) then
|
||||
acc
|
||||
else
|
||||
if a[i] == b[j] then
|
||||
if keyF(a[i]) == keyF(b[j]) then
|
||||
aux(a, b, i + 1, j + 1, acc + [a[i]]) tailstrict
|
||||
else if a[i] < b[j] then
|
||||
else if keyF(a[i]) < keyF(b[j]) then
|
||||
aux(a, b, i + 1, j, acc) tailstrict
|
||||
else
|
||||
aux(a, b, i, j + 1, acc) tailstrict;
|
||||
aux(a, b, 0, 0, []) tailstrict,
|
||||
|
||||
setDiff(a, b)::
|
||||
setDiff(a, b, keyF=id)::
|
||||
local aux(a, b, i, j, acc) =
|
||||
if i >= std.length(a) then
|
||||
acc
|
||||
else if j >= std.length(b) then
|
||||
aux(a, b, i + 1, j, acc + [a[i]]) tailstrict
|
||||
else
|
||||
if a[i] == b[j] then
|
||||
if keyF(a[i]) == keyF(b[j]) then
|
||||
aux(a, b, i + 1, j + 1, acc) tailstrict
|
||||
else if a[i] < b[j] then
|
||||
else if keyF(a[i]) < keyF(b[j]) then
|
||||
aux(a, b, i + 1, j, acc + [a[i]]) tailstrict
|
||||
else
|
||||
aux(a, b, i, j + 1, acc) tailstrict;
|
||||
|
2
testdata/arrcomp_if6.golden
vendored
2
testdata/arrcomp_if6.golden
vendored
@ -5,7 +5,7 @@ RUNTIME ERROR: x
|
||||
[x for x in [1] if error "x"]
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <flatMap>
|
||||
builtin function <flatMap>
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
2
testdata/arrcomp_if7.golden
vendored
2
testdata/arrcomp_if7.golden
vendored
@ -3,7 +3,7 @@ RUNTIME ERROR: Unexpected type number, expected boolean
|
||||
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <flatMap>
|
||||
builtin function <flatMap>
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
2
testdata/assert_equal4.golden
vendored
2
testdata/assert_equal4.golden
vendored
@ -1,6 +1,6 @@
|
||||
RUNTIME ERROR: Assertion failed. {"x": 1} != {"x": 2}
|
||||
-------------------------------------------------
|
||||
<std>:758:7-50 function <anonymous>
|
||||
<std>:780:7-50 function <anonymous>
|
||||
|
||||
error 'Assertion failed. ' + a + ' != ' + b,
|
||||
|
||||
|
2
testdata/assert_equal5.golden
vendored
2
testdata/assert_equal5.golden
vendored
@ -2,7 +2,7 @@ RUNTIME ERROR: Assertion failed.
|
||||
!=
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:758:7-50 function <anonymous>
|
||||
<std>:780:7-50 function <anonymous>
|
||||
|
||||
error 'Assertion failed. ' + a + ' != ' + b,
|
||||
|
||||
|
2
testdata/assert_equal6.golden
vendored
2
testdata/assert_equal6.golden
vendored
@ -1,6 +1,6 @@
|
||||
RUNTIME ERROR: Assertion failed. [31m !=
|
||||
-------------------------------------------------
|
||||
<std>:758:7-50 function <anonymous>
|
||||
<std>:780:7-50 function <anonymous>
|
||||
|
||||
error 'Assertion failed. ' + a + ' != ' + b,
|
||||
|
||||
|
4
testdata/builtinChar3.golden
vendored
4
testdata/builtinChar3.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Codepoints must be >= 0, got -1
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <char>
|
||||
testdata/builtinChar3:1:1-13 builtin function <char>
|
||||
|
||||
std.char(-1)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtinChar5.golden
vendored
4
testdata/builtinChar5.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Invalid unicode codepoint, got 1.114112e+06
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <char>
|
||||
testdata/builtinChar5:2:1-18 builtin function <char>
|
||||
|
||||
std.char(1114112)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtinChar7.golden
vendored
4
testdata/builtinChar7.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <char>
|
||||
testdata/builtinChar7:1:1-16 builtin function <char>
|
||||
|
||||
std.char("xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtinObjectFieldsEx_bad.golden
vendored
4
testdata/builtinObjectFieldsEx_bad.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected object
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <objectFieldsEx>
|
||||
testdata/builtinObjectFieldsEx_bad:1:1-29 builtin function <objectFieldsEx>
|
||||
|
||||
std.objectFieldsEx(42, true)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtinObjectFieldsEx_bad2.golden
vendored
4
testdata/builtinObjectFieldsEx_bad2.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected boolean
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <objectFieldsEx>
|
||||
testdata/builtinObjectFieldsEx_bad2:1:1-30 builtin function <objectFieldsEx>
|
||||
|
||||
std.objectFieldsEx({}, "xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtinObjectHasExBadBoolean.golden
vendored
4
testdata/builtinObjectHasExBadBoolean.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected boolean
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <objectHasEx>
|
||||
testdata/builtinObjectHasExBadBoolean:1:1-34 builtin function <objectHasEx>
|
||||
|
||||
std.objectHasEx({}, "xxx", "xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtinObjectHasExBadField.golden
vendored
4
testdata/builtinObjectHasExBadField.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected string
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <objectHasEx>
|
||||
testdata/builtinObjectHasExBadField:1:1-31 builtin function <objectHasEx>
|
||||
|
||||
std.objectHasEx({}, 42, false)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtinObjectHasExBadObject.golden
vendored
4
testdata/builtinObjectHasExBadObject.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected object
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <objectHasEx>
|
||||
testdata/builtinObjectHasExBadObject:1:1-32 builtin function <objectHasEx>
|
||||
|
||||
std.objectHasEx(42, "x", false)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtin_exp3.golden
vendored
4
testdata/builtin_exp3.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Overflow
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <exp>
|
||||
testdata/builtin_exp3:1:1-14 builtin function <exp>
|
||||
|
||||
std.exp(1000)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtin_exp5.golden
vendored
4
testdata/builtin_exp5.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Overflow
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <exp>
|
||||
testdata/builtin_exp5:1:1-31 builtin function <exp>
|
||||
|
||||
std.exp(100000000000000000000)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtin_log5.golden
vendored
4
testdata/builtin_log5.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Overflow
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <log>
|
||||
testdata/builtin_log5:1:1-11 builtin function <log>
|
||||
|
||||
std.log(0)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtin_log7.golden
vendored
4
testdata/builtin_log7.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Not a number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <log>
|
||||
testdata/builtin_log7:1:1-12 builtin function <log>
|
||||
|
||||
std.log(-1)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtin_log8.golden
vendored
4
testdata/builtin_log8.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Not a number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <log>
|
||||
testdata/builtin_log8:1:1-24 builtin function <log>
|
||||
|
||||
std.log(-1000000000000)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/builtin_sqrt2.golden
vendored
4
testdata/builtin_sqrt2.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <sqrt>
|
||||
testdata/builtin_sqrt2:1:1-19 builtin function <sqrt>
|
||||
|
||||
std.sqrt("cookie")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/extvar_error.golden
vendored
4
testdata/extvar_error.golden
vendored
@ -5,7 +5,9 @@ RUNTIME ERROR: xxx
|
||||
error 'xxx'
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <extVar>
|
||||
testdata/extvar_error:1:1-23 builtin function <extVar>
|
||||
|
||||
std.extVar("errorVar")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/extvar_not_a_string.golden
vendored
4
testdata/extvar_not_a_string.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected string
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <extVar>
|
||||
testdata/extvar_not_a_string:1:1-15 builtin function <extVar>
|
||||
|
||||
std.extVar(42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/extvar_unknown.golden
vendored
4
testdata/extvar_unknown.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Undefined external variable: UNKNOWN
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <extVar>
|
||||
testdata/extvar_unknown:1:1-22 builtin function <extVar>
|
||||
|
||||
std.extVar("UNKNOWN")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/native_nonexistent.golden
vendored
4
testdata/native_nonexistent.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unrecognized native function name: blah
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <native>
|
||||
testdata/native_nonexistent:1:1-19 builtin function <native>
|
||||
|
||||
std.native("blah")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
2
testdata/object_comp_duplicate.golden
vendored
2
testdata/object_comp_duplicate.golden
vendored
@ -1,6 +1,6 @@
|
||||
RUNTIME ERROR: Duplicate field name: "x"
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <$objectFlatMerge>
|
||||
builtin function <$objectFlatMerge>
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
2
testdata/object_comp_err_index.golden
vendored
2
testdata/object_comp_err_index.golden
vendored
@ -5,7 +5,7 @@ RUNTIME ERROR: xxx
|
||||
{ [error "xxx"]: 42 for x in [1] }
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <$objectFlatMerge>
|
||||
builtin function <$objectFlatMerge>
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
2
testdata/object_comp_int_index.golden
vendored
2
testdata/object_comp_int_index.golden
vendored
@ -5,7 +5,7 @@ RUNTIME ERROR: Field name must be string, got number
|
||||
{ [x]: x for x in [1, 2, 3] }
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <$objectFlatMerge>
|
||||
builtin function <$objectFlatMerge>
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
14
testdata/object_invariant7.golden
vendored
14
testdata/object_invariant7.golden
vendored
@ -5,23 +5,27 @@ RUNTIME ERROR: Attempt to use super when there is no super class.
|
||||
{ x: 5, assert super.x == 5 }
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:1165:25-26 thunk from <thunk <ta> from <function <anonymous>>>
|
||||
<std>:1188:25-26 thunk from <thunk <ta> from <function <anonymous>>>
|
||||
|
||||
local ta = std.type(a);
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <type>
|
||||
<std>:1188:16-27 builtin function <type>
|
||||
|
||||
local ta = std.type(a);
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:1167:29-31 thunk from <function <anonymous>>
|
||||
<std>:1190:29-31 thunk from <function <anonymous>>
|
||||
|
||||
if !std.primitiveEquals(ta, tb) then
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <primitiveEquals>
|
||||
<std>:1190:9-36 builtin function <primitiveEquals>
|
||||
|
||||
if !std.primitiveEquals(ta, tb) then
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:1167:8-36 function <anonymous>
|
||||
<std>:1190:8-36 function <anonymous>
|
||||
|
||||
if !std.primitiveEquals(ta, tb) then
|
||||
|
||||
|
2
testdata/percent_bad.golden
vendored
2
testdata/percent_bad.golden
vendored
@ -1,6 +1,6 @@
|
||||
RUNTIME ERROR: Operator % cannot be used on types number and string.
|
||||
-------------------------------------------------
|
||||
<std>:205:7-94 function <anonymous>
|
||||
<std>:227:7-94 function <anonymous>
|
||||
|
||||
error 'Operator % cannot be used on types ' + std.type(a) + ' and ' + std.type(b) + '.',
|
||||
|
||||
|
8
testdata/percent_bad2.golden
vendored
8
testdata/percent_bad2.golden
vendored
@ -1,21 +1,21 @@
|
||||
RUNTIME ERROR: Too many values to format: 1, expected 0
|
||||
-------------------------------------------------
|
||||
<std>:628:11-86 function <format_codes_arr>
|
||||
<std>:650:11-86 function <format_codes_arr>
|
||||
|
||||
error ('Too many values to format: ' + std.length(arr) + ', expected ' + j)
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:634:11-59 function <format_codes_arr>
|
||||
<std>:656:11-59 function <format_codes_arr>
|
||||
|
||||
format_codes_arr(codes, arr, i + 1, j, v + code) tailstrict
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:725:7-48 function <anonymous>
|
||||
<std>:747:7-48 function <anonymous>
|
||||
|
||||
format_codes_arr(codes, [vals], 0, 0, ''),
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:203:7-23 function <anonymous>
|
||||
<std>:225:7-23 function <anonymous>
|
||||
|
||||
std.format(a, b)
|
||||
|
||||
|
2
testdata/percent_bad3.golden
vendored
2
testdata/percent_bad3.golden
vendored
@ -1,6 +1,6 @@
|
||||
RUNTIME ERROR: Operator % cannot be used on types function and number.
|
||||
-------------------------------------------------
|
||||
<std>:205:7-94 function <anonymous>
|
||||
<std>:227:7-94 function <anonymous>
|
||||
|
||||
error 'Operator % cannot be used on types ' + std.type(a) + ' and ' + std.type(b) + '.',
|
||||
|
||||
|
8
testdata/percent_format_str4.golden
vendored
8
testdata/percent_format_str4.golden
vendored
@ -1,21 +1,21 @@
|
||||
RUNTIME ERROR: Too many values to format: 2, expected 1
|
||||
-------------------------------------------------
|
||||
<std>:628:11-86 function <format_codes_arr>
|
||||
<std>:650:11-86 function <format_codes_arr>
|
||||
|
||||
error ('Too many values to format: ' + std.length(arr) + ', expected ' + j)
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:634:11-59 function <format_codes_arr>
|
||||
<std>:656:11-59 function <format_codes_arr>
|
||||
|
||||
format_codes_arr(codes, arr, i + 1, j, v + code) tailstrict
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:721:7-46 function <anonymous>
|
||||
<std>:743:7-46 function <anonymous>
|
||||
|
||||
format_codes_arr(codes, vals, 0, 0, '')
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:203:7-23 function <anonymous>
|
||||
<std>:225:7-23 function <anonymous>
|
||||
|
||||
std.format(a, b)
|
||||
|
||||
|
16
testdata/percent_format_str5.golden
vendored
16
testdata/percent_format_str5.golden
vendored
@ -1,36 +1,38 @@
|
||||
RUNTIME ERROR: Not enough values to format, got 1
|
||||
-------------------------------------------------
|
||||
<std>:661:15-74 thunk <val> from <function <format_codes_arr>>
|
||||
<std>:683:15-74 thunk <val> from <function <format_codes_arr>>
|
||||
|
||||
error 'Not enough values to format, got ' + std.length(arr);
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:666:27-30 thunk from <thunk <s> from <function <format_codes_arr>>>
|
||||
<std>:688:27-30 thunk from <thunk <s> from <function <format_codes_arr>>>
|
||||
|
||||
format_code(val, code, tmp.fw, tmp2.prec, j2);
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:536:22-25 thunk from <function <format_code>>
|
||||
<std>:558:22-25 thunk from <function <format_code>>
|
||||
|
||||
std.toString(val)
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <toString>
|
||||
<std>:558:9-26 builtin function <toString>
|
||||
|
||||
std.toString(val)
|
||||
|
||||
-------------------------------------------------
|
||||
... (skipped 14 frames)
|
||||
-------------------------------------------------
|
||||
<std>:677:11-64 function <format_codes_arr>
|
||||
<std>:699:11-64 function <format_codes_arr>
|
||||
|
||||
format_codes_arr(codes, arr, i + 1, j3, v + s_padded) tailstrict;
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:721:7-46 function <anonymous>
|
||||
<std>:743:7-46 function <anonymous>
|
||||
|
||||
format_codes_arr(codes, vals, 0, 0, '')
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:203:7-23 function <anonymous>
|
||||
<std>:225:7-23 function <anonymous>
|
||||
|
||||
std.format(a, b)
|
||||
|
||||
|
16
testdata/percent_format_str6.golden
vendored
16
testdata/percent_format_str6.golden
vendored
@ -1,36 +1,38 @@
|
||||
RUNTIME ERROR: Not enough values to format, got 1
|
||||
-------------------------------------------------
|
||||
<std>:661:15-74 thunk <val> from <function <format_codes_arr>>
|
||||
<std>:683:15-74 thunk <val> from <function <format_codes_arr>>
|
||||
|
||||
error 'Not enough values to format, got ' + std.length(arr);
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:666:27-30 thunk from <thunk <s> from <function <format_codes_arr>>>
|
||||
<std>:688:27-30 thunk from <thunk <s> from <function <format_codes_arr>>>
|
||||
|
||||
format_code(val, code, tmp.fw, tmp2.prec, j2);
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:536:22-25 thunk from <function <format_code>>
|
||||
<std>:558:22-25 thunk from <function <format_code>>
|
||||
|
||||
std.toString(val)
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <toString>
|
||||
<std>:558:9-26 builtin function <toString>
|
||||
|
||||
std.toString(val)
|
||||
|
||||
-------------------------------------------------
|
||||
... (skipped 14 frames)
|
||||
-------------------------------------------------
|
||||
<std>:677:11-64 function <format_codes_arr>
|
||||
<std>:699:11-64 function <format_codes_arr>
|
||||
|
||||
format_codes_arr(codes, arr, i + 1, j3, v + s_padded) tailstrict;
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:725:7-48 function <anonymous>
|
||||
<std>:747:7-48 function <anonymous>
|
||||
|
||||
format_codes_arr(codes, [vals], 0, 0, ''),
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:203:7-23 function <anonymous>
|
||||
<std>:225:7-23 function <anonymous>
|
||||
|
||||
std.format(a, b)
|
||||
|
||||
|
14
testdata/percent_format_str7.golden
vendored
14
testdata/percent_format_str7.golden
vendored
@ -1,39 +1,39 @@
|
||||
RUNTIME ERROR: Format required number at 0, got string
|
||||
-------------------------------------------------
|
||||
<std>:(539:11)-(540:47) function <format_code>
|
||||
<std>:(561:11)-(562:47) function <format_code>
|
||||
|
||||
error 'Format required number at '
|
||||
+ i + ', got ' + std.type(val)
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:666:15-60 thunk <s> from <function <format_codes_arr>>
|
||||
<std>:688:15-60 thunk <s> from <function <format_codes_arr>>
|
||||
|
||||
format_code(val, code, tmp.fw, tmp2.prec, j2);
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:671:24-25 thunk from <thunk <s_padded> from <function <format_codes_arr>>>
|
||||
<std>:693:24-25 thunk from <thunk <s_padded> from <function <format_codes_arr>>>
|
||||
|
||||
pad_left(s, tmp.fw, ' ');
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:451:30-33 thunk from <thunk from <function <pad_left>>>
|
||||
<std>:473:30-33 thunk from <thunk from <function <pad_left>>>
|
||||
|
||||
padding(w - std.length(str), s) + str;
|
||||
|
||||
-------------------------------------------------
|
||||
... (skipped 11 frames)
|
||||
-------------------------------------------------
|
||||
<std>:677:11-64 function <format_codes_arr>
|
||||
<std>:699:11-64 function <format_codes_arr>
|
||||
|
||||
format_codes_arr(codes, arr, i + 1, j3, v + s_padded) tailstrict;
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:721:7-46 function <anonymous>
|
||||
<std>:743:7-46 function <anonymous>
|
||||
|
||||
format_codes_arr(codes, vals, 0, 0, '')
|
||||
|
||||
-------------------------------------------------
|
||||
<std>:203:7-23 function <anonymous>
|
||||
<std>:225:7-23 function <anonymous>
|
||||
|
||||
std.format(a, b)
|
||||
|
||||
|
4
testdata/percent_mod_int5.golden
vendored
4
testdata/percent_mod_int5.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Division by zero.
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <modulo>
|
||||
<std>:223:7-23 builtin function <modulo>
|
||||
|
||||
std.modulo(a, b)
|
||||
|
||||
-------------------------------------------------
|
||||
|
||||
|
4
testdata/pow4.golden
vendored
4
testdata/pow4.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Not a number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <pow>
|
||||
testdata/pow4:1:1-17 builtin function <pow>
|
||||
|
||||
std.pow(-1, 0.2)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/pow7.golden
vendored
4
testdata/pow7.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Overflow
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <pow>
|
||||
testdata/pow7:2:1-23 builtin function <pow>
|
||||
|
||||
std.pow(1.1, 7447.082)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/pow8.golden
vendored
4
testdata/pow8.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <pow>
|
||||
testdata/pow8:1:1-19 builtin function <pow>
|
||||
|
||||
std.pow("xxx", 42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/pow9.golden
vendored
4
testdata/pow9.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <pow>
|
||||
testdata/pow9:1:1-19 builtin function <pow>
|
||||
|
||||
std.pow(42, "xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.codepoint3.golden
vendored
4
testdata/std.codepoint3.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: codepoint takes a string of length 1, got length 2
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <codepoint>
|
||||
testdata/std.codepoint3:1:1-20 builtin function <codepoint>
|
||||
|
||||
std.codepoint("aa")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.codepoint6.golden
vendored
4
testdata/std.codepoint6.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: codepoint takes a string of length 1, got length 0
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <codepoint>
|
||||
testdata/std.codepoint6:1:1-18 builtin function <codepoint>
|
||||
|
||||
std.codepoint("")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.codepoint7.golden
vendored
4
testdata/std.codepoint7.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: codepoint takes a string of length 1, got length 2
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <codepoint>
|
||||
testdata/std.codepoint7:2:1-21 builtin function <codepoint>
|
||||
|
||||
std.codepoint("ą")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.codepoint8.golden
vendored
4
testdata/std.codepoint8.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected string
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <codepoint>
|
||||
testdata/std.codepoint8:1:1-18 builtin function <codepoint>
|
||||
|
||||
std.codepoint(42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.filter2.golden
vendored
4
testdata/std.filter2.golden
vendored
@ -5,7 +5,9 @@ RUNTIME ERROR: x
|
||||
std.filter(error "x", [])
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <filter>
|
||||
testdata/std.filter2:1:1-26 builtin function <filter>
|
||||
|
||||
std.filter(error "x", [])
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.filter4.golden
vendored
4
testdata/std.filter4.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected function
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <filter>
|
||||
testdata/std.filter4:1:1-19 builtin function <filter>
|
||||
|
||||
std.filter(42, [])
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.filter5.golden
vendored
4
testdata/std.filter5.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected array
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <filter>
|
||||
testdata/std.filter5:1:1-31 builtin function <filter>
|
||||
|
||||
std.filter(function(n) 42, 42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.filter6.golden
vendored
4
testdata/std.filter6.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected array
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <filter>
|
||||
testdata/std.filter6:1:1-21 builtin function <filter>
|
||||
|
||||
std.filter(42, "42")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.filter8.golden
vendored
4
testdata/std.filter8.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type function, expected array
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <filter>
|
||||
testdata/std.filter8:1:1-36 builtin function <filter>
|
||||
|
||||
std.filter([42], function(i) "xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.filter_swapped_args.golden
vendored
4
testdata/std.filter_swapped_args.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type function, expected array
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <filter>
|
||||
testdata/std.filter_swapped_args:1:1-38 builtin function <filter>
|
||||
|
||||
std.filter([1,2,3], function(n) true)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
8
testdata/std.flatmap5.golden
vendored
8
testdata/std.flatmap5.golden
vendored
@ -5,10 +5,14 @@ RUNTIME ERROR: a
|
||||
local failWith(x) = error x;
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <flatMap>
|
||||
testdata/std.flatmap5:2:10-48 builtin function <flatMap>
|
||||
|
||||
std.type(std.flatMap(failWith, ["a", "b", "c"]))
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <type>
|
||||
testdata/std.flatmap5:2:1-49 builtin function <type>
|
||||
|
||||
std.type(std.flatMap(failWith, ["a", "b", "c"]))
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.join7.golden
vendored
4
testdata/std.join7.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type array, expected string
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <join>
|
||||
testdata/std.join7:1:1-27 builtin function <join>
|
||||
|
||||
std.join("aa", [[1], [2]])
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.join8.golden
vendored
4
testdata/std.join8.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected array
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <join>
|
||||
testdata/std.join8:1:1-33 builtin function <join>
|
||||
|
||||
std.join([3, 4], [[1, 2], "56"])
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.makeArray_bad.golden
vendored
4
testdata/std.makeArray_bad.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <makeArray>
|
||||
testdata/std.makeArray_bad:1:1-36 builtin function <makeArray>
|
||||
|
||||
std.makeArray("xxx", function(i) i)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.makeArray_bad2.golden
vendored
4
testdata/std.makeArray_bad2.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected function
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <makeArray>
|
||||
testdata/std.makeArray_bad2:1:1-25 builtin function <makeArray>
|
||||
|
||||
std.makeArray(42, "xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.makeArray_noninteger.golden
vendored
4
testdata/std.makeArray_noninteger.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Expected an integer, but got 2.5
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <makeArray>
|
||||
testdata/std.makeArray_noninteger:1:1-34 builtin function <makeArray>
|
||||
|
||||
std.makeArray(2.5, function(i) i)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.makeArray_noninteger_big.golden
vendored
4
testdata/std.makeArray_noninteger_big.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Expected an integer, but got 1e+100
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <makeArray>
|
||||
testdata/std.makeArray_noninteger_big:1:1-47 builtin function <makeArray>
|
||||
|
||||
std.makeArray(1e100, error "shouldn't happen")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.md5_6.golden
vendored
4
testdata/std.md5_6.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type number, expected string
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <md5>
|
||||
testdata/std.md5_6:1:1-12 builtin function <md5>
|
||||
|
||||
std.md5(42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.modulo2.golden
vendored
4
testdata/std.modulo2.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <modulo>
|
||||
testdata/std.modulo2:1:1-22 builtin function <modulo>
|
||||
|
||||
std.modulo("xxx", 42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.modulo3.golden
vendored
4
testdata/std.modulo3.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Unexpected type string, expected number
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <modulo>
|
||||
testdata/std.modulo3:1:1-22 builtin function <modulo>
|
||||
|
||||
std.modulo("xxx", 42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.primitiveEquals10.golden
vendored
4
testdata/std.primitiveEquals10.golden
vendored
@ -5,7 +5,9 @@ RUNTIME ERROR: x
|
||||
std.primitiveEquals(error "x", 42)
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <primitiveEquals>
|
||||
testdata/std.primitiveEquals10:1:1-35 builtin function <primitiveEquals>
|
||||
|
||||
std.primitiveEquals(error "x", 42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.primitiveEquals13.golden
vendored
4
testdata/std.primitiveEquals13.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: primitiveEquals operates on primitive types, got array
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <primitiveEquals>
|
||||
testdata/std.primitiveEquals13:1:1-28 builtin function <primitiveEquals>
|
||||
|
||||
std.primitiveEquals([], [])
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.primitiveEquals6.golden
vendored
4
testdata/std.primitiveEquals6.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: primitiveEquals operates on primitive types, got object
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <primitiveEquals>
|
||||
testdata/std.primitiveEquals6:1:1-28 builtin function <primitiveEquals>
|
||||
|
||||
std.primitiveEquals({}, {})
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.primitiveEquals7.golden
vendored
4
testdata/std.primitiveEquals7.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: Cannot test equality of functions
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <primitiveEquals>
|
||||
testdata/std.primitiveEquals7:1:1-50 builtin function <primitiveEquals>
|
||||
|
||||
std.primitiveEquals(function() 42, function() 42)
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.primitiveEquals9.golden
vendored
4
testdata/std.primitiveEquals9.golden
vendored
@ -5,7 +5,9 @@ RUNTIME ERROR: x
|
||||
std.primitiveEquals(42, error "x")
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <primitiveEquals>
|
||||
testdata/std.primitiveEquals9:1:1-35 builtin function <primitiveEquals>
|
||||
|
||||
std.primitiveEquals(42, error "x")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/std.toString5.golden
vendored
4
testdata/std.toString5.golden
vendored
@ -5,7 +5,9 @@ RUNTIME ERROR: x
|
||||
std.toString(error "x")
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <toString>
|
||||
testdata/std.toString5:1:1-24 builtin function <toString>
|
||||
|
||||
std.toString(error "x")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/strReplace3.golden
vendored
4
testdata/strReplace3.golden
vendored
@ -1,6 +1,8 @@
|
||||
RUNTIME ERROR: 'from' string must not be zero length.
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <strReplace>
|
||||
testdata/strReplace3:1:1-35 builtin function <strReplace>
|
||||
|
||||
std.strReplace("test", "", "blah")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
4
testdata/type_error.golden
vendored
4
testdata/type_error.golden
vendored
@ -5,7 +5,9 @@ RUNTIME ERROR: xxx
|
||||
std.type(error "xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
<builtin> builtin function <type>
|
||||
testdata/type_error:1:1-22 builtin function <type>
|
||||
|
||||
std.type(error "xxx")
|
||||
|
||||
-------------------------------------------------
|
||||
During evaluation
|
||||
|
Loading…
x
Reference in New Issue
Block a user