comparison array.rhope @ 168:d2b941f82d74

Fix type of list constants in inference pass and return type of some Array related workers
author Mike Pavone <pavone@retrodev.com>
date Sun, 01 May 2011 18:41:17 -0700
parents 65ebd1ce2611
children
comparison
equal deleted inserted replaced
167:690ed78ead8a 168:d2b941f82d74
23 _internal_array_copychunk[source(Array), sindex(Int32,Naked), dest(Array,Boxed,Mutable), dindex(Int32,Naked), len(Int32,Naked):dest] 23 _internal_array_copychunk[source(Array), sindex(Int32,Naked), dest(Array,Boxed,Mutable), dindex(Int32,Naked), len(Int32,Naked):dest]
24 _internal_array_getboxed[array(Boxed Array), index(Int32,Naked):out] 24 _internal_array_getboxed[array(Boxed Array), index(Int32,Naked):out]
25 _internal_array_setboxed[array(Boxed Array,Boxed,Mutable), index(Int32,Naked), val:array] 25 _internal_array_setboxed[array(Boxed Array,Boxed,Mutable), index(Int32,Naked), val:array]
26 _internal_array_allocboxed[size(Int32,Naked):out(Boxed Array)] 26 _internal_array_allocboxed[size(Int32,Naked):out(Boxed Array)]
27 _internal_array_allocboxedcopy[source(Boxed Array),size(Int32,Naked):out(Boxed Array)] 27 _internal_array_allocboxedcopy[source(Boxed Array),size(Int32,Naked):out(Boxed Array)]
28 _internal_array_allocnaked[size(Int32,Naked),type(Blueprint):out(Array)] 28 _internal_array_allocnaked[size(Int32,Naked),type(Blueprint):out]
29 _internal_array_allocnakedcopy[source(Array),size(Int32,Naked):out(Array)] 29 _internal_array_allocnakedcopy[source(Array),size(Int32,Naked):out(Array)]
30 } 30 }
31 31
32 Array[:out(Empty Array)] 32 Array[:out(Empty Array)]
33 { 33 {
89 { 89 {
90 ,empty <- If[[array]Length >>] 90 ,empty <- If[[array]Length >>]
91 { out <- [[array]Length >>] - [1] } 91 { out <- [[array]Length >>] - [1] }
92 } 92 }
93 93
94 Append@Empty Array[array,newval:out(Array)] 94 Append@Empty Array[array,newval:out]
95 { 95 {
96 out <- [array]Set[0, newval] 96 out <- [array]Set[0, newval]
97 } 97 }
98 98
99 Append@Array[array,newval:out] 99 Append@Array[array,newval:out]
212 } 212 }
213 } 213 }
214 } 214 }
215 } 215 }
216 216
217 Set@Empty Array[array,index(Int32),val:out(Array),invalid] 217 Set@Empty Array[array,index(Int32),val:out,invalid]
218 { 218 {
219 invalid <- If[[index]<[0]] {} 219 invalid <- If[[index]<[0]] {}
220 { 220 {
221 out <- [_internal_array_allocnaked[1, Blueprint Of[val]]]Set[index, val] 221 out <- [_internal_array_allocnaked[1, Blueprint Of[val]]]Set[index, val]
222 } 222 }