From 91214dfb533ac693880ef06b3e990d944009d2e4 Mon Sep 17 00:00:00 2001 From: A404M Date: Mon, 9 Jun 2025 19:33:11 +0330 Subject: changing access overloading to have pointer to value instead of value itself --- code/lib/operator.felan | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'code/lib/operator.felan') 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); }; -- cgit v1.2.3