State of the AspectJ/Java editor?

View: New views
11 Messages — Rating Filter:   Alert me  

State of the AspectJ/Java editor?

by Dave Whittaker :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Andrew, I guess this question would be for you: I know that work has  
been done to provide better support for AspectJ inside eclipse  
editors.... I'm just not sure what should be working at this point and  
what isn't yet.  I still get a fair number of red squigglies in  
classes that ITDs are applied to, and I've even started to see some of  
them in pointcuts that are viewed inside an AspectJ editor.  If any of  
these shouldn't be showing up, I'd like to help debug the cause, but I  
don't want to bug you guys by pointing out errors that you are already  
aware of.  Is there a document somewhere that lists what should be  
working and what is known to still be broken?  If not, could you give  
me a quick rundown?

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Andrew Eisenberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi David,

Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
on valid code) are not seen at all (but this has to be weighed against
being to aggressive and ignoring actual errors).  We have taken care
to ensure that the common uses of AspectJ syntax will not show red
squiggles in the editor, but more advanced uses of aspectj (such as
generic ITDs, especially those on interfaces) have been less well
tested.

There is no explicit documentation that describes what is working and
what is not, but there are a slew of test cases for this and the code
for this is well documented.  At this point, if you are seeing
something in the editor being marked as a problem when the compiler
thinks it isn't, please let us know and we will address it as soon as
we can.

For the past little while, we have been waiting to hear from users
when they come across some of these spurious errors.  And we fix them
as they come in.  The best way to help me debug this is to send some
examples of failing code.  You can raise a bug if you like, or you can
send it through this mailing list.

--a

On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...> wrote:

> Andrew, I guess this question would be for you: I know that work has been
> done to provide better support for AspectJ inside eclipse editors.... I'm
> just not sure what should be working at this point and what isn't yet.  I
> still get a fair number of red squigglies in classes that ITDs are applied
> to, and I've even started to see some of them in pointcuts that are viewed
> inside an AspectJ editor.  If any of these shouldn't be showing up, I'd like
> to help debug the cause, but I don't want to bug you guys by pointing out
> errors that you are already aware of.  Is there a document somewhere that
> lists what should be working and what is known to still be broken?  If not,
> could you give me a quick rundown?
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Dave Whittaker :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Andrew.  That helps me get a bit of a handle on where things  
stand.  I guess the most baffling one for me right now is an aspect I  
have that does involve an ITD, but doesn't involve generics.   Here is  
a screen shot of what it looks like:

http://files.getdropbox.com/u/1242708/screenshot.png

The file compiles and the pointcut matches correctly , but the AspectJ  
editor still insists that there are issues.  I am getting some AJ  
related messages in the log, which I'll include below.  Any ideas?

org.aspectj.weaver.BCException: Bad type signature: ;

         at  
org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:
711)
         at  
org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:
678)
         at  
org.aspectj.weaver.UnresolvedType.getName(UnresolvedType.java:457)
         at  
org.aspectj.weaver.bcel.ClassPathManager.find(ClassPathManager.java:97)
         at  
org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:391)
         at  
org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
         at org.aspectj.weaver.World.resolveToReferenceType(World.java:
384)
         at org.aspectj.weaver.World.resolve(World.java:278)
         at org.aspectj.weaver.World.getCoreType(World.java:502)
         at  
org
.eclipse
.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:
122)
         at  
org
.eclipse
.ajdt
.internal
.core.contentassist.ProposalRequestorWrapper.shouldAccept(ProposalRequ
estorWrapper.java:86)
         at  
org
.eclipse
.ajdt
.internal
.core.contentassist.ProposalRequestorWrapper.accept(ProposalRequestorW
rapper.java:68)
         at  
org
.eclipse
.jdt
.internal
.codeassist.CompletionEngine.findLocalMethods(CompletionEngine.java:835
4)
         at  
org
.eclipse
.jdt
.internal
.codeassist.CompletionEngine.findMethods(CompletionEngine.java:9632)
         at  
org
.eclipse
.jdt
.internal
.codeassist.CompletionEngine.findMembers(CompletionEngine.java:8951)
         at  
org
.eclipse
.jdt
.internal
.codeassist.CompletionEngine.completionOnQualifiedNameReference(Complet
ionEngine.java:3014)
         at  
org
.eclipse
.jdt
.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:
1642)
         at  
org
.eclipse
.jdt
.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:
1862)
         at  
org
.eclipse
.ajdt
.core
.javaelements
.AJCompilationUnit.internalCodeComplete(AJCompilationUnit.jav
a:688)
         at  
org
.eclipse
.ajdt
.core
.javaelements.AJCompilationUnit.codeComplete(AJCompilationUnit.java:637)
         at  
org
.eclipse
.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:
355)
         at  
org
.eclipse
.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:
343)
         at  
org
.eclipse
.jdt
.internal
.ui.text.java.JavaCompletionProposalComputer.internalComputeCompletionP
roposals(JavaCompletionProposalComputer.java:242)
         at  
org
.eclipse
.jdt
.internal
.ui.text.java.JavaCompletionProposalComputer.computeCompletionProposals
(JavaCompletionProposalComputer.java:204)
         at  
org
.eclipse
.mylyn
.internal
.java.ui.editor.FocusedJavaAllProposalComputer.computeCompletionPropo
sals(FocusedJavaAllProposalComputer.java:72)
         at  
org
.eclipse
.jdt
.internal
.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionPro
posals(CompletionProposalComputerDescriptor.java:316)
         at  
org
.eclipse
.jdt
.internal
.ui.text.java.CompletionProposalCategory.computeCompletionProposals(Com
pletionProposalCategory.java:264)
         at  
org
.eclipse
.jdt
.internal
.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProc
essor.java:286)
         at  
org
.eclipse
.jdt
.internal
.ui.text.java.ContentAssistProcessor.computeCompletionProposals(Content
AssistProcessor.java:246)
         at  
org
.eclipse
.jface
.text
.contentassist
.ContentAssistant.computeCompletionProposals(ContentAssista
nt.java:1832)
         at  
org
.eclipse
.jface
.text
.contentassist
.CompletionProposalPopup.computeProposals(CompletionProposa
lPopup.java:556)
         at  
org.eclipse.jface.text.contentassist.CompletionProposalPopup.access
$16(CompletionProposalPopup.
java:553)
         at  
org.eclipse.jface.text.contentassist.CompletionProposalPopup
$2.run(CompletionProposalPopup.java
:488)
         at  
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
         at  
org
.eclipse
.jface
.text
.contentassist
.CompletionProposalPopup.showProposals(CompletionProposalPo
pup.java:482)
         at  
org
.eclipse
.jface
.text
.contentassist
.ContentAssistant.showPossibleCompletions(ContentAssistant.
java:1660)
         at  
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor
$AdaptedSourceViewer.doOperation(Co
mpilationUnitEditor.java:182)
         at org.eclipse.ajdt.internal.ui.editor.AspectJEditor
$AJTextOperationTarget.doOperation(AspectJEdit
or.java:168)
         at org.eclipse.ui.texteditor.ContentAssistAction
$1.run(ContentAssistAction.java:82)
         at  
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
         at  
org
.eclipse
.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
         at org.eclipse.jface.action.Action.runWithEvent(Action.java:
498)
         at  
org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
         at  
org
.eclipse
.ui
.internal
.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
         at  
org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
         at  
org
.eclipse
.core
.commands
.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
         at  
org
.eclipse
.ui
.internal.handlers.HandlerService.executeCommand(HandlerService.java:
169)
         at  
org
.eclipse
.ui
.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:
470)
         at  
org
.eclipse
.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
         at  
org
.eclipse
.ui
.internal
.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
         at  
org
.eclipse
.ui
.internal
.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java
:569)
         at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access
$3(WorkbenchKeyboard.java:510)
         at org.eclipse.ui.internal.keys.WorkbenchKeyboard
$KeyDownFilter.handleEvent(WorkbenchKeyboard.java
:125)
         at  
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
         at org.eclipse.swt.widgets.Display.filterEvent(Display.java:
965)
         at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3541)
         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1247)
         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1270)
         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1255)
         at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:
1284)
         at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:
1280)
         at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:428)
         at  
org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
         at org.eclipse.swt.widgets.Display.windowProc(Display.java:
4740)
         at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native  
Method)
         at  
org
.eclipse
.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
         at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:
516)
         at org.eclipse.swt.widgets.Display.windowProc(Display.java:
4654)
         at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native  
Method)
         at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
         at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:
1750)
         at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:
1821)
         at org.eclipse.swt.widgets.Display.windowProc(Display.java:
4712)
         at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native  
Method)
         at  
org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4284)
         at  
org.eclipse.swt.widgets.Display.applicationProc(Display.java:4351)
         at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native  
Method)
         at  
org
.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:
101)
         at  
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3096)
         at  
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
         at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
         at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:
2221)
         at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
         at  
org
.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:
332)
         at  
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:
493)
         at  
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
         at  
org
.eclipse
.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:
113)
         at  
org
.eclipse
.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
         at  
org
.eclipse
.core
.runtime
.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.
java:110)
         at  
org
.eclipse
.core
.runtime
.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
         at  
org
.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:
368)
         at  
org
.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:
179)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at  
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
         at  
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at  
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
         at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
         at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
!SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-07-07 12:02:30.942
!MESSAGE  
org
.eclipse
.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:
123)
!SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-07-07 12:02:30.942
!MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade@a358b4
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
!MESSAGE manager=class  
org.aspectj.ajdt.internal.core.builder.AjBuildManager@10370600
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
!MESSAGE world=class org.aspectj.weaver.bcel.BcelWorld@10170238
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
!MESSAGE cachedMungers=class java.util.HashMap@16713261

On Jul 7, 2009, at 5:53 PM, Andrew Eisenberg wrote:

> Hi David,
>
> Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
> on valid code) are not seen at all (but this has to be weighed against
> being to aggressive and ignoring actual errors).  We have taken care
> to ensure that the common uses of AspectJ syntax will not show red
> squiggles in the editor, but more advanced uses of aspectj (such as
> generic ITDs, especially those on interfaces) have been less well
> tested.
>
> There is no explicit documentation that describes what is working and
> what is not, but there are a slew of test cases for this and the code
> for this is well documented.  At this point, if you are seeing
> something in the editor being marked as a problem when the compiler
> thinks it isn't, please let us know and we will address it as soon as
> we can.
>
> For the past little while, we have been waiting to hear from users
> when they come across some of these spurious errors.  And we fix them
> as they come in.  The best way to help me debug this is to send some
> examples of failing code.  You can raise a bug if you like, or you can
> send it through this mailing list.
>
> --a
>
> On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...> wrote:
>> Andrew, I guess this question would be for you: I know that work  
>> has been
>> done to provide better support for AspectJ inside eclipse  
>> editors.... I'm
>> just not sure what should be working at this point and what isn't  
>> yet.  I
>> still get a fair number of red squigglies in classes that ITDs are  
>> applied
>> to, and I've even started to see some of them in pointcuts that are  
>> viewed
>> inside an AspectJ editor.  If any of these shouldn't be showing up,  
>> I'd like
>> to help debug the cause, but I don't want to bug you guys by  
>> pointing out
>> errors that you are already aware of.  Is there a document  
>> somewhere that
>> lists what should be working and what is known to still be broken?  
>> If not,
>> could you give me a quick rundown?
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Either AJDT passed in an odd signature with a rogue extra ';' or AspectJ failed to chew on a valid signature correctly.  It'd be great to know what AJWorldFacade.java:122 passed in...

You should raise a bug for this.

Andy.

2009/7/8 Dave Whittaker <dave@...>
Thanks Andrew.  That helps me get a bit of a handle on where things stand.  I guess the most baffling one for me right now is an aspect I have that does involve an ITD, but doesn't involve generics.   Here is a screen shot of what it looks like:

http://files.getdropbox.com/u/1242708/screenshot.png

The file compiles and the pointcut matches correctly , but the AspectJ editor still insists that there are issues.  I am getting some AJ related messages in the log, which I'll include below.  Any ideas?

org.aspectj.weaver.BCException: Bad type signature: ;

       at org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:711)
       at org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:678)
       at org.aspectj.weaver.UnresolvedType.getName(UnresolvedType.java:457)
       at org.aspectj.weaver.bcel.ClassPathManager.find(ClassPathManager.java:97)
       at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:391)
       at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
       at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
       at org.aspectj.weaver.World.resolve(World.java:278)
       at org.aspectj.weaver.World.getCoreType(World.java:502)
       at org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:122)
       at org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.shouldAccept(ProposalRequ
estorWrapper.java:86)
       at org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.accept(ProposalRequestorW
rapper.java:68)
       at org.eclipse.jdt.internal.codeassist.CompletionEngine.findLocalMethods(CompletionEngine.java:835
4)
       at org.eclipse.jdt.internal.codeassist.CompletionEngine.findMethods(CompletionEngine.java:9632)
       at org.eclipse.jdt.internal.codeassist.CompletionEngine.findMembers(CompletionEngine.java:8951)
       at org.eclipse.jdt.internal.codeassist.CompletionEngine.completionOnQualifiedNameReference(Complet
ionEngine.java:3014)
       at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1642)
       at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1862)
       at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.internalCodeComplete(AJCompilationUnit.jav
a:688)
       at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.codeComplete(AJCompilationUnit.java:637)
       at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:355)
       at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:343)
       at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.internalComputeCompletionP
roposals(JavaCompletionProposalComputer.java:242)
       at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.computeCompletionProposals
(JavaCompletionProposalComputer.java:204)
       at org.eclipse.mylyn.internal.java.ui.editor.FocusedJavaAllProposalComputer.computeCompletionPropo
sals(FocusedJavaAllProposalComputer.java:72)
       at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionPro
posals(CompletionProposalComputerDescriptor.java:316)
       at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(Com
pletionProposalCategory.java:264)
       at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProc
essor.java:286)
       at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(Content
AssistProcessor.java:246)
       at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssista
nt.java:1832)
       at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposa
lPopup.java:556)
       at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.
java:553)
       at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java
:488)
       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
       at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPo
pup.java:482)
       at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.
java:1660)
       at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(Co
mpilationUnitEditor.java:182)
       at org.eclipse.ajdt.internal.ui.editor.AspectJEditor$AJTextOperationTarget.doOperation(AspectJEdit
or.java:168)
       at org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
       at org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
       at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
       at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
       at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
       at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
       at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
       at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
       at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
       at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
       at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
       at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java
:569)
       at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
       at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java
:125)
       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
       at org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
       at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3541)
       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1247)
       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1270)
       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1255)
       at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1284)
       at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1280)
       at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:428)
       at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
       at org.eclipse.swt.widgets.Display.windowProc(Display.java:4740)
       at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
       at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
       at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
       at org.eclipse.swt.widgets.Display.windowProc(Display.java:4654)
       at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
       at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
       at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1750)
       at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1821)
       at org.eclipse.swt.widgets.Display.windowProc(Display.java:4712)
       at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
       at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4284)
       at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4351)
       at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
       at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:101)
       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3096)
       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
       at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.
java:110)
       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
       at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
!SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-07-07 12:02:30.942
!MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:123)
!SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-07-07 12:02:30.942
!MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade@a358b4
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
!MESSAGE manager=class org.aspectj.ajdt.internal.core.builder.AjBuildManager@10370600
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
!MESSAGE world=class org.aspectj.weaver.bcel.BcelWorld@10170238
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
!MESSAGE cachedMungers=class java.util.HashMap@16713261


On Jul 7, 2009, at 5:53 PM, Andrew Eisenberg wrote:

Hi David,

Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
on valid code) are not seen at all (but this has to be weighed against
being to aggressive and ignoring actual errors).  We have taken care
to ensure that the common uses of AspectJ syntax will not show red
squiggles in the editor, but more advanced uses of aspectj (such as
generic ITDs, especially those on interfaces) have been less well
tested.

There is no explicit documentation that describes what is working and
what is not, but there are a slew of test cases for this and the code
for this is well documented.  At this point, if you are seeing
something in the editor being marked as a problem when the compiler
thinks it isn't, please let us know and we will address it as soon as
we can.

For the past little while, we have been waiting to hear from users
when they come across some of these spurious errors.  And we fix them
as they come in.  The best way to help me debug this is to send some
examples of failing code.  You can raise a bug if you like, or you can
send it through this mailing list.

--a

On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...> wrote:
Andrew, I guess this question would be for you: I know that work has been
done to provide better support for AspectJ inside eclipse editors.... I'm
just not sure what should be working at this point and what isn't yet.  I
still get a fair number of red squigglies in classes that ITDs are applied
to, and I've even started to see some of them in pointcuts that are viewed
inside an AspectJ editor.  If any of these shouldn't be showing up, I'd like
to help debug the cause, but I don't want to bug you guys by pointing out
errors that you are already aware of.  Is there a document somewhere that
lists what should be working and what is known to still be broken?  If not,
could you give me a quick rundown?

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Andrew Eisenberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I haven't tested this out, but I have a sneaking suspicion that the
"execution(public" is a problem here.  I know that we've had problems
with that combination before.  I'll try it out tonight to see if I can
reproduce.

On Wed, Jul 8, 2009 at 3:54 PM, Andy Clement<andrew.clement@...> wrote:

> Either AJDT passed in an odd signature with a rogue extra ';' or AspectJ
> failed to chew on a valid signature correctly.  It'd be great to know what
> AJWorldFacade.java:122 passed in...
>
> You should raise a bug for this.
>
> Andy.
>
> 2009/7/8 Dave Whittaker <dave@...>
>>
>> Thanks Andrew.  That helps me get a bit of a handle on where things stand.
>>  I guess the most baffling one for me right now is an aspect I have that
>> does involve an ITD, but doesn't involve generics.   Here is a screen shot
>> of what it looks like:
>>
>> http://files.getdropbox.com/u/1242708/screenshot.png
>>
>> The file compiles and the pointcut matches correctly , but the AspectJ
>> editor still insists that there are issues.  I am getting some AJ related
>> messages in the log, which I'll include below.  Any ideas?
>>
>> org.aspectj.weaver.BCException: Bad type signature: ;
>>
>>        at
>> org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:711)
>>        at
>> org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:678)
>>        at
>> org.aspectj.weaver.UnresolvedType.getName(UnresolvedType.java:457)
>>        at
>> org.aspectj.weaver.bcel.ClassPathManager.find(ClassPathManager.java:97)
>>        at
>> org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:391)
>>        at
>> org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>>        at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>>        at org.aspectj.weaver.World.resolve(World.java:278)
>>        at org.aspectj.weaver.World.getCoreType(World.java:502)
>>        at
>> org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:122)
>>        at
>> org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.shouldAccept(ProposalRequ
>> estorWrapper.java:86)
>>        at
>> org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.accept(ProposalRequestorW
>> rapper.java:68)
>>        at
>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findLocalMethods(CompletionEngine.java:835
>> 4)
>>        at
>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findMethods(CompletionEngine.java:9632)
>>        at
>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findMembers(CompletionEngine.java:8951)
>>        at
>> org.eclipse.jdt.internal.codeassist.CompletionEngine.completionOnQualifiedNameReference(Complet
>> ionEngine.java:3014)
>>        at
>> org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1642)
>>        at
>> org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1862)
>>        at
>> org.eclipse.ajdt.core.javaelements.AJCompilationUnit.internalCodeComplete(AJCompilationUnit.jav
>> a:688)
>>        at
>> org.eclipse.ajdt.core.javaelements.AJCompilationUnit.codeComplete(AJCompilationUnit.java:637)
>>        at
>> org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:355)
>>        at
>> org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:343)
>>        at
>> org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.internalComputeCompletionP
>> roposals(JavaCompletionProposalComputer.java:242)
>>        at
>> org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.computeCompletionProposals
>> (JavaCompletionProposalComputer.java:204)
>>        at
>> org.eclipse.mylyn.internal.java.ui.editor.FocusedJavaAllProposalComputer.computeCompletionPropo
>> sals(FocusedJavaAllProposalComputer.java:72)
>>        at
>> org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionPro
>> posals(CompletionProposalComputerDescriptor.java:316)
>>        at
>> org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(Com
>> pletionProposalCategory.java:264)
>>        at
>> org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProc
>> essor.java:286)
>>        at
>> org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(Content
>> AssistProcessor.java:246)
>>        at
>> org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssista
>> nt.java:1832)
>>        at
>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposa
>> lPopup.java:556)
>>        at
>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.
>> java:553)
>>        at
>> org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java
>> :488)
>>        at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>        at
>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPo
>> pup.java:482)
>>        at
>> org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.
>> java:1660)
>>        at
>> org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(Co
>> mpilationUnitEditor.java:182)
>>        at
>> org.eclipse.ajdt.internal.ui.editor.AspectJEditor$AJTextOperationTarget.doOperation(AspectJEdit
>> or.java:168)
>>        at
>> org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
>>        at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>        at
>> org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
>>        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
>>        at
>> org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
>>        at
>> org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
>>        at
>> org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
>>        at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
>>        at
>> org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
>>        at
>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
>>        at
>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
>>        at
>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
>>        at
>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java
>> :569)
>>        at
>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
>>        at
>> org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java
>> :125)
>>        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
>>        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3541)
>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1247)
>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1270)
>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1255)
>>        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1284)
>>        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1280)
>>        at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:428)
>>        at
>> org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4740)
>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
>>        at
>> org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
>>        at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4654)
>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>> Method)
>>        at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
>>        at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1750)
>>        at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1821)
>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4712)
>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>> Method)
>>        at
>> org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4284)
>>        at
>> org.eclipse.swt.widgets.Display.applicationProc(Display.java:4351)
>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
>>        at
>> org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:101)
>>        at
>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3096)
>>        at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
>>        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
>>        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
>>        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
>>        at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>        at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
>>        at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
>>        at
>> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
>>        at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
>>        at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.
>> java:110)
>>        at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>        at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
>>        at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
>>        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
>>        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>> !SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-07-07 12:02:30.942
>> !MESSAGE
>> org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:123)
>> !SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-07-07 12:02:30.942
>> !MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade@a358b4
>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>> !MESSAGE manager=class
>> org.aspectj.ajdt.internal.core.builder.AjBuildManager@10370600
>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>> !MESSAGE world=class org.aspectj.weaver.bcel.BcelWorld@10170238
>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>> !MESSAGE cachedMungers=class java.util.HashMap@16713261
>>
>> On Jul 7, 2009, at 5:53 PM, Andrew Eisenberg wrote:
>>
>>> Hi David,
>>>
>>> Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
>>> on valid code) are not seen at all (but this has to be weighed against
>>> being to aggressive and ignoring actual errors).  We have taken care
>>> to ensure that the common uses of AspectJ syntax will not show red
>>> squiggles in the editor, but more advanced uses of aspectj (such as
>>> generic ITDs, especially those on interfaces) have been less well
>>> tested.
>>>
>>> There is no explicit documentation that describes what is working and
>>> what is not, but there are a slew of test cases for this and the code
>>> for this is well documented.  At this point, if you are seeing
>>> something in the editor being marked as a problem when the compiler
>>> thinks it isn't, please let us know and we will address it as soon as
>>> we can.
>>>
>>> For the past little while, we have been waiting to hear from users
>>> when they come across some of these spurious errors.  And we fix them
>>> as they come in.  The best way to help me debug this is to send some
>>> examples of failing code.  You can raise a bug if you like, or you can
>>> send it through this mailing list.
>>>
>>> --a
>>>
>>> On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...> wrote:
>>>>
>>>> Andrew, I guess this question would be for you: I know that work has
>>>> been
>>>> done to provide better support for AspectJ inside eclipse editors....
>>>> I'm
>>>> just not sure what should be working at this point and what isn't yet.
>>>>  I
>>>> still get a fair number of red squigglies in classes that ITDs are
>>>> applied
>>>> to, and I've even started to see some of them in pointcuts that are
>>>> viewed
>>>> inside an AspectJ editor.  If any of these shouldn't be showing up, I'd
>>>> like
>>>> to help debug the cause, but I don't want to bug you guys by pointing
>>>> out
>>>> errors that you are already aware of.  Is there a document somewhere
>>>> that
>>>> lists what should be working and what is known to still be broken?  If
>>>> not,
>>>> could you give me a quick rundown?
>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Andrew Eisenberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for the screenshot, Dave.  I'm able to reproduce.  I'm thinking
it's a problem with AJDT's use of the parser.

I'll raise a bug for it.

On Wed, Jul 8, 2009 at 5:11 PM, Andrew Eisenberg<andrew@...> wrote:

> I haven't tested this out, but I have a sneaking suspicion that the
> "execution(public" is a problem here.  I know that we've had problems
> with that combination before.  I'll try it out tonight to see if I can
> reproduce.
>
> On Wed, Jul 8, 2009 at 3:54 PM, Andy Clement<andrew.clement@...> wrote:
>> Either AJDT passed in an odd signature with a rogue extra ';' or AspectJ
>> failed to chew on a valid signature correctly.  It'd be great to know what
>> AJWorldFacade.java:122 passed in...
>>
>> You should raise a bug for this.
>>
>> Andy.
>>
>> 2009/7/8 Dave Whittaker <dave@...>
>>>
>>> Thanks Andrew.  That helps me get a bit of a handle on where things stand.
>>>  I guess the most baffling one for me right now is an aspect I have that
>>> does involve an ITD, but doesn't involve generics.   Here is a screen shot
>>> of what it looks like:
>>>
>>> http://files.getdropbox.com/u/1242708/screenshot.png
>>>
>>> The file compiles and the pointcut matches correctly , but the AspectJ
>>> editor still insists that there are issues.  I am getting some AJ related
>>> messages in the log, which I'll include below.  Any ideas?
>>>
>>> org.aspectj.weaver.BCException: Bad type signature: ;
>>>
>>>        at
>>> org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:711)
>>>        at
>>> org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:678)
>>>        at
>>> org.aspectj.weaver.UnresolvedType.getName(UnresolvedType.java:457)
>>>        at
>>> org.aspectj.weaver.bcel.ClassPathManager.find(ClassPathManager.java:97)
>>>        at
>>> org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:391)
>>>        at
>>> org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>>>        at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>>>        at org.aspectj.weaver.World.resolve(World.java:278)
>>>        at org.aspectj.weaver.World.getCoreType(World.java:502)
>>>        at
>>> org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:122)
>>>        at
>>> org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.shouldAccept(ProposalRequ
>>> estorWrapper.java:86)
>>>        at
>>> org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.accept(ProposalRequestorW
>>> rapper.java:68)
>>>        at
>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findLocalMethods(CompletionEngine.java:835
>>> 4)
>>>        at
>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findMethods(CompletionEngine.java:9632)
>>>        at
>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findMembers(CompletionEngine.java:8951)
>>>        at
>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.completionOnQualifiedNameReference(Complet
>>> ionEngine.java:3014)
>>>        at
>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1642)
>>>        at
>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1862)
>>>        at
>>> org.eclipse.ajdt.core.javaelements.AJCompilationUnit.internalCodeComplete(AJCompilationUnit.jav
>>> a:688)
>>>        at
>>> org.eclipse.ajdt.core.javaelements.AJCompilationUnit.codeComplete(AJCompilationUnit.java:637)
>>>        at
>>> org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:355)
>>>        at
>>> org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:343)
>>>        at
>>> org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.internalComputeCompletionP
>>> roposals(JavaCompletionProposalComputer.java:242)
>>>        at
>>> org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.computeCompletionProposals
>>> (JavaCompletionProposalComputer.java:204)
>>>        at
>>> org.eclipse.mylyn.internal.java.ui.editor.FocusedJavaAllProposalComputer.computeCompletionPropo
>>> sals(FocusedJavaAllProposalComputer.java:72)
>>>        at
>>> org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionPro
>>> posals(CompletionProposalComputerDescriptor.java:316)
>>>        at
>>> org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(Com
>>> pletionProposalCategory.java:264)
>>>        at
>>> org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProc
>>> essor.java:286)
>>>        at
>>> org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(Content
>>> AssistProcessor.java:246)
>>>        at
>>> org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssista
>>> nt.java:1832)
>>>        at
>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposa
>>> lPopup.java:556)
>>>        at
>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.
>>> java:553)
>>>        at
>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java
>>> :488)
>>>        at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>        at
>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPo
>>> pup.java:482)
>>>        at
>>> org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.
>>> java:1660)
>>>        at
>>> org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(Co
>>> mpilationUnitEditor.java:182)
>>>        at
>>> org.eclipse.ajdt.internal.ui.editor.AspectJEditor$AJTextOperationTarget.doOperation(AspectJEdit
>>> or.java:168)
>>>        at
>>> org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
>>>        at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>        at
>>> org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
>>>        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
>>>        at
>>> org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
>>>        at
>>> org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
>>>        at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
>>>        at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
>>>        at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
>>>        at
>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
>>>        at
>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
>>>        at
>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
>>>        at
>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java
>>> :569)
>>>        at
>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
>>>        at
>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java
>>> :125)
>>>        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
>>>        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3541)
>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1247)
>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1270)
>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1255)
>>>        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1284)
>>>        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1280)
>>>        at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:428)
>>>        at
>>> org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
>>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4740)
>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
>>>        at
>>> org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
>>>        at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
>>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4654)
>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>> Method)
>>>        at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
>>>        at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1750)
>>>        at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1821)
>>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4712)
>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>> Method)
>>>        at
>>> org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4284)
>>>        at
>>> org.eclipse.swt.widgets.Display.applicationProc(Display.java:4351)
>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
>>>        at
>>> org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:101)
>>>        at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3096)
>>>        at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
>>>        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
>>>        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
>>>        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
>>>        at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>>        at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
>>>        at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
>>>        at
>>> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
>>>        at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
>>>        at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.
>>> java:110)
>>>        at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>>        at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
>>>        at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>>        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
>>>        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
>>>        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>>> !SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-07-07 12:02:30.942
>>> !MESSAGE
>>> org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:123)
>>> !SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-07-07 12:02:30.942
>>> !MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade@a358b4
>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>> !MESSAGE manager=class
>>> org.aspectj.ajdt.internal.core.builder.AjBuildManager@10370600
>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>> !MESSAGE world=class org.aspectj.weaver.bcel.BcelWorld@10170238
>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>> !MESSAGE cachedMungers=class java.util.HashMap@16713261
>>>
>>> On Jul 7, 2009, at 5:53 PM, Andrew Eisenberg wrote:
>>>
>>>> Hi David,
>>>>
>>>> Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
>>>> on valid code) are not seen at all (but this has to be weighed against
>>>> being to aggressive and ignoring actual errors).  We have taken care
>>>> to ensure that the common uses of AspectJ syntax will not show red
>>>> squiggles in the editor, but more advanced uses of aspectj (such as
>>>> generic ITDs, especially those on interfaces) have been less well
>>>> tested.
>>>>
>>>> There is no explicit documentation that describes what is working and
>>>> what is not, but there are a slew of test cases for this and the code
>>>> for this is well documented.  At this point, if you are seeing
>>>> something in the editor being marked as a problem when the compiler
>>>> thinks it isn't, please let us know and we will address it as soon as
>>>> we can.
>>>>
>>>> For the past little while, we have been waiting to hear from users
>>>> when they come across some of these spurious errors.  And we fix them
>>>> as they come in.  The best way to help me debug this is to send some
>>>> examples of failing code.  You can raise a bug if you like, or you can
>>>> send it through this mailing list.
>>>>
>>>> --a
>>>>
>>>> On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...> wrote:
>>>>>
>>>>> Andrew, I guess this question would be for you: I know that work has
>>>>> been
>>>>> done to provide better support for AspectJ inside eclipse editors....
>>>>> I'm
>>>>> just not sure what should be working at this point and what isn't yet.
>>>>>  I
>>>>> still get a fair number of red squigglies in classes that ITDs are
>>>>> applied
>>>>> to, and I've even started to see some of them in pointcuts that are
>>>>> viewed
>>>>> inside an AspectJ editor.  If any of these shouldn't be showing up, I'd
>>>>> like
>>>>> to help debug the cause, but I don't want to bug you guys by pointing
>>>>> out
>>>>> errors that you are already aware of.  Is there a document somewhere
>>>>> that
>>>>> lists what should be working and what is known to still be broken?  If
>>>>> not,
>>>>> could you give me a quick rundown?
>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Andrew Eisenberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bug report:
http://bugs.eclipse.org/282948

I was able to reduce your problem to a very small snippet of code.

I have been doing most of my development on AJDT targeting 3.5 now.
So, the fix will be out for that platform first (probably tomorrow).
If you are working in 3.4, let me know and I will back port sooner
rather than later.

On Wed, Jul 8, 2009 at 7:45 PM, Andrew Eisenberg<andrew@...> wrote:

> Thanks for the screenshot, Dave.  I'm able to reproduce.  I'm thinking
> it's a problem with AJDT's use of the parser.
>
> I'll raise a bug for it.
>
> On Wed, Jul 8, 2009 at 5:11 PM, Andrew Eisenberg<andrew@...> wrote:
>> I haven't tested this out, but I have a sneaking suspicion that the
>> "execution(public" is a problem here.  I know that we've had problems
>> with that combination before.  I'll try it out tonight to see if I can
>> reproduce.
>>
>> On Wed, Jul 8, 2009 at 3:54 PM, Andy Clement<andrew.clement@...> wrote:
>>> Either AJDT passed in an odd signature with a rogue extra ';' or AspectJ
>>> failed to chew on a valid signature correctly.  It'd be great to know what
>>> AJWorldFacade.java:122 passed in...
>>>
>>> You should raise a bug for this.
>>>
>>> Andy.
>>>
>>> 2009/7/8 Dave Whittaker <dave@...>
>>>>
>>>> Thanks Andrew.  That helps me get a bit of a handle on where things stand.
>>>>  I guess the most baffling one for me right now is an aspect I have that
>>>> does involve an ITD, but doesn't involve generics.   Here is a screen shot
>>>> of what it looks like:
>>>>
>>>> http://files.getdropbox.com/u/1242708/screenshot.png
>>>>
>>>> The file compiles and the pointcut matches correctly , but the AspectJ
>>>> editor still insists that there are issues.  I am getting some AJ related
>>>> messages in the log, which I'll include below.  Any ideas?
>>>>
>>>> org.aspectj.weaver.BCException: Bad type signature: ;
>>>>
>>>>        at
>>>> org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:711)
>>>>        at
>>>> org.aspectj.weaver.UnresolvedType.signatureToName(UnresolvedType.java:678)
>>>>        at
>>>> org.aspectj.weaver.UnresolvedType.getName(UnresolvedType.java:457)
>>>>        at
>>>> org.aspectj.weaver.bcel.ClassPathManager.find(ClassPathManager.java:97)
>>>>        at
>>>> org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:391)
>>>>        at
>>>> org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>>>>        at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>>>>        at org.aspectj.weaver.World.resolve(World.java:278)
>>>>        at org.aspectj.weaver.World.getCoreType(World.java:502)
>>>>        at
>>>> org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:122)
>>>>        at
>>>> org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.shouldAccept(ProposalRequ
>>>> estorWrapper.java:86)
>>>>        at
>>>> org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.accept(ProposalRequestorW
>>>> rapper.java:68)
>>>>        at
>>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findLocalMethods(CompletionEngine.java:835
>>>> 4)
>>>>        at
>>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findMethods(CompletionEngine.java:9632)
>>>>        at
>>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.findMembers(CompletionEngine.java:8951)
>>>>        at
>>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.completionOnQualifiedNameReference(Complet
>>>> ionEngine.java:3014)
>>>>        at
>>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1642)
>>>>        at
>>>> org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1862)
>>>>        at
>>>> org.eclipse.ajdt.core.javaelements.AJCompilationUnit.internalCodeComplete(AJCompilationUnit.jav
>>>> a:688)
>>>>        at
>>>> org.eclipse.ajdt.core.javaelements.AJCompilationUnit.codeComplete(AJCompilationUnit.java:637)
>>>>        at
>>>> org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:355)
>>>>        at
>>>> org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:343)
>>>>        at
>>>> org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.internalComputeCompletionP
>>>> roposals(JavaCompletionProposalComputer.java:242)
>>>>        at
>>>> org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.computeCompletionProposals
>>>> (JavaCompletionProposalComputer.java:204)
>>>>        at
>>>> org.eclipse.mylyn.internal.java.ui.editor.FocusedJavaAllProposalComputer.computeCompletionPropo
>>>> sals(FocusedJavaAllProposalComputer.java:72)
>>>>        at
>>>> org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionPro
>>>> posals(CompletionProposalComputerDescriptor.java:316)
>>>>        at
>>>> org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(Com
>>>> pletionProposalCategory.java:264)
>>>>        at
>>>> org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProc
>>>> essor.java:286)
>>>>        at
>>>> org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(Content
>>>> AssistProcessor.java:246)
>>>>        at
>>>> org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssista
>>>> nt.java:1832)
>>>>        at
>>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposa
>>>> lPopup.java:556)
>>>>        at
>>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.
>>>> java:553)
>>>>        at
>>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java
>>>> :488)
>>>>        at
>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>>        at
>>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPo
>>>> pup.java:482)
>>>>        at
>>>> org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.
>>>> java:1660)
>>>>        at
>>>> org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(Co
>>>> mpilationUnitEditor.java:182)
>>>>        at
>>>> org.eclipse.ajdt.internal.ui.editor.AspectJEditor$AJTextOperationTarget.doOperation(AspectJEdit
>>>> or.java:168)
>>>>        at
>>>> org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
>>>>        at
>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>>        at
>>>> org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
>>>>        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
>>>>        at
>>>> org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
>>>>        at
>>>> org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
>>>>        at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
>>>>        at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
>>>>        at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
>>>>        at
>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
>>>>        at
>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
>>>>        at
>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
>>>>        at
>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java
>>>> :569)
>>>>        at
>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
>>>>        at
>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java
>>>> :125)
>>>>        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>>        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
>>>>        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3541)
>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1247)
>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1270)
>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1255)
>>>>        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1284)
>>>>        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1280)
>>>>        at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:428)
>>>>        at
>>>> org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
>>>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4740)
>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
>>>>        at
>>>> org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
>>>>        at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
>>>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4654)
>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>>> Method)
>>>>        at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
>>>>        at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1750)
>>>>        at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1821)
>>>>        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4712)
>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>>> Method)
>>>>        at
>>>> org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4284)
>>>>        at
>>>> org.eclipse.swt.widgets.Display.applicationProc(Display.java:4351)
>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
>>>>        at
>>>> org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:101)
>>>>        at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3096)
>>>>        at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
>>>>        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
>>>>        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
>>>>        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
>>>>        at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>>>        at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
>>>>        at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
>>>>        at
>>>> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
>>>>        at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
>>>>        at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.
>>>> java:110)
>>>>        at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>>>        at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
>>>>        at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>        at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>        at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>>>        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
>>>>        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
>>>>        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>>>> !SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-07-07 12:02:30.942
>>>> !MESSAGE
>>>> org.eclipse.ajdt.core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:123)
>>>> !SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-07-07 12:02:30.942
>>>> !MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade@a358b4
>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>> !MESSAGE manager=class
>>>> org.aspectj.ajdt.internal.core.builder.AjBuildManager@10370600
>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>> !MESSAGE world=class org.aspectj.weaver.bcel.BcelWorld@10170238
>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>> !MESSAGE cachedMungers=class java.util.HashMap@16713261
>>>>
>>>> On Jul 7, 2009, at 5:53 PM, Andrew Eisenberg wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
>>>>> on valid code) are not seen at all (but this has to be weighed against
>>>>> being to aggressive and ignoring actual errors).  We have taken care
>>>>> to ensure that the common uses of AspectJ syntax will not show red
>>>>> squiggles in the editor, but more advanced uses of aspectj (such as
>>>>> generic ITDs, especially those on interfaces) have been less well
>>>>> tested.
>>>>>
>>>>> There is no explicit documentation that describes what is working and
>>>>> what is not, but there are a slew of test cases for this and the code
>>>>> for this is well documented.  At this point, if you are seeing
>>>>> something in the editor being marked as a problem when the compiler
>>>>> thinks it isn't, please let us know and we will address it as soon as
>>>>> we can.
>>>>>
>>>>> For the past little while, we have been waiting to hear from users
>>>>> when they come across some of these spurious errors.  And we fix them
>>>>> as they come in.  The best way to help me debug this is to send some
>>>>> examples of failing code.  You can raise a bug if you like, or you can
>>>>> send it through this mailing list.
>>>>>
>>>>> --a
>>>>>
>>>>> On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...> wrote:
>>>>>>
>>>>>> Andrew, I guess this question would be for you: I know that work has
>>>>>> been
>>>>>> done to provide better support for AspectJ inside eclipse editors....
>>>>>> I'm
>>>>>> just not sure what should be working at this point and what isn't yet.
>>>>>>  I
>>>>>> still get a fair number of red squigglies in classes that ITDs are
>>>>>> applied
>>>>>> to, and I've even started to see some of them in pointcuts that are
>>>>>> viewed
>>>>>> inside an AspectJ editor.  If any of these shouldn't be showing up, I'd
>>>>>> like
>>>>>> to help debug the cause, but I don't want to bug you guys by pointing
>>>>>> out
>>>>>> errors that you are already aware of.  Is there a document somewhere
>>>>>> that
>>>>>> lists what should be working and what is known to still be broken?  If
>>>>>> not,
>>>>>> could you give me a quick rundown?
>>>>>>
>>>>>> _______________________________________________
>>>>>> aspectj-users mailing list
>>>>>> aspectj-users@...
>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>>
>>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Dave Whittaker :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andrew,

Thanks once again for the quick response.  I'm up on 3.5, let me know  
when you've got the patched version available and I'd be happy to test.

Dave Whittaker
Iradix, LLC
(p) 212.513.0874 x100
(f) 212.504.8213
dave@...

On Jul 8, 2009, at 10:54 PM, Andrew Eisenberg wrote:

> Bug report:
> http://bugs.eclipse.org/282948
>
> I was able to reduce your problem to a very small snippet of code.
>
> I have been doing most of my development on AJDT targeting 3.5 now.
> So, the fix will be out for that platform first (probably tomorrow).
> If you are working in 3.4, let me know and I will back port sooner
> rather than later.
>
> On Wed, Jul 8, 2009 at 7:45 PM, Andrew  
> Eisenberg<andrew@...> wrote:
>> Thanks for the screenshot, Dave.  I'm able to reproduce.  I'm  
>> thinking
>> it's a problem with AJDT's use of the parser.
>>
>> I'll raise a bug for it.
>>
>> On Wed, Jul 8, 2009 at 5:11 PM, Andrew  
>> Eisenberg<andrew@...> wrote:
>>> I haven't tested this out, but I have a sneaking suspicion that the
>>> "execution(public" is a problem here.  I know that we've had  
>>> problems
>>> with that combination before.  I'll try it out tonight to see if I  
>>> can
>>> reproduce.
>>>
>>> On Wed, Jul 8, 2009 at 3:54 PM, Andy Clement<andrew.clement@...
>>> > wrote:
>>>> Either AJDT passed in an odd signature with a rogue extra ';' or  
>>>> AspectJ
>>>> failed to chew on a valid signature correctly.  It'd be great to  
>>>> know what
>>>> AJWorldFacade.java:122 passed in...
>>>>
>>>> You should raise a bug for this.
>>>>
>>>> Andy.
>>>>
>>>> 2009/7/8 Dave Whittaker <dave@...>
>>>>>
>>>>> Thanks Andrew.  That helps me get a bit of a handle on where  
>>>>> things stand.
>>>>>  I guess the most baffling one for me right now is an aspect I  
>>>>> have that
>>>>> does involve an ITD, but doesn't involve generics.   Here is a  
>>>>> screen shot
>>>>> of what it looks like:
>>>>>
>>>>> http://files.getdropbox.com/u/1242708/screenshot.png
>>>>>
>>>>> The file compiles and the pointcut matches correctly , but the  
>>>>> AspectJ
>>>>> editor still insists that there are issues.  I am getting some  
>>>>> AJ related
>>>>> messages in the log, which I'll include below.  Any ideas?
>>>>>
>>>>> org.aspectj.weaver.BCException: Bad type signature: ;
>>>>>
>>>>>        at
>>>>> org
>>>>> .aspectj
>>>>> .weaver.UnresolvedType.signatureToName(UnresolvedType.java:711)
>>>>>        at
>>>>> org
>>>>> .aspectj
>>>>> .weaver.UnresolvedType.signatureToName(UnresolvedType.java:678)
>>>>>        at
>>>>> org.aspectj.weaver.UnresolvedType.getName(UnresolvedType.java:457)
>>>>>        at
>>>>> org
>>>>> .aspectj.weaver.bcel.ClassPathManager.find(ClassPathManager.java:
>>>>> 97)
>>>>>        at
>>>>> org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:
>>>>> 391)
>>>>>        at
>>>>> org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:
>>>>> 362)
>>>>>        at  
>>>>> org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>>>>>        at org.aspectj.weaver.World.resolve(World.java:278)
>>>>>        at org.aspectj.weaver.World.getCoreType(World.java:502)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:
>>>>> 122)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .internal
>>>>> .core
>>>>> .contentassist.ProposalRequestorWrapper.shouldAccept(ProposalRequ
>>>>> estorWrapper.java:86)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .internal
>>>>> .core
>>>>> .contentassist.ProposalRequestorWrapper.accept(ProposalRequestorW
>>>>> rapper.java:68)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist
>>>>> .CompletionEngine.findLocalMethods(CompletionEngine.java:835
>>>>> 4)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.findMethods(CompletionEngine.java:
>>>>> 9632)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.findMembers(CompletionEngine.java:
>>>>> 8951)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist
>>>>> .CompletionEngine.completionOnQualifiedNameReference(Complet
>>>>> ionEngine.java:3014)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.complete(CompletionEngine.java:1642)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.complete(CompletionEngine.java:1862)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core
>>>>> .javaelements
>>>>> .AJCompilationUnit.internalCodeComplete(AJCompilationUnit.jav
>>>>> a:688)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core
>>>>> .javaelements
>>>>> .AJCompilationUnit.codeComplete(AJCompilationUnit.java:637)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal.core.CompilationUnit.codeComplete(CompilationUnit.java:
>>>>> 355)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal.core.CompilationUnit.codeComplete(CompilationUnit.java:
>>>>> 343)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.JavaCompletionProposalComputer.internalComputeCompletionP
>>>>> roposals(JavaCompletionProposalComputer.java:242)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.JavaCompletionProposalComputer.computeCompletionProposals
>>>>> (JavaCompletionProposalComputer.java:204)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .mylyn
>>>>> .internal
>>>>> .java
>>>>> .ui.editor.FocusedJavaAllProposalComputer.computeCompletionPropo
>>>>> sals(FocusedJavaAllProposalComputer.java:72)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.CompletionProposalComputerDescriptor.computeCompletionPro
>>>>> posals(CompletionProposalComputerDescriptor.java:316)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.CompletionProposalCategory.computeCompletionProposals(Com
>>>>> pletionProposalCategory.java:264)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.ContentAssistProcessor.collectProposals(ContentAssistProc
>>>>> essor.java:286)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.ContentAssistProcessor.computeCompletionProposals(Content
>>>>> AssistProcessor.java:246)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .ContentAssistant.computeCompletionProposals(ContentAssista
>>>>> nt.java:1832)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .CompletionProposalPopup.computeProposals(CompletionProposa
>>>>> lPopup.java:556)
>>>>>        at
>>>>> org
>>>>> .eclipse.jface.text.contentassist.CompletionProposalPopup.access
>>>>> $16(CompletionProposalPopup.
>>>>> java:553)
>>>>>        at
>>>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup
>>>>> $2.run(CompletionProposalPopup.java
>>>>> :488)
>>>>>        at
>>>>> org
>>>>> .eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .CompletionProposalPopup.showProposals(CompletionProposalPo
>>>>> pup.java:482)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .ContentAssistant.showPossibleCompletions(ContentAssistant.
>>>>> java:1660)
>>>>>        at
>>>>> org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor
>>>>> $AdaptedSourceViewer.doOperation(Co
>>>>> mpilationUnitEditor.java:182)
>>>>>        at
>>>>> org.eclipse.ajdt.internal.ui.editor.AspectJEditor
>>>>> $AJTextOperationTarget.doOperation(AspectJEdit
>>>>> or.java:168)
>>>>>        at
>>>>> org.eclipse.ui.texteditor.ContentAssistAction
>>>>> $1.run(ContentAssistAction.java:82)
>>>>>        at
>>>>> org
>>>>> .eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:
>>>>> 80)
>>>>>        at  
>>>>> org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
>>>>>        at
>>>>> org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:
>>>>> 185)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:
>>>>> 109)
>>>>>        at
>>>>> org.eclipse.core.commands.Command.executeWithChecks(Command.java:
>>>>> 476)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core
>>>>> .commands
>>>>> .ParameterizedCommand
>>>>> .executeWithChecks(ParameterizedCommand.java:508)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .handlers.HandlerService.executeCommand(HandlerService.java:169)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:
>>>>> 824)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:
>>>>> 880)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .keys
>>>>> .WorkbenchKeyboard
>>>>> .filterKeySequenceBindings(WorkbenchKeyboard.java
>>>>> :569)
>>>>>        at
>>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.access
>>>>> $3(WorkbenchKeyboard.java:510)
>>>>>        at
>>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard
>>>>> $KeyDownFilter.handleEvent(WorkbenchKeyboard.java
>>>>> :125)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
>>>>>        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:
>>>>> 3541)
>>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
>>>>> 1247)
>>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
>>>>> 1270)
>>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
>>>>> 1255)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1284)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1280)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:428)
>>>>>        at
>>>>> org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:
>>>>> 906)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4740)
>>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native  
>>>>> Method)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .swt
>>>>> .internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:
>>>>> 56)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4654)
>>>>>        at  
>>>>> org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>>>> Method)
>>>>>        at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:
>>>>> 202)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1750)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1821)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4712)
>>>>>        at  
>>>>> org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>>>> Method)
>>>>>        at
>>>>> org
>>>>> .eclipse.swt.widgets.Display.applicationSendEvent(Display.java:
>>>>> 4284)
>>>>>        at
>>>>> org.eclipse.swt.widgets.Display.applicationProc(Display.java:4351)
>>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native  
>>>>> Method)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:
>>>>> 101)
>>>>>        at
>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3096)
>>>>>        at
>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
>>>>> 2405)
>>>>>        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:
>>>>> 2369)
>>>>>        at org.eclipse.ui.internal.Workbench.access
>>>>> $4(Workbench.java:2221)
>>>>>        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:
>>>>> 500)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
>>>>>        at
>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
>>>>> 149)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .ide.application.IDEApplication.start(IDEApplication.java:113)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:
>>>>> 194)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core
>>>>> .runtime
>>>>> .internal
>>>>> .adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.
>>>>> java:110)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core
>>>>> .runtime
>>>>> .internal
>>>>> .adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>>>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native  
>>>>> Method)
>>>>>        at
>>>>> sun
>>>>> .reflect
>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>        at
>>>>> sun
>>>>> .reflect
>>>>> .DelegatingMethodAccessorImpl
>>>>> .invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>>>>        at  
>>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
>>>>>        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:
>>>>> 514)
>>>>>        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>>>>> !SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:
>>>>> 123)
>>>>> !SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-07-07 12:02:30.942
>>>>> !MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade@a358b4
>>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE manager=class
>>>>> org.aspectj.ajdt.internal.core.builder.AjBuildManager@10370600
>>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE world=class org.aspectj.weaver.bcel.BcelWorld@10170238
>>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE cachedMungers=class java.util.HashMap@16713261
>>>>>
>>>>> On Jul 7, 2009, at 5:53 PM, Andrew Eisenberg wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> Our goal is to ensure that spurious AspectJ errors (ie- red  
>>>>>> squiggles
>>>>>> on valid code) are not seen at all (but this has to be weighed  
>>>>>> against
>>>>>> being to aggressive and ignoring actual errors).  We have taken  
>>>>>> care
>>>>>> to ensure that the common uses of AspectJ syntax will not show  
>>>>>> red
>>>>>> squiggles in the editor, but more advanced uses of aspectj  
>>>>>> (such as
>>>>>> generic ITDs, especially those on interfaces) have been less well
>>>>>> tested.
>>>>>>
>>>>>> There is no explicit documentation that describes what is  
>>>>>> working and
>>>>>> what is not, but there are a slew of test cases for this and  
>>>>>> the code
>>>>>> for this is well documented.  At this point, if you are seeing
>>>>>> something in the editor being marked as a problem when the  
>>>>>> compiler
>>>>>> thinks it isn't, please let us know and we will address it as  
>>>>>> soon as
>>>>>> we can.
>>>>>>
>>>>>> For the past little while, we have been waiting to hear from  
>>>>>> users
>>>>>> when they come across some of these spurious errors.  And we  
>>>>>> fix them
>>>>>> as they come in.  The best way to help me debug this is to send  
>>>>>> some
>>>>>> examples of failing code.  You can raise a bug if you like, or  
>>>>>> you can
>>>>>> send it through this mailing list.
>>>>>>
>>>>>> --a
>>>>>>
>>>>>> On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...>  
>>>>>> wrote:
>>>>>>>
>>>>>>> Andrew, I guess this question would be for you: I know that  
>>>>>>> work has
>>>>>>> been
>>>>>>> done to provide better support for AspectJ inside eclipse  
>>>>>>> editors....
>>>>>>> I'm
>>>>>>> just not sure what should be working at this point and what  
>>>>>>> isn't yet.
>>>>>>>  I
>>>>>>> still get a fair number of red squigglies in classes that ITDs  
>>>>>>> are
>>>>>>> applied
>>>>>>> to, and I've even started to see some of them in pointcuts  
>>>>>>> that are
>>>>>>> viewed
>>>>>>> inside an AspectJ editor.  If any of these shouldn't be  
>>>>>>> showing up, I'd
>>>>>>> like
>>>>>>> to help debug the cause, but I don't want to bug you guys by  
>>>>>>> pointing
>>>>>>> out
>>>>>>> errors that you are already aware of.  Is there a document  
>>>>>>> somewhere
>>>>>>> that
>>>>>>> lists what should be working and what is known to still be  
>>>>>>> broken?  If
>>>>>>> not,
>>>>>>> could you give me a quick rundown?
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> aspectj-users mailing list
>>>>>>> aspectj-users@...
>>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>>>
>>>>>> _______________________________________________
>>>>>> aspectj-users mailing list
>>>>>> aspectj-users@...
>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>>
>>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Johan Fabry :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andrew, all,

I have a question related to this: I'm doing some code analysis,  
related to cross-cutting report plugin that I was working on  
previously. I'm talking to Eclipse using its standard API, getting  
information from all the ICompilationUnit elements that I can access.  
There's a problem however, related to these red squiggles on valid  
code, which admittedly may be due to my setup (see below). The problem  
is that if the base code references (eg. does a method call of) an  
ITD, the ICompilationUnit for that class is not available. I suppose  
this is because the code does not compile using standard Java.

I am using some external package to access the ICompilationUnits,  
which actually has a headless eclipse running in the background and  
talking to that instance. I suppose this is an eclipse that does not  
have AJDT loaded. If I would hack the package to ensure that eclipse  
loads AJDT (which I would like to avoid at all costs), will this solve  
my problem? (BTW Is there a way to 'manually' load a plugin by talking  
to this headless eclipse?). If having AJDT loaded does not solve the  
problem, is there another way?

Thanks in advance!

On 07 Jul 2009, at 17:53, Andrew Eisenberg wrote:

> Hi David,
>
> Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
> on valid code) are not seen at all (but this has to be weighed against
> being to aggressive and ignoring actual errors).  We have taken care
> to ensure that the common uses of AspectJ syntax will not show red
> squiggles in the editor, but more advanced uses of aspectj (such as
> generic ITDs, especially those on interfaces) have been less well
> tested.
>
> There is no explicit documentation that describes what is working and
> what is not, but there are a slew of test cases for this and the code
> for this is well documented.  At this point, if you are seeing
> something in the editor being marked as a problem when the compiler
> thinks it isn't, please let us know and we will address it as soon as
> we can.
>
> For the past little while, we have been waiting to hear from users
> when they come across some of these spurious errors.  And we fix them
> as they come in.  The best way to help me debug this is to send some
> examples of failing code.  You can raise a bug if you like, or you can
> send it through this mailing list.
>
> --a

--
Johan Fabry
jfabry@... - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile



_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Andrew Eisenberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Johan,

It is certainly possible to generate ITD-aware elements in the Java
model.  Currently, in AJDT, we only generate them when required and
they are discarded when no longer needed.

You will be required to have ajdt.core installed when you are doing
this functionality.  Loading (almost) any class in ajdt.core will
start the plugin, so there is no need to explicitly start it.

Take a look at the classes ITDAwareSourceTypeInfo and ITDInserter.
These are the two classes that add ITD awareness to elements in the
Java model.  You may not need to call them directly.

Also, take a look at ITDAwareLookupEnvironment and
ITDAwareNameEnvironment.  These classes allow you to ask questions
about types and compilation units in an ITD-aware way.

You can see how they are used in the class AJCompilationUnitProblemFinder.

Hope this helps,
--a


On Thu, Jul 9, 2009 at 9:59 AM, Johan Fabry<jfabry@...> wrote:

> Hi Andrew, all,
>
> I have a question related to this: I'm doing some code analysis, related to
> cross-cutting report plugin that I was working on previously. I'm talking to
> Eclipse using its standard API, getting information from all the
> ICompilationUnit elements that I can access. There's a problem however,
> related to these red squiggles on valid code, which admittedly may be due to
> my setup (see below). The problem is that if the base code references (eg.
> does a method call of) an ITD, the ICompilationUnit for that class is not
> available. I suppose this is because the code does not compile using
> standard Java.
>
> I am using some external package to access the ICompilationUnits, which
> actually has a headless eclipse running in the background and talking to
> that instance. I suppose this is an eclipse that does not have AJDT loaded.
> If I would hack the package to ensure that eclipse loads AJDT (which I would
> like to avoid at all costs), will this solve my problem? (BTW Is there a way
> to 'manually' load a plugin by talking to this headless eclipse?). If having
> AJDT loaded does not solve the problem, is there another way?
>
> Thanks in advance!
>
> On 07 Jul 2009, at 17:53, Andrew Eisenberg wrote:
>
>> Hi David,
>>
>> Our goal is to ensure that spurious AspectJ errors (ie- red squiggles
>> on valid code) are not seen at all (but this has to be weighed against
>> being to aggressive and ignoring actual errors).  We have taken care
>> to ensure that the common uses of AspectJ syntax will not show red
>> squiggles in the editor, but more advanced uses of aspectj (such as
>> generic ITDs, especially those on interfaces) have been less well
>> tested.
>>
>> There is no explicit documentation that describes what is working and
>> what is not, but there are a slew of test cases for this and the code
>> for this is well documented.  At this point, if you are seeing
>> something in the editor being marked as a problem when the compiler
>> thinks it isn't, please let us know and we will address it as soon as
>> we can.
>>
>> For the past little while, we have been waiting to hear from users
>> when they come across some of these spurious errors.  And we fix them
>> as they come in.  The best way to help me debug this is to send some
>> examples of failing code.  You can raise a bug if you like, or you can
>> send it through this mailing list.
>>
>> --a
>
> --
> Johan Fabry
> jfabry@... - http://dcc.uchile.cl/~jfabry
> PLEIAD Lab - Computer Science Department (DCC) - University of Chile
>
>
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: State of the AspectJ/Java editor?

by Dave Whittaker :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Andrew,

Just wanted to confirm: I'm up on the latest dev build as of today and  
the problem appears to be fixed. Thanks.

Dave

On Jul 8, 2009, at 10:54 PM, Andrew Eisenberg wrote:

> Bug report:
> http://bugs.eclipse.org/282948
>
> I was able to reduce your problem to a very small snippet of code.
>
> I have been doing most of my development on AJDT targeting 3.5 now.
> So, the fix will be out for that platform first (probably tomorrow).
> If you are working in 3.4, let me know and I will back port sooner
> rather than later.
>
> On Wed, Jul 8, 2009 at 7:45 PM, Andrew  
> Eisenberg<andrew@...> wrote:
>> Thanks for the screenshot, Dave.  I'm able to reproduce.  I'm  
>> thinking
>> it's a problem with AJDT's use of the parser.
>>
>> I'll raise a bug for it.
>>
>> On Wed, Jul 8, 2009 at 5:11 PM, Andrew  
>> Eisenberg<andrew@...> wrote:
>>> I haven't tested this out, but I have a sneaking suspicion that the
>>> "execution(public" is a problem here.  I know that we've had  
>>> problems
>>> with that combination before.  I'll try it out tonight to see if I  
>>> can
>>> reproduce.
>>>
>>> On Wed, Jul 8, 2009 at 3:54 PM, Andy Clement<andrew.clement@...
>>> > wrote:
>>>> Either AJDT passed in an odd signature with a rogue extra ';' or  
>>>> AspectJ
>>>> failed to chew on a valid signature correctly.  It'd be great to  
>>>> know what
>>>> AJWorldFacade.java:122 passed in...
>>>>
>>>> You should raise a bug for this.
>>>>
>>>> Andy.
>>>>
>>>> 2009/7/8 Dave Whittaker <dave@...>
>>>>>
>>>>> Thanks Andrew.  That helps me get a bit of a handle on where  
>>>>> things stand.
>>>>>  I guess the most baffling one for me right now is an aspect I  
>>>>> have that
>>>>> does involve an ITD, but doesn't involve generics.   Here is a  
>>>>> screen shot
>>>>> of what it looks like:
>>>>>
>>>>> http://files.getdropbox.com/u/1242708/screenshot.png
>>>>>
>>>>> The file compiles and the pointcut matches correctly , but the  
>>>>> AspectJ
>>>>> editor still insists that there are issues.  I am getting some  
>>>>> AJ related
>>>>> messages in the log, which I'll include below.  Any ideas?
>>>>>
>>>>> org.aspectj.weaver.BCException: Bad type signature: ;
>>>>>
>>>>>        at
>>>>> org
>>>>> .aspectj
>>>>> .weaver.UnresolvedType.signatureToName(UnresolvedType.java:711)
>>>>>        at
>>>>> org
>>>>> .aspectj
>>>>> .weaver.UnresolvedType.signatureToName(UnresolvedType.java:678)
>>>>>        at
>>>>> org.aspectj.weaver.UnresolvedType.getName(UnresolvedType.java:457)
>>>>>        at
>>>>> org
>>>>> .aspectj.weaver.bcel.ClassPathManager.find(ClassPathManager.java:
>>>>> 97)
>>>>>        at
>>>>> org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:
>>>>> 391)
>>>>>        at
>>>>> org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:
>>>>> 362)
>>>>>        at  
>>>>> org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>>>>>        at org.aspectj.weaver.World.resolve(World.java:278)
>>>>>        at org.aspectj.weaver.World.getCoreType(World.java:502)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:
>>>>> 122)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .internal
>>>>> .core
>>>>> .contentassist.ProposalRequestorWrapper.shouldAccept(ProposalRequ
>>>>> estorWrapper.java:86)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .internal
>>>>> .core
>>>>> .contentassist.ProposalRequestorWrapper.accept(ProposalRequestorW
>>>>> rapper.java:68)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist
>>>>> .CompletionEngine.findLocalMethods(CompletionEngine.java:835
>>>>> 4)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.findMethods(CompletionEngine.java:
>>>>> 9632)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.findMembers(CompletionEngine.java:
>>>>> 8951)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist
>>>>> .CompletionEngine.completionOnQualifiedNameReference(Complet
>>>>> ionEngine.java:3014)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.complete(CompletionEngine.java:1642)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .codeassist.CompletionEngine.complete(CompletionEngine.java:1862)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core
>>>>> .javaelements
>>>>> .AJCompilationUnit.internalCodeComplete(AJCompilationUnit.jav
>>>>> a:688)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core
>>>>> .javaelements
>>>>> .AJCompilationUnit.codeComplete(AJCompilationUnit.java:637)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal.core.CompilationUnit.codeComplete(CompilationUnit.java:
>>>>> 355)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal.core.CompilationUnit.codeComplete(CompilationUnit.java:
>>>>> 343)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.JavaCompletionProposalComputer.internalComputeCompletionP
>>>>> roposals(JavaCompletionProposalComputer.java:242)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.JavaCompletionProposalComputer.computeCompletionProposals
>>>>> (JavaCompletionProposalComputer.java:204)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .mylyn
>>>>> .internal
>>>>> .java
>>>>> .ui.editor.FocusedJavaAllProposalComputer.computeCompletionPropo
>>>>> sals(FocusedJavaAllProposalComputer.java:72)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.CompletionProposalComputerDescriptor.computeCompletionPro
>>>>> posals(CompletionProposalComputerDescriptor.java:316)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.CompletionProposalCategory.computeCompletionProposals(Com
>>>>> pletionProposalCategory.java:264)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.ContentAssistProcessor.collectProposals(ContentAssistProc
>>>>> essor.java:286)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jdt
>>>>> .internal
>>>>> .ui
>>>>> .text
>>>>> .java.ContentAssistProcessor.computeCompletionProposals(Content
>>>>> AssistProcessor.java:246)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .ContentAssistant.computeCompletionProposals(ContentAssista
>>>>> nt.java:1832)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .CompletionProposalPopup.computeProposals(CompletionProposa
>>>>> lPopup.java:556)
>>>>>        at
>>>>> org
>>>>> .eclipse.jface.text.contentassist.CompletionProposalPopup.access
>>>>> $16(CompletionProposalPopup.
>>>>> java:553)
>>>>>        at
>>>>> org.eclipse.jface.text.contentassist.CompletionProposalPopup
>>>>> $2.run(CompletionProposalPopup.java
>>>>> :488)
>>>>>        at
>>>>> org
>>>>> .eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .CompletionProposalPopup.showProposals(CompletionProposalPo
>>>>> pup.java:482)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .jface
>>>>> .text
>>>>> .contentassist
>>>>> .ContentAssistant.showPossibleCompletions(ContentAssistant.
>>>>> java:1660)
>>>>>        at
>>>>> org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor
>>>>> $AdaptedSourceViewer.doOperation(Co
>>>>> mpilationUnitEditor.java:182)
>>>>>        at
>>>>> org.eclipse.ajdt.internal.ui.editor.AspectJEditor
>>>>> $AJTextOperationTarget.doOperation(AspectJEdit
>>>>> or.java:168)
>>>>>        at
>>>>> org.eclipse.ui.texteditor.ContentAssistAction
>>>>> $1.run(ContentAssistAction.java:82)
>>>>>        at
>>>>> org
>>>>> .eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:
>>>>> 80)
>>>>>        at  
>>>>> org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
>>>>>        at
>>>>> org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:
>>>>> 185)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:
>>>>> 109)
>>>>>        at
>>>>> org.eclipse.core.commands.Command.executeWithChecks(Command.java:
>>>>> 476)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core
>>>>> .commands
>>>>> .ParameterizedCommand
>>>>> .executeWithChecks(ParameterizedCommand.java:508)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .handlers.HandlerService.executeCommand(HandlerService.java:169)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:
>>>>> 824)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:
>>>>> 880)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .keys
>>>>> .WorkbenchKeyboard
>>>>> .filterKeySequenceBindings(WorkbenchKeyboard.java
>>>>> :569)
>>>>>        at
>>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard.access
>>>>> $3(WorkbenchKeyboard.java:510)
>>>>>        at
>>>>> org.eclipse.ui.internal.keys.WorkbenchKeyboard
>>>>> $KeyDownFilter.handleEvent(WorkbenchKeyboard.java
>>>>> :125)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
>>>>>        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:
>>>>> 3541)
>>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
>>>>> 1247)
>>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
>>>>> 1270)
>>>>>        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
>>>>> 1255)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1284)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1280)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:428)
>>>>>        at
>>>>> org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:
>>>>> 906)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4740)
>>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native  
>>>>> Method)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .swt
>>>>> .internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:
>>>>> 56)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4654)
>>>>>        at  
>>>>> org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>>>> Method)
>>>>>        at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:
>>>>> 202)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1750)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1821)
>>>>>        at  
>>>>> org.eclipse.swt.widgets.Display.windowProc(Display.java:4712)
>>>>>        at  
>>>>> org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native
>>>>> Method)
>>>>>        at
>>>>> org
>>>>> .eclipse.swt.widgets.Display.applicationSendEvent(Display.java:
>>>>> 4284)
>>>>>        at
>>>>> org.eclipse.swt.widgets.Display.applicationProc(Display.java:4351)
>>>>>        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native  
>>>>> Method)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:
>>>>> 101)
>>>>>        at
>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3096)
>>>>>        at
>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
>>>>> 2405)
>>>>>        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:
>>>>> 2369)
>>>>>        at org.eclipse.ui.internal.Workbench.access
>>>>> $4(Workbench.java:2221)
>>>>>        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:
>>>>> 500)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
>>>>>        at
>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
>>>>> 149)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .ui
>>>>> .internal
>>>>> .ide.application.IDEApplication.start(IDEApplication.java:113)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:
>>>>> 194)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core
>>>>> .runtime
>>>>> .internal
>>>>> .adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.
>>>>> java:110)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core
>>>>> .runtime
>>>>> .internal
>>>>> .adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
>>>>>        at
>>>>> org
>>>>> .eclipse
>>>>> .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>>>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native  
>>>>> Method)
>>>>>        at
>>>>> sun
>>>>> .reflect
>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>        at
>>>>> sun
>>>>> .reflect
>>>>> .DelegatingMethodAccessorImpl
>>>>> .invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>>>>        at  
>>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
>>>>>        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:
>>>>> 514)
>>>>>        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>>>>> !SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE
>>>>> org
>>>>> .eclipse
>>>>> .ajdt
>>>>> .core.model.AJWorldFacade.findITDInfoIfExists(AJWorldFacade.java:
>>>>> 123)
>>>>> !SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-07-07 12:02:30.942
>>>>> !MESSAGE org.eclipse.ajdt.core.model.AJWorldFacade@a358b4
>>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE manager=class
>>>>> org.aspectj.ajdt.internal.core.builder.AjBuildManager@10370600
>>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE world=class org.aspectj.weaver.bcel.BcelWorld@10170238
>>>>> !SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-07-07 12:02:30.942
>>>>> !MESSAGE cachedMungers=class java.util.HashMap@16713261
>>>>>
>>>>> On Jul 7, 2009, at 5:53 PM, Andrew Eisenberg wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> Our goal is to ensure that spurious AspectJ errors (ie- red  
>>>>>> squiggles
>>>>>> on valid code) are not seen at all (but this has to be weighed  
>>>>>> against
>>>>>> being to aggressive and ignoring actual errors).  We have taken  
>>>>>> care
>>>>>> to ensure that the common uses of AspectJ syntax will not show  
>>>>>> red
>>>>>> squiggles in the editor, but more advanced uses of aspectj  
>>>>>> (such as
>>>>>> generic ITDs, especially those on interfaces) have been less well
>>>>>> tested.
>>>>>>
>>>>>> There is no explicit documentation that describes what is  
>>>>>> working and
>>>>>> what is not, but there are a slew of test cases for this and  
>>>>>> the code
>>>>>> for this is well documented.  At this point, if you are seeing
>>>>>> something in the editor being marked as a problem when the  
>>>>>> compiler
>>>>>> thinks it isn't, please let us know and we will address it as  
>>>>>> soon as
>>>>>> we can.
>>>>>>
>>>>>> For the past little while, we have been waiting to hear from  
>>>>>> users
>>>>>> when they come across some of these spurious errors.  And we  
>>>>>> fix them
>>>>>> as they come in.  The best way to help me debug this is to send  
>>>>>> some
>>>>>> examples of failing code.  You can raise a bug if you like, or  
>>>>>> you can
>>>>>> send it through this mailing list.
>>>>>>
>>>>>> --a
>>>>>>
>>>>>> On Tue, Jul 7, 2009 at 8:53 AM, Dave Whittaker<dave@...>  
>>>>>> wrote:
>>>>>>>
>>>>>>> Andrew, I guess this question would be for you: I know that  
>>>>>>> work has
>>>>>>> been
>>>>>>> done to provide better support for AspectJ inside eclipse  
>>>>>>> editors....
>>>>>>> I'm
>>>>>>> just not sure what should be working at this point and what  
>>>>>>> isn't yet.
>>>>>>>  I
>>>>>>> still get a fair number of red squigglies in classes that ITDs  
>>>>>>> are
>>>>>>> applied
>>>>>>> to, and I've even started to see some of them in pointcuts  
>>>>>>> that are
>>>>>>> viewed
>>>>>>> inside an AspectJ editor.  If any of these shouldn't be  
>>>>>>> showing up, I'd
>>>>>>> like
>>>>>>> to help debug the cause, but I don't want to bug you guys by  
>>>>>>> pointing
>>>>>>> out
>>>>>>> errors that you are already aware of.  Is there a document  
>>>>>>> somewhere
>>>>>>> that
>>>>>>> lists what should be working and what is known to still be  
>>>>>>> broken?  If
>>>>>>> not,
>>>>>>> could you give me a quick rundown?
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> aspectj-users mailing list
>>>>>>> aspectj-users@...
>>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>>>
>>>>>> _______________________________________________
>>>>>> aspectj-users mailing list
>>>>>> aspectj-users@...
>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>>
>>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users