struct-arrays: fix new-sequence method

db4
Slava Pestov 2009-09-03 02:23:37 -05:00
parent e86a76a7d8
commit edbe9c4279
2 changed files with 11 additions and 2 deletions

View File

@ -1,11 +1,20 @@
IN: struct-arrays.tests
USING: classes.struct struct-arrays tools.test kernel math sequences
alien.syntax alien.c-types destructors libc accessors sequences.private ;
alien.syntax alien.c-types destructors libc accessors sequences.private
compiler.tree.debugger combinators.smart ;
STRUCT: test-struct-array
{ x int }
{ y int } ;
[ 1 ] [
1 struct-array{ test-struct-array } new-sequence length
] unit-test
[ V{ test-struct-array } ] [
[ [ test-struct-array <struct> ] struct-array{ test-struct-array } output>sequence first ] final-classes
] unit-test
: make-point ( x y -- struct )
test-struct-array <struct-boa> ;

View File

@ -48,7 +48,7 @@ ERROR: not-a-struct-class struct-class ;
tri struct-array boa ; inline
M: struct-array new-sequence
[ element-size>> * (byte-array) ] [ length>> ] [ class>> ] tri
[ element-size>> * (byte-array) ] [ class>> ] 2bi
<direct-struct-array> ; inline
M: struct-array resize ( n seq -- newseq )