Re: [aspectwerkz-dev] Creating AOPified javadocs
"Alex" <alex-he/e8N7AIe/[email protected]> Fri, 27 Aug 2004 17:42:19 +0200
| Newsgroups | gmane.comp.java.aspectwerkz.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Looks like you forgot the diagram. How will you handle call pointcut matching at source level (and not bytecode level) with QDox ? I don't think it is possible, since QDox does not modelize method bodies. phase 1 and 2 are gone with J2SE 5. phase 3 is wrong may be: we do not parse javadoc tag. We parse annotations in bytecode (that get there thru AnnotationC or J2SE 5 javac). phase 4 is : weave class files as they gets loaded thru classloaders (not java sources) Or may be you confused me , since I made the assumption that those phases were executing one after another. Some more ideas: As you may know AspectJ has a declare error construct that allows to report design error based on pointcuts (ie : do not call new Stuff() unless within the factory method code etc). The tool design and the underlying weaver requirements should handle this as well. Alex ----- Original Message ----- From: "Jack Tang" <[email protected]> To: <[email protected]> Sent: Friday, August 27, 2004 4:53 PM Subject: Re: [aspectwerkz-dev] Creating AOPified javadocs > Hello Alexandru > > After reading Alex's comments, I think I got some points. If something > wrong, please correct me, Alex. > > The key of this problem is when to collect aop model information and > who will supply these information. Two solution list here: > > 1.javac + weave classes + generate stubs and javadoc [method 1 and > method with emitted join points] > 2.parse sources + generate stubs and javadoc > > And I divide AW engine workflow into five phrase(maybe more,but here > I think five is enough). > 1.hook phrase : pipe BootClasspathStarter/JDWPStarter after > java.lang.ClassLoader > 2.preProcess phrase: initialize preProcessor,filter certain CL and modify CL > 3.parse phrase : parse xml and javadoc @tags > 4.compile phrase : compile Java source > 5.transform/weave phrase: weave the cross-cutting info > > diagram like this: > (see attached file) > > Let's discuss solution 2 first. We should parse java sources by > ourself using QDox, then parse xml def, finally we structure aop > domain model by our hand. This solution is better to me first > impression, because I dream he can avoid "compile phrase". But maybe > it's my daydream. > > And if we refer to solution 1, "compile phrase" has to be involved, > but we can access aop domain model easily through weaver context. > > > /Jack >