throw a better error if <c-type*-array> is called when specialized array vocab isn't loaded. fix <c-type-direct-array>
							parent
							
								
									79787f6259
								
							
						
					
					
						commit
						59cdec755a
					
				| 
						 | 
					@ -95,6 +95,8 @@ M: string require-c-type-arrays
 | 
				
			||||||
M: array require-c-type-arrays
 | 
					M: array require-c-type-arrays
 | 
				
			||||||
    first c-type require-c-type-arrays ;
 | 
					    first c-type require-c-type-arrays ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ERROR: specialized-array-vocab-not-loaded vocab word ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GENERIC: c-type-array-constructor ( c-type -- word ) foldable
 | 
					GENERIC: c-type-array-constructor ( c-type -- word ) foldable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: string c-type-array-constructor 
 | 
					M: string c-type-array-constructor 
 | 
				
			||||||
| 
						 | 
					@ -102,21 +104,26 @@ M: string c-type-array-constructor
 | 
				
			||||||
M: array c-type-array-constructor
 | 
					M: array c-type-array-constructor
 | 
				
			||||||
    first c-type c-type-array-constructor ;
 | 
					    first c-type c-type-array-constructor ;
 | 
				
			||||||
M: c-type c-type-array-constructor
 | 
					M: c-type c-type-array-constructor
 | 
				
			||||||
    array-constructor>> ;
 | 
					    array-constructor>> dup word?
 | 
				
			||||||
 | 
					    [ first2 specialized-array-vocab-not-loaded ] unless ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GENERIC: c-type-direct-array-constructor ( c-type -- word ) foldable
 | 
					GENERIC: c-type-direct-array-constructor ( c-type -- word ) foldable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: string c-type-direct-array-constructor 
 | 
					M: string c-type-direct-array-constructor 
 | 
				
			||||||
    c-type c-type-array-constructor ;
 | 
					    c-type c-type-direct-array-constructor ;
 | 
				
			||||||
M: array c-type-direct-array-constructor
 | 
					M: array c-type-direct-array-constructor
 | 
				
			||||||
    first c-type c-type-direct-array-constructor ;
 | 
					    first c-type c-type-direct-array-constructor ;
 | 
				
			||||||
M: c-type c-type-direct-array-constructor
 | 
					M: c-type c-type-direct-array-constructor
 | 
				
			||||||
    direct-array-constructor>> ;
 | 
					    direct-array-constructor>> dup word?
 | 
				
			||||||
 | 
					    [ first2 specialized-array-vocab-not-loaded ] unless ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: <c-type-array> ( len c-type -- array )
 | 
					GENERIC: <c-type-array> ( len c-type -- array )
 | 
				
			||||||
 | 
					M: object <c-type-array>
 | 
				
			||||||
    c-type-array-constructor execute( len -- array ) ; inline
 | 
					    c-type-array-constructor execute( len -- array ) ; inline
 | 
				
			||||||
: <c-type-direct-array> ( len c-type -- array )
 | 
					
 | 
				
			||||||
    c-type-direct-array-constructor execute( len -- array ) ; inline
 | 
					GENERIC: <c-type-direct-array> ( alien len c-type -- array )
 | 
				
			||||||
 | 
					M: object <c-type-direct-array>
 | 
				
			||||||
 | 
					    c-type-direct-array-constructor execute( alien len -- array ) ; inline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GENERIC: c-type-class ( name -- class )
 | 
					GENERIC: c-type-class ( name -- class )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue