diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-06-09 19:33:11 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-06-09 19:33:11 +0330 |
commit | 91214dfb533ac693880ef06b3e990d944009d2e4 (patch) | |
tree | 0f6c10317fff37ed1c7d70858eb067e95952d9a7 /code/lib/operator.felan | |
parent | 8dc246166a007c2815f93ff6db535a660b05431c (diff) |
changing access overloading to have pointer to value instead of value
itself
Diffstat (limited to 'code/lib/operator.felan')
-rw-r--r-- | code/lib/operator.felan | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/code/lib/operator.felan b/code/lib/operator.felan index b7ac63a..52f4a3a 100644 --- a/code/lib/operator.felan +++ b/code/lib/operator.felan @@ -800,28 +800,28 @@ __sub__ :: (left:*anytype,right:i64) -> (@type_of(left)) { return @sub(left,right); }; -__get_item__ :: (left:*anytype,index:i64) -> (@type_of(left.*)) { - return (left + index).*; +__get_item__ :: (left:**anytype,index:i64) -> (@type_of(left.*.*)) { + return (left.* + index).*; }; -__set_item__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left.*)) { - return (left + index).* = item; +__set_item__ :: (left:**anytype,index:i64,item:@type_of(left.*.*)) -> (@type_of(left.*.*)) { + return (left.* + index).* = item; }; -__get_item_address__ :: (left:*anytype,index:i64) -> (@type_of(left)) { - return (left + index); +__get_item_address__ :: (left:**anytype,index:i64) -> (@type_of(left.*)) { + return (left.* + index); }; //---------------------- Array ------------------------ -__get_item__ :: (left:[]anytype,index:i64) -> (@type_of(left.ptr.*)) { - return (left.ptr + index).*; +__get_item__ :: (left:*[]anytype,index:i64) -> (@type_of(left.*.ptr.*)) { + return (left.*.ptr + index).*; }; -__set_item__ :: (left:[]anytype,index:i64,item:@type_of(left.ptr.*)) -> (@type_of(left.ptr.*)) { - return (left.ptr + index).* = item; +__set_item__ :: (left:*[]anytype,index:i64,item:@type_of(left.*.ptr.*)) -> (@type_of(left.*.ptr.*)) { + return (left.*.ptr + index).* = item; }; -__get_item_address__ :: (left:[]anytype,index:i64) -> (@type_of(left.ptr)) { - return (left.ptr + index); +__get_item_address__ :: (left:*[]anytype,index:i64) -> (@type_of(left.*.ptr)) { + return (left.*.ptr + index); }; |