mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
[Tolk] Support syntax tensorVar.0
and tupleVar.0
It works both for reading and writing: > var t = (1, 2); > t.0; // 1 > t.0 = 5; > t; // (5, 2) It also works for typed/untyped tuples, producing INDEX and SETINDEX. Global tensors and tuples works. Nesting `t.0.1.2` works. `mutate` works. Even mixing tuples inside tensors inside a global for writing works.
This commit is contained in:
parent
565bc59735
commit
7a1602f591
42 changed files with 1119 additions and 338 deletions
|
@ -89,12 +89,14 @@ fun test_if_else(x: int): (int, int, int, int, int) {
|
|||
|
||||
@method_id(21)
|
||||
fun test_assign_with_inner(x: int) {
|
||||
return (x, x += 10, [(x, x += 20, eq(x -= 50), x)], eq2((x, x *= eq(x /= 2))));
|
||||
var result = (x, x += 10, [x, x += 20, eq(x -= 50), x], eq2((x, x *= eq(x /= 2))));
|
||||
return result;
|
||||
}
|
||||
|
||||
@method_id(22)
|
||||
fun test_assign_with_mutate(x: int) {
|
||||
return (x, mul2(mutate x, x += 5), x.`~inc`(mul2(mutate x, x)), x);
|
||||
var (result, _) = ((x, mul2(mutate x, x += 5), x.`~inc`(mul2(mutate x, x)), x), 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
@method_id(23)
|
||||
|
@ -138,5 +140,12 @@ fun main() {
|
|||
inc CALLDICT // self newY
|
||||
}>
|
||||
"""
|
||||
|
||||
@fif_codegen
|
||||
"""
|
||||
test_assign_tensor_global PROC:<{
|
||||
// x.0 x.1
|
||||
"""
|
||||
|
||||
@code_hash 7627024945492125068389905298530400936797031708759561372406088054030801992712
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue