1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-12 19:22:37 +00:00
ton/tolk-tester/tests/code_after_ifelse.tolk
tolk-vm e2edadba92
[Tolk] v0.6 syntax: fun, import, var, types on the right, etc.
Lots of changes, actually. Most noticeable are:
- traditional //comments
- #include -> import
- a rule "import what you use"
- ~ found -> !found (for -1/0)
- null() -> null
- is_null?(v) -> v == null
- throw is a keyword
- catch with swapped arguments
- throw_if, throw_unless -> assert
- do until -> do while
- elseif -> else if
- drop ifnot, elseifnot
- drop rarely used operators

A testing framework also appears here. All tests existed earlier,
but due to significant syntax changes, their history is useless.
2024-11-02 03:44:13 +04:00

41 lines
600 B
Text

fun elseif(cond: int) {
if (cond > 0) {
throw(cond);
}
}
@inline
@method_id(101)
fun foo(x: int): int {
if (x==1) {
return 111;
} else {
x *= 2;
}
return x + 1;
}
fun main(x: int): (int, int) {
return (foo(x), 222);
}
@method_id(102)
fun test2(x: int) {
try {
if (x < 0) { return -1; }
elseif (x);
} catch(excNo) {
return excNo * 1000;
}
return 0;
}
/**
method_id | in | out
@testcase | 0 | 1 | 111 222
@testcase | 0 | 3 | 7 222
@testcase | 101 | 1 | 111
@testcase | 101 | 3 | 7
@testcase | 102 | -5 | -1
@testcase | 102 | 5 | 5000
*/