projects
/
jscl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Migrate NEW
[jscl.git]
/
src
/
compiler-codegen.lisp
diff --git
a/src/compiler-codegen.lisp
b/src/compiler-codegen.lisp
index
332e51f
..
6a3abc9
100644
(file)
--- a/
src/compiler-codegen.lisp
+++ b/
src/compiler-codegen.lisp
@@
-161,7
+161,7
@@
(unless (or (symbolp x)
(nth-value 1 (valid-js-identifier x))
(and (consp x)
(unless (or (symbolp x)
(nth-value 1 (valid-js-identifier x))
(and (consp x)
- (member (car x) '(get =))))
+ (member (car x) '(get = property))))
(error "Bad Javascript lvalue ~S" x)))
;;; Process the Javascript AST to reduce some syntax sugar.
(error "Bad Javascript lvalue ~S" x)))
;;; Process the Javascript AST to reduce some syntax sugar.
@@
-222,7
+222,7
@@
(js-expr (car args))
(js-format "(")
(when (cdr args)
(js-expr (car args))
(js-format "(")
(when (cdr args)
- (with-operator (13 'left)
+ (with-operator (12 'left)
(js-expr (cadr args))
(dolist (operand (cddr args))
(let ((*js-output* t))
(js-expr (cadr args))
(dolist (operand (cddr args))
(let ((*js-output* t))
@@
-230,6
+230,11
@@
(js-expr operand)))))
(js-format ")"))
;; Accessors
(js-expr operand)))))
(js-format ")"))
;; Accessors
+ (property
+ (js-expr (car args))
+ (js-format "[")
+ (js-expr (cadr args))
+ (js-format "]"))
(get
(multiple-value-bind (identifier identifierp)
(valid-js-identifier (car args))
(get
(multiple-value-bind (identifier identifierp)
(valid-js-identifier (car args))