@@ -69,6 +69,7 @@ def read_array_of_char(length)
69
69
alias_method :read_array_of_int8 , :read_array_of_char
70
70
71
71
def write_array_of_char ( ary )
72
+ Truffle ::Type . rb_check_type ( ary , ::Array )
72
73
ary . each_with_index do |value , i |
73
74
Primitive . pointer_write_char address + ( i * 1 ) , Primitive . rb_to_int ( value )
74
75
end
@@ -119,6 +120,7 @@ def read_array_of_uchar(length)
119
120
alias_method :read_array_of_uint8 , :read_array_of_uchar
120
121
121
122
def write_array_of_uchar ( ary )
123
+ Truffle ::Type . rb_check_type ( ary , ::Array )
122
124
ary . each_with_index do |value , i |
123
125
Primitive . pointer_write_uchar address + ( i * 1 ) , Primitive . rb_to_int ( value )
124
126
end
@@ -169,6 +171,7 @@ def read_array_of_short(length)
169
171
alias_method :read_array_of_int16 , :read_array_of_short
170
172
171
173
def write_array_of_short ( ary )
174
+ Truffle ::Type . rb_check_type ( ary , ::Array )
172
175
ary . each_with_index do |value , i |
173
176
Primitive . pointer_write_short address + ( i * 2 ) , Primitive . rb_to_int ( value )
174
177
end
@@ -219,6 +222,7 @@ def read_array_of_ushort(length)
219
222
alias_method :read_array_of_uint16 , :read_array_of_ushort
220
223
221
224
def write_array_of_ushort ( ary )
225
+ Truffle ::Type . rb_check_type ( ary , ::Array )
222
226
ary . each_with_index do |value , i |
223
227
Primitive . pointer_write_ushort address + ( i * 2 ) , Primitive . rb_to_int ( value )
224
228
end
@@ -269,6 +273,7 @@ def read_array_of_int(length)
269
273
alias_method :read_array_of_int32 , :read_array_of_int
270
274
271
275
def write_array_of_int ( ary )
276
+ Truffle ::Type . rb_check_type ( ary , ::Array )
272
277
ary . each_with_index do |value , i |
273
278
Primitive . pointer_write_int address + ( i * 4 ) , Primitive . rb_to_int ( value )
274
279
end
@@ -319,6 +324,7 @@ def read_array_of_uint(length)
319
324
alias_method :read_array_of_uint32 , :read_array_of_uint
320
325
321
326
def write_array_of_uint ( ary )
327
+ Truffle ::Type . rb_check_type ( ary , ::Array )
322
328
ary . each_with_index do |value , i |
323
329
Primitive . pointer_write_uint address + ( i * 4 ) , Primitive . rb_to_int ( value )
324
330
end
@@ -374,6 +380,7 @@ def read_array_of_long(length)
374
380
alias_method :read_array_of_long_long , :read_array_of_long
375
381
376
382
def write_array_of_long ( ary )
383
+ Truffle ::Type . rb_check_type ( ary , ::Array )
377
384
ary . each_with_index do |value , i |
378
385
Primitive . pointer_write_long address + ( i * 8 ) , Primitive . rb_to_int ( value )
379
386
end
@@ -432,6 +439,7 @@ def read_array_of_ulong(length)
432
439
alias_method :read_array_of_ulong_long , :read_array_of_ulong
433
440
434
441
def write_array_of_ulong ( ary )
442
+ Truffle ::Type . rb_check_type ( ary , ::Array )
435
443
ary . each_with_index do |value , i |
436
444
Primitive . pointer_write_ulong address + ( i * 8 ) , Primitive . rb_to_int ( value )
437
445
end
@@ -485,6 +493,7 @@ def read_array_of_float(length)
485
493
alias_method :read_array_of_float32 , :read_array_of_float
486
494
487
495
def write_array_of_float ( ary )
496
+ Truffle ::Type . rb_check_type ( ary , ::Array )
488
497
ary . each_with_index do |value , i |
489
498
Primitive . pointer_write_float address + ( i * 4 ) , Truffle ::Type . rb_to_f ( value )
490
499
end
@@ -535,6 +544,7 @@ def read_array_of_double(length)
535
544
alias_method :read_array_of_float64 , :read_array_of_double
536
545
537
546
def write_array_of_double ( ary )
547
+ Truffle ::Type . rb_check_type ( ary , ::Array )
538
548
ary . each_with_index do |value , i |
539
549
Primitive . pointer_write_double address + ( i * 8 ) , Truffle ::Type . rb_to_f ( value )
540
550
end
@@ -594,6 +604,7 @@ def read_array_of_pointer(length)
594
604
end
595
605
596
606
def write_array_of_pointer ( ary )
607
+ Truffle ::Type . rb_check_type ( ary , ::Array )
597
608
ary . each_with_index do |value , i |
598
609
Primitive . pointer_write_pointer address + ( i * 8 ) , get_pointer_value ( value )
599
610
end
0 commit comments