Frequently Asked Questions

Questions

1. All

1.1. Is this really a project

^

No. This is just about putting together the pieces lying around. The Eclipse Compiler Team did most of the work but is not allowed to offer it to the public as that thing could no longer be called a compiler, see this thread at sun or this bug at eclipse bugzilla for more information.

1.2. Why is this thing called Eel?

^

It had to have a name. And eclipse has two 'e's in its name as well. Furthermore, my favourite band is called Eels . I consider renaming it to tinaca (This Is Not A Compiler Anymore).

1.3. Can I help?

^

Of course. For example, you can do the following

  • Advise how to implement Enumerations. Or do it yourself.
  • Help porting all remaining JDK1.4 Collection classes. Look at the source code of the ported 1.4 collection classes. The way I did it was like this:
    • take the 1.4 sources, rip out everything but the public interface
    • add a throw new UnsupportedOperationException(); inside each method
    • look at the 1.5 JavaDoc online and change the method signatures so that they match their 1.5 counterpart.

    Update: this has been finished for JDK1.4 Collection classes, no more help needed here.

  • Port the 1.3 Collection classes This has changed between 1.3 and 1.4
  • Patch eclipse so that the user can't accidentially refer to java.lang.Iterable (and other classes where this won't work) directly

1.4. How does this compare to Retroweaver?

^

Retroweaver is a sophisticated and great tool. This here is more a workaround (or better call it hack?). Retroweaver supports all JDK1.5 features while eel is still missing important features such as enums. On the other hand, when working with Eclipse, eel allows you to more rapidly develop your applications,as you don't need an additional step (retroweaving) to make your bytecode jdk 1.4 ready. An eclipse launch config will just be fine.

1.5. Can I easily debug this 5.0 code in a 1.4 VM?

^

yes, from what I tested, it works great. I looked at foreach and autoboxing and everything seemed to be just fine.

1.6. I'm getting UnsupportedOperationExceptions every time I try to run my stuff

^

You must not have the ported 1.4 Collection classes on the runtime classpath. These classes are just dummies for compiletime. Running against the real JDK 1.4 collection classes won't give you any problems.

1.7. why is this page full of mistakes and broken links

^

I have a 2 year old daughter and playing with her is much more interesting than writing webpages. forrest has helped me a lot, though.

1.8. please please can't you make Enumerations work?

^

Possibly. If I only had the time. I have an idea how I could do it, but haven't checked the eclipse compiler sources yet to guess how much time it will take.