Excellent idea. It's now in the darcs repository. Two things I would like to add is to first differentiate when the identifier is being used as a variable name and when it is being used as a function name (putting an :after method on initialize-instance specialized on js-defun doesn't seem to work), and to have the context for the warnings and errors be available. Neither is trivial given the current compiler implementation, so it will have to await the refactoring I have planned for the future.
Thanks, Vladimir
On 7/12/07, Viktor Leis viktor.leis@googlemail.com wrote:
Hi,
here is a piece of code that warns when a reserved keyword is used as a variable name. This is nice time saver for me, since IE refuses to run such code. Perhaps it could be included in a nicer way.
Bye
Viktor
(defmethod initialize-instance :after ((var js-variable) &rest initargs) (declare (ignore initargs)) (when (find (slot-value var 'value) '(abstract else instanceof switch boolean enum int synchronized break export interface this byte extends long throw case native throws catch final new transient char finally float package try const for private typeof continue function protected var debugger goto public void default if return volatile delete implements short while do import static with double in super class) :test #'string-equal) (warn "~a is a reserved word and should not be used as a variable" (slot-value var 'value))))
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel