Which do you want to do, compile instances as singleton classes, or not emit the override? The latter is easiest, just change this line where override is defaulted:

boolean override = ("class".equals(className) && superclassModel.getAttribute(name) != null) ||

to make sure you only default it in classes.

On 2008-03-28, at 14:07 EDT, Henry Minsky wrote:
You're talking about what the tag compiler emits, right?


yes


Although in this case we're screwed because
it calls super.setY, so we really need to make this a singleton class...


What's the rule?  Cannot call super methods when declaring an event
method, or what?


Well, at the moment it would have to be that you cannot define a method on
an instance , which
calls super.something, because it won't be compiled as a real class method.
it will just be a function
closure which is sitting around as a property on the object.

People expect this to work, which is why we're going to have to bite the
bullet and make tag compiler
emit singleton class declarations for every instance that declares a method
which calls super().  And if we're
not emitting a singleton class declaration, then we have to make sure NOT to
put the "override" keyword
before the "function ..." expression,  because it is only allowed when
you're really defining a method of a class.



--

Don Anderson
Java/C/C++, Berkeley DB, systems consultant

voice: 617-547-7881
email: [EMAIL PROTECTED]
www: http://www.ddanderson.com







--
Henry Minsky
Software Architect
[EMAIL PROTECTED]

Reply via email to