mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 15:40:19 +02:00
implement object literals
* module/language/ecmascript/impl.scm: * module/language/ecmascript/compile-ghil.scm (comp): Object literals. * module/language/ecmascript/parse.scm (parse-ecmascript): Fix some object literal parsing.
This commit is contained in:
parent
984dce236b
commit
b72880eb17
3 changed files with 25 additions and 6 deletions
|
@ -31,7 +31,8 @@
|
|||
->primitive ->boolean ->number ->integer ->int32 ->uint32
|
||||
->uint16 ->string ->object
|
||||
|
||||
new-array))
|
||||
new-array
|
||||
new-object))
|
||||
|
||||
(define *undefined* ((@@ (oop goops) make-unbound)))
|
||||
|
||||
|
@ -227,3 +228,10 @@
|
|||
(vector-set! vect i (car vals))
|
||||
(lp (1+ i) (cdr vals)))
|
||||
(else o))))))
|
||||
|
||||
(define (new-object . pairs)
|
||||
(let ((o (make <js-object>)))
|
||||
(map (lambda (pair)
|
||||
(pput o (car pair) (cdr pair)))
|
||||
pairs)
|
||||
o))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue