@@ -773,6 +773,62 @@ pmclass SixModelObject manual_attrs dynpmc group nqp {
773
773
}
774
774
}
775
775
776
+ VTABLE FLOATVAL get_number_keyed_int(INTVAL i) {
777
+ PMC *decont = DECONT(interp, SELF);
778
+ if (REPR(decont)->pos_funcs) {
779
+ NativeValue nv;
780
+ nv.type = NATIVE_VALUE_FLOAT;
781
+ REPR(decont)->pos_funcs->at_pos_native(interp, STABLE(decont),
782
+ OBJECT_BODY(decont), i, &nv);
783
+ return nv.value.floatval;
784
+ }
785
+ else {
786
+ return SUPER(i);
787
+ }
788
+ }
789
+
790
+ VTABLE void set_number_keyed_int(INTVAL i, FLOATVAL value) {
791
+ PMC *decont = DECONT(interp, SELF);
792
+ if (REPR(decont)->pos_funcs) {
793
+ NativeValue nv;
794
+ nv.type = NATIVE_VALUE_FLOAT;
795
+ nv.value.floatval = value;
796
+ REPR(decont)->pos_funcs->bind_pos_native(interp, STABLE(decont),
797
+ OBJECT_BODY(decont), i, &nv);
798
+ }
799
+ else {
800
+ SUPER(i, value);
801
+ }
802
+ }
803
+
804
+ VTABLE STRING * get_string_keyed_int(INTVAL i) {
805
+ PMC *decont = DECONT(interp, SELF);
806
+ if (REPR(decont)->pos_funcs) {
807
+ NativeValue nv;
808
+ nv.type = NATIVE_VALUE_STRING;
809
+ REPR(decont)->pos_funcs->at_pos_native(interp, STABLE(decont),
810
+ OBJECT_BODY(decont), i, &nv);
811
+ return nv.value.stringval;
812
+ }
813
+ else {
814
+ return SUPER(i);
815
+ }
816
+ }
817
+
818
+ VTABLE void set_string_keyed_int(INTVAL i, STRING *value) {
819
+ PMC *decont = DECONT(interp, SELF);
820
+ if (REPR(decont)->pos_funcs) {
821
+ NativeValue nv;
822
+ nv.type = NATIVE_VALUE_STRING;
823
+ nv.value.stringval = value;
824
+ REPR(decont)->pos_funcs->bind_pos_native(interp, STABLE(decont),
825
+ OBJECT_BODY(decont), i, &nv);
826
+ }
827
+ else {
828
+ SUPER(i, value);
829
+ }
830
+ }
831
+
776
832
VTABLE INTVAL elements() {
777
833
PMC *decont = DECONT(interp, SELF);
778
834
if (REPR(decont)->elems)
0 commit comments