Throw if set! passed incorrect number of arguments
In the following, the first and last should throw:
The message thrown should be derived from Clojure, perhaps "Malformed assignment, expecting (set! target val) or (set! target -prop val)"
The check and throw can be added to the analyzer's code which parses 'set!:
An example of a similar throw is in the analyzer code for 'if:
Tests can be added in cljs.analyzer-tests (which is run via lein test): https://github.com/clojure/clojurescript/blob/master/src/test/clojure/cljs/analyzer_tests.clj
Hi Mike, sorry for the long wait, I was fighting Jira to let me login again.
I’ve got -3.patch that passes tests locally for me.
Hey Robin, I made a revised patch of yours and it is failing against master. I suspect this could be due to something else outside of your patch. Would you mind taking a look to see if may have done anything obviously wrong when updating the patch? - Mike
CLJS-2923.patch LGTM. It behaves properly, and passes in CI and Canary tests.
I just have, yes.