@@ -269,7 +269,7 @@ inline op repr_get_attr_obj(out PMC, in PMC, in PMC, in STR) :base_core {
269
269
PMC *ch = decontainerize(interp, $3);
270
270
if ($2->vtable->base_type == smo_id) {
271
271
if (IS_CONCRETE($2))
272
- $1 = REPR($2)->get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
272
+ $1 = REPR($2)->attr_funcs-> get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
273
273
else
274
274
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
275
275
"Cannot look up attributes in a type object");
@@ -294,7 +294,7 @@ inline op repr_get_attr_int(out INT, in PMC, in PMC, in STR) :base_core {
294
294
PMC *ch = decontainerize(interp, $3);
295
295
if ($2->vtable->base_type == smo_id) {
296
296
if (IS_CONCRETE($2))
297
- $1 = *((INTVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
297
+ $1 = *((INTVAL *)REPR($2)->attr_funcs-> get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
298
298
else
299
299
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
300
300
"Cannot look up attributes in a type object");
@@ -318,7 +318,7 @@ inline op repr_get_attr_num(out NUM, in PMC, in PMC, in STR) :base_core {
318
318
PMC *ch = decontainerize(interp, $3);
319
319
if ($2->vtable->base_type == smo_id) {
320
320
if (IS_CONCRETE($2))
321
- $1 = *((FLOATVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
321
+ $1 = *((FLOATVAL *)REPR($2)->attr_funcs-> get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
322
322
else
323
323
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
324
324
"Cannot look up attributes in a type object");
@@ -343,7 +343,7 @@ inline op repr_get_attr_str(out STR, in PMC, in PMC, in STR) :base_core {
343
343
PMC *ch = decontainerize(interp, $3);
344
344
if ($2->vtable->base_type == smo_id) {
345
345
if (IS_CONCRETE($2))
346
- $1 = *((STRING **)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
346
+ $1 = *((STRING **)REPR($2)->attr_funcs-> get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
347
347
else
348
348
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
349
349
"Cannot look up attributes in a type object");
@@ -368,7 +368,7 @@ inline op repr_bind_attr_obj(in PMC, in PMC, in STR, in PMC) :base_core {
368
368
PMC *ch = decontainerize(interp, $2);
369
369
if ($1->vtable->base_type == smo_id) {
370
370
if (IS_CONCRETE($1))
371
- REPR($1)->bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, $4);
371
+ REPR($1)->attr_funcs-> bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, $4);
372
372
else
373
373
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
374
374
"Cannot bind to attributes in a type object");
@@ -394,7 +394,7 @@ inline op repr_bind_attr_int(in PMC, in PMC, in STR, in INT) :base_core {
394
394
PMC *ch = decontainerize(interp, $2);
395
395
if ($1->vtable->base_type == smo_id) {
396
396
if (IS_CONCRETE($1))
397
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
397
+ REPR($1)->attr_funcs-> bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
398
398
else
399
399
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
400
400
"Cannot bind to attributes in a type object");
@@ -419,7 +419,7 @@ inline op repr_bind_attr_num(in PMC, in PMC, in STR, in NUM) :base_core {
419
419
PMC *ch = decontainerize(interp, $2);
420
420
if ($1->vtable->base_type == smo_id) {
421
421
if (IS_CONCRETE($1))
422
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
422
+ REPR($1)->attr_funcs-> bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
423
423
else
424
424
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
425
425
"Cannot bind to attributes in a type object");
@@ -444,7 +444,7 @@ inline op repr_bind_attr_str(in PMC, in PMC, in STR, in STR) :base_core {
444
444
PMC *ch = decontainerize(interp, $2);
445
445
if ($1->vtable->base_type == smo_id) {
446
446
if (IS_CONCRETE($1))
447
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
447
+ REPR($1)->attr_funcs-> bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
448
448
else
449
449
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
450
450
"Cannot bind to attributes in a type object");
@@ -469,7 +469,7 @@ inline op repr_get_attr_obj(out PMC, in PMC, in PMC, in STR, in INT) :base_core
469
469
PMC *ch = decontainerize(interp, $3);
470
470
if ($2->vtable->base_type == smo_id) {
471
471
if (IS_CONCRETE($2))
472
- $1 = REPR($2)->get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5);
472
+ $1 = REPR($2)->attr_funcs-> get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5);
473
473
else
474
474
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
475
475
"Cannot look up attributes in a type object");
@@ -494,7 +494,7 @@ inline op repr_get_attr_int(out INT, in PMC, in PMC, in STR, in INT) :base_core
494
494
PMC *ch = decontainerize(interp, $3);
495
495
if ($2->vtable->base_type == smo_id) {
496
496
if (IS_CONCRETE($2))
497
- $1 = *((INTVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
497
+ $1 = *((INTVAL *)REPR($2)->attr_funcs-> get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
498
498
else
499
499
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
500
500
"Cannot look up attributes in a type object");
@@ -519,7 +519,7 @@ inline op repr_get_attr_num(out NUM, in PMC, in PMC, in STR, in INT) :base_core
519
519
PMC *ch = decontainerize(interp, $3);
520
520
if ($2->vtable->base_type == smo_id) {
521
521
if (IS_CONCRETE($2))
522
- $1 = *((FLOATVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
522
+ $1 = *((FLOATVAL *)REPR($2)->attr_funcs-> get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
523
523
else
524
524
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
525
525
"Cannot look up attributes in a type object");
@@ -544,7 +544,7 @@ inline op repr_get_attr_str(out STR, in PMC, in PMC, in STR, in INT) :base_core
544
544
PMC *ch = decontainerize(interp, $3);
545
545
if ($2->vtable->base_type == smo_id) {
546
546
if (IS_CONCRETE($2))
547
- $1 = *((STRING **)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
547
+ $1 = *((STRING **)REPR($2)->attr_funcs-> get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
548
548
else
549
549
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
550
550
"Cannot look up attributes in a type object");
@@ -569,7 +569,7 @@ inline op repr_bind_attr_obj(in PMC, in PMC, in STR, in INT, in PMC) :base_core
569
569
PMC *ch = decontainerize(interp, $2);
570
570
if ($1->vtable->base_type == smo_id) {
571
571
if (IS_CONCRETE($1))
572
- REPR($1)->bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, $5);
572
+ REPR($1)->attr_funcs-> bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, $5);
573
573
else
574
574
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
575
575
"Cannot bind to attributes in a type object");
@@ -595,7 +595,7 @@ inline op repr_bind_attr_int(in PMC, in PMC, in STR, in INT, in INT) :base_core
595
595
PMC *ch = decontainerize(interp, $2);
596
596
if ($1->vtable->base_type == smo_id) {
597
597
if (IS_CONCRETE($1))
598
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
598
+ REPR($1)->attr_funcs-> bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
599
599
else
600
600
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
601
601
"Cannot bind to attributes in a type object");
@@ -620,7 +620,7 @@ inline op repr_bind_attr_num(in PMC, in PMC, in STR, in INT, in NUM) :base_core
620
620
PMC *ch = decontainerize(interp, $2);
621
621
if ($1->vtable->base_type == smo_id) {
622
622
if (IS_CONCRETE($1))
623
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
623
+ REPR($1)->attr_funcs-> bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
624
624
else
625
625
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
626
626
"Cannot bind to attributes in a type object");
@@ -645,7 +645,7 @@ inline op repr_bind_attr_str(in PMC, in PMC, in STR, in INT, in STR) :base_core
645
645
PMC *ch = decontainerize(interp, $2);
646
646
if ($1->vtable->base_type == smo_id) {
647
647
if (IS_CONCRETE($1))
648
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
648
+ REPR($1)->attr_funcs-> bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
649
649
else
650
650
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
651
651
"Cannot bind to attributes in a type object");
@@ -671,7 +671,7 @@ inline op repr_is_attr_initialized(out INT, in PMC, in PMC, in STR) :base_core {
671
671
PMC *ch = decontainerize(interp, $3);
672
672
if ($2->vtable->base_type == smo_id) {
673
673
if (IS_CONCRETE($2))
674
- $1 = REPR($2)->is_attribute_initialized(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
674
+ $1 = REPR($2)->attr_funcs-> is_attribute_initialized(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
675
675
else
676
676
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
677
677
"Cannot check initializedness of attributes in a type object");
@@ -866,7 +866,7 @@ inline op repr_unbox_str(out STR, in PMC) :base_core {
866
866
PMC *var = decontainerize(interp, $2);
867
867
if (var->vtable->base_type == smo_id) {
868
868
if (IS_CONCRETE(var))
869
- $1 = REPR(var)->get_str(interp, STABLE(var), OBJECT_BODY(var));
869
+ $1 = REPR(var)->box_funcs-> get_str(interp, STABLE(var), OBJECT_BODY(var));
870
870
else
871
871
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
872
872
"Cannot unbox a type object as a native str");
@@ -890,7 +890,7 @@ inline op repr_unbox_int(out INT, in PMC) :base_core {
890
890
PMC *var = decontainerize(interp, $2);
891
891
if (var->vtable->base_type == smo_id) {
892
892
if (IS_CONCRETE(var))
893
- $1 = REPR(var)->get_int(interp, STABLE(var), OBJECT_BODY(var));
893
+ $1 = REPR(var)->box_funcs-> get_int(interp, STABLE(var), OBJECT_BODY(var));
894
894
else
895
895
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
896
896
"Cannot unbox a type object as a native int");
@@ -914,7 +914,7 @@ inline op repr_unbox_num(out NUM, in PMC) :base_core {
914
914
PMC *var = decontainerize(interp, $2);
915
915
if (var->vtable->base_type == smo_id) {
916
916
if (IS_CONCRETE(var))
917
- $1 = REPR(var)->get_num(interp, STABLE(var), OBJECT_BODY(var));
917
+ $1 = REPR(var)->box_funcs-> get_num(interp, STABLE(var), OBJECT_BODY(var));
918
918
else
919
919
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
920
920
"Cannot unbox a type object as a native num");
@@ -939,7 +939,7 @@ inline op repr_box_str(out PMC, in STR, in PMC) :base_core {
939
939
if (type->vtable->base_type == smo_id) {
940
940
$1 = REPR(type)->allocate(interp, STABLE(type));
941
941
REPR($1)->initialize(interp, STABLE(type), OBJECT_BODY($1));
942
- REPR($1)->set_str(interp, STABLE($1), OBJECT_BODY($1), $2);
942
+ REPR($1)->box_funcs-> set_str(interp, STABLE($1), OBJECT_BODY($1), $2);
943
943
PARROT_GC_WRITE_BARRIER(interp, $1);
944
944
}
945
945
else
@@ -961,7 +961,7 @@ inline op repr_box_int(out PMC, in INT, in PMC) :base_core {
961
961
if (type->vtable->base_type == smo_id) {
962
962
$1 = REPR(type)->allocate(interp, STABLE(type));
963
963
REPR($1)->initialize(interp, STABLE(type), OBJECT_BODY($1));
964
- REPR($1)->set_int(interp, STABLE($1), OBJECT_BODY($1), $2);
964
+ REPR($1)->box_funcs-> set_int(interp, STABLE($1), OBJECT_BODY($1), $2);
965
965
}
966
966
else
967
967
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -982,7 +982,7 @@ inline op repr_box_num(out PMC, in NUM, in PMC) :base_core {
982
982
if (type->vtable->base_type == smo_id) {
983
983
$1 = REPR(type)->allocate(interp, STABLE(type));
984
984
REPR($1)->initialize(interp, STABLE(type), OBJECT_BODY($1));
985
- REPR($1)->set_num(interp, STABLE($1), OBJECT_BODY($1), $2);
985
+ REPR($1)->box_funcs-> set_num(interp, STABLE($1), OBJECT_BODY($1), $2);
986
986
}
987
987
else
988
988
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -1260,7 +1260,7 @@ inline op stable_publish_vtable_handler_mapping(in PMC, in PMC) :base_core {
1260
1260
st->parrot_vtable_handler_mapping[idx].class_handle = class_handle;
1261
1261
st->parrot_vtable_handler_mapping[idx].attr_name = attr_name;
1262
1262
st->parrot_vtable_handler_mapping[idx].hint =
1263
- REPR(class_handle)->hint_for(interp, st, class_handle, attr_name);
1263
+ REPR(class_handle)->attr_funcs-> hint_for(interp, st, class_handle, attr_name);
1264
1264
}
1265
1265
else
1266
1266
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -1501,7 +1501,7 @@ Gets lookup hint for an attribute.
1501
1501
inline op repr_hint_for(out INT, in PMC, in PMC, in STR) :base_core {
1502
1502
PMC *ch = decontainerize(interp, $3);
1503
1503
if ($2->vtable->base_type == smo_id)
1504
- $1 = REPR($2)->hint_for(interp, STABLE($2), $3, $4);
1504
+ $1 = REPR($2)->attr_funcs-> hint_for(interp, STABLE($2), $3, $4);
1505
1505
else
1506
1506
$1 = NO_HINT;
1507
1507
}
0 commit comments