Mercurial > repos > rhope
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 } |