IDEA AspectJ compiler questions

I have several questions regarding your AJ compiler:
1) Will it work on both source and bycode?
2) Will it work on code that already have aspects weaved in?
3) Are you going to use aspects in IDEA?

All these questions lead to another one:
4) Are you considering the use of aspects in plugins as a way to simplify
the OpenAPI or speed its development or unofficially publish other closed
APIs?

Jacques


2 comments

Jacques,
my answers down here reflect the way we currently see things - it is not
our final word. However:


Jacques Morel wrote:

1) Will it work on both source and bycode?


From a practical standpoint, it will work on bytecode - that is,
if you have some Java sources and some aspects, you will not
be able to get new Java sources with aspects weaved - only classes.

2) Will it work on code that already have aspects weaved in?


If you mean "weaved in by some other compiler", such as ajc, then most
likely no (or not in the interoperable way - for example, 'dominates'
will not be honoured etc.)

3) Are you going to use aspects in IDEA?


Most likely yes.

All these questions lead to another one:
4) Are you considering the use of aspects in plugins as a way to simplify
the OpenAPI or speed its development or unofficially publish other closed
APIs?


This is not decided upon yet - any suggestions are welcome.


Friendly,
Dmitry
--
Dmitry Lomov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0

1) Will it work on both source and bycode?

>

From a practical standpoint, it will work on bytecode - that is,
if you have some Java sources and some aspects, you will not
be able to get new Java sources with aspects weaved - only classes.

>
I meant can your compiler take bycodes in and produce a new bycodes with
aspects weaved. Or can it only weave aspects when given the java sources.

2) Will it work on code that already have aspects weaved in?

>

If you mean "weaved in by some other compiler", such as ajc, then most
likely no (or not in the interoperable way - for example, 'dominates'
will not be honoured etc.)

>
In addition will your compiler be able to weave new aspects on bycodes on
which it already weaved other aspects? In other words do I have only one
chance to weave aspects?

3) Are you going to use aspects in IDEA?

>

Most likely yes.

>

All these questions lead to another one:
4) Are you considering the use of aspects in plugins as a way to

simplify

the OpenAPI or speed its development or unofficially publish other

closed

APIs?

>

This is not decided upon yet - any suggestions are welcome.

>
As I am learning AOP, I am not sure its implication on frameworks. However
since you can intercept default behaviors and add your own, you could rely
less on standard OO extension points (abstract methods, template methods,
interfaces...). At this point my idea is embryonic. I was just curious if
you had thought of that.
>

Friendly,
Dmitry
--
Dmitry Lomov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"



0

Please sign in to leave a comment.