Eclipse does this, even if you don't use the debugger. The method with
the error in it is replaced with a simple exception, and the rest is
compiled normally. When that method is called, it blows up, otherwise,
it runs fine.
There are two separate steps in creating a lenient compiler:
1. 'error recovering' parser: We're obviously not going to get far if
the simplest of syntax errors makes the parser just stop.
2. a compiler that still produces a class file and knows to insert a
dummy.
#1 is by far the hardest thing to do, and we're in luck: javac is even
better at recovery than ecj these days (particularly when you use a
lot of anonymous classes; the ecj error recovery system just stops
flat out when something goes wrong there), and the new langtools
project is focussed on improving recovery even more. #2 is relatively
easy, but as far as I can tell, javac doesn't currently do it. Hacking
javac shouldn't even be that difficult, but, given that the hard work
is already done, it would be great if the official javac just had a
parameter (something like -Xdummy at first, possibly introduce it as a
required feature for the 'jdk' stamp (no -X, just -dummy), later. It
might be worth it to see what netbeans does; if it does produce dummy
code, then just rip the javac back out of netbeans, and voila.
On Oct 24, 1:39 pm, Christian Catchpole <[EMAIL PROTECTED]>
wrote:
> Or simply..
>
> for (;;) {
> System.out.println("Donkey.");
>
> }
>
> On Oct 24, 4:32 pm, Casper Bang <[EMAIL PROTECTED]> wrote:
>
> > > - at the failing code block, insert throw new
> > > CodeMissingYouNoobRuntimeException();
>
> > Nah, better to reuse java.nio.charset.CoderMalfunctionError ;)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---