Community
Participate
Working Groups
This is a follow-up of my favorite bug 61185 :) If an extension point specifies only an interface for basedOn, the browse dialog fails to filter subtypes of this interface. The current implementation only handles "Class" and "Class:Interface" but not ":Interface" specifications for basedOn. This case was already mentioned in bug 61185 comment 23 but unfortunately got forgotten afterwards.
Created attachment 167420 [details] proposed patch This tiny patch ensures that ":MyInterface" is interpreted properly (by stripping off the initial colon).
Would now be a good time to apply & commit this patch? :)
Patch looks reasonable. Ankur, please review this patch when you have a chance.
Patch works great, applied to HEAD. For reference, to reproduce, create a new extension point (or modify an existing one). Create an attribute of type 'Java'. You'll be able to specify what the attribute must Extend or Implement (or both). If you look at the source for the schema the attribute will use the notation <extend>:<interface>, leaving either attribute blank if one wasn't specified. When you create an extension for this extension point, there will be an option to browse for a java file that satisfies the requirements. Just extends works (will only show you subclasses), and the combination works (will only show you subclasses that implement an interface), but it fails for just implements (it will list all classes). The patch fixes this.
(In reply to comment #4) > Patch works great, applied to HEAD. Thanks, Curtis!
Verified in I20100802-1800