Make type checking builtins also accept just a type argument

This commit is contained in:
dcodeIO
2018-04-07 23:31:36 +02:00
parent 8ffc7d463d
commit dcc0e284fb
12 changed files with 1113 additions and 888 deletions

View File

@ -79,7 +79,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 34)
(i32.const 43)
(i32.const 19)
)
(unreachable)
@ -106,7 +106,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 35)
(i32.const 44)
(i32.const 20)
)
(unreachable)
@ -131,7 +131,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 36)
(i32.const 45)
(i32.const 20)
)
(unreachable)
@ -176,7 +176,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 52)
(i32.const 61)
(i32.const 19)
)
(unreachable)
@ -205,7 +205,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 53)
(i32.const 62)
(i32.const 20)
)
(unreachable)
@ -230,7 +230,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 54)
(i32.const 63)
(i32.const 20)
)
(unreachable)
@ -657,7 +657,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 244)
(i32.const 253)
(i32.const 0)
)
(unreachable)
@ -674,7 +674,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 245)
(i32.const 254)
(i32.const 0)
)
(unreachable)
@ -700,7 +700,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 246)
(i32.const 255)
(i32.const 0)
)
(unreachable)
@ -726,7 +726,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 247)
(i32.const 256)
(i32.const 0)
)
(unreachable)
@ -752,7 +752,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 248)
(i32.const 257)
(i32.const 0)
)
(unreachable)
@ -778,7 +778,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 249)
(i32.const 258)
(i32.const 0)
)
(unreachable)
@ -806,7 +806,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 250)
(i32.const 259)
(i32.const 0)
)
(unreachable)
@ -834,7 +834,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 251)
(i32.const 260)
(i32.const 0)
)
(unreachable)

View File

@ -1,12 +1,21 @@
var b: bool;
// types
// type checks
assert(isInteger<i32>());
assert(!isInteger<f32>());
assert(isFloat<f32>());
assert(!isFloat<i32>());
assert(isReference<string>());
assert(!isReference<usize>());
assert(isArray<i32[]>());
assert(!isArray<usize>());
assert(isInteger(<i32>1));
assert(!isInteger(<f32>1));
assert(isFloat(<f32>1));
assert(!isFloat(<i32>1));
assert(isReference(changetype<String>(null)));
assert(isReference(changetype<string>(null)));
assert(!isReference(changetype<usize>(null)));
assert(isString("1"));
assert(!isString(1));

File diff suppressed because it is too large Load Diff

View File

@ -6404,7 +6404,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 34)
(i32.const 43)
(i32.const 19)
)
(unreachable)
@ -6431,7 +6431,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 35)
(i32.const 44)
(i32.const 20)
)
(unreachable)
@ -6456,7 +6456,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 36)
(i32.const 45)
(i32.const 20)
)
(unreachable)
@ -6501,7 +6501,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 52)
(i32.const 61)
(i32.const 19)
)
(unreachable)
@ -6530,7 +6530,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 53)
(i32.const 62)
(i32.const 20)
)
(unreachable)
@ -6555,7 +6555,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 54)
(i32.const 63)
(i32.const 20)
)
(unreachable)
@ -6982,7 +6982,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 244)
(i32.const 253)
(i32.const 0)
)
(unreachable)
@ -6999,7 +6999,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 245)
(i32.const 254)
(i32.const 0)
)
(unreachable)
@ -7025,7 +7025,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 246)
(i32.const 255)
(i32.const 0)
)
(unreachable)
@ -7051,7 +7051,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 247)
(i32.const 256)
(i32.const 0)
)
(unreachable)
@ -7077,7 +7077,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 248)
(i32.const 257)
(i32.const 0)
)
(unreachable)
@ -7103,7 +7103,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 249)
(i32.const 258)
(i32.const 0)
)
(unreachable)
@ -7131,7 +7131,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 250)
(i32.const 259)
(i32.const 0)
)
(unreachable)
@ -7159,7 +7159,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 251)
(i32.const 260)
(i32.const 0)
)
(unreachable)

File diff suppressed because it is too large Load Diff