> 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>>>
>>>
>>
>