aboutsummaryrefslogtreecommitdiff
path: root/code/lib/operator.felan
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-06-09 19:33:11 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-06-09 19:33:11 +0330
commit91214dfb533ac693880ef06b3e990d944009d2e4 (patch)
tree0f6c10317fff37ed1c7d70858eb067e95952d9a7 /code/lib/operator.felan
parent8dc246166a007c2815f93ff6db535a660b05431c (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.felan24
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);
};