add __setattr__

This commit is contained in:
William Bell
2025-09-17 22:56:44 +01:00
parent 042c278b8d
commit 50ff9fbefc
10 changed files with 96 additions and 34 deletions

View File

@@ -139,7 +139,7 @@ ArgonObject *create_ARGON_DICTIONARY_TYPE___get_attr__(size_t argc,
ArgonObject *result = hashmap_lookup_GC(object->value.as_hashmap, hash);
if (!result) {
*err = create_err(0, 0, 0, NULL, "Attribute Error",
"Dictionary has no attribute ''");
"Dictionary has no attribute '%.*s'", key->value.as_str->length, key->value.as_str->data);
return ARGON_NULL;
}
return result;

View File

@@ -532,7 +532,7 @@ void create_ARGON_NUMBER_TYPE() {
add_builtin_field(ARGON_NUMBER_TYPE, __multiply__,
create_argon_native_function(
"__multiply__", ARGON_NUMBER_TYPE___multiply__));
add_builtin_field(ARGON_NUMBER_TYPE, __division__,
add_builtin_field(ARGON_NUMBER_TYPE, __divide__,
create_argon_native_function(
"__division__", ARGON_NUMBER_TYPE___division__));
init_small_ints();

View File

@@ -39,7 +39,7 @@ const char *built_in_field_names[BUILT_IN_FIELDS_COUNT] = {
"__string__",
"__subtract__",
"__multiply__",
"__division__",
"__divide__",
"__new__",
"__init__",
"__boolean__",