Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 343987

Summary: Code assist doesn't help when implementing an inner interface from a class in another package
Product: [Eclipse Project] JDT Reporter: Chris Leon <chris.leon>
Component: CoreAssignee: Ayushman Jain <amj87.iitr>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: amj87.iitr, mauromol, viliam
Version: 3.7   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard: stalebug
Attachments:
Description Flags
Two classes that show this problem none

Description Chris Leon CLA 2011-04-27 12:27:25 EDT
Build Identifier: M20110210-1200

Let's say I have this class:

public class ClassWithInnerInterface {
    public interface InnerInterface {

    }
}

and in another package want to define
public class InterfaceImplementor implements ClassWithInnerInterface.InnerInterface {

}

Code assist does not help with auto-completion or importing of the required files, meaning I basically need to type the whole thing.

Reproducible: Always
Comment 1 Chris Leon CLA 2011-04-27 12:27:47 EDT
Similar to 335029, but that is an interface within an interface so I logged a new ticket.
Comment 2 Chris Leon CLA 2011-04-27 12:29:15 EDT
Created attachment 194180 [details]
Two classes that show this problem

Try to make OtherClass implement ClassWithInnerInterface.InnerInterface.
Comment 3 Ayushman Jain CLA 2011-09-29 04:06:32 EDT
(In reply to comment #2)
> Created attachment 194180 [details] [diff]
> Two classes that show this problem
> 
> Try to make OtherClass implement ClassWithInnerInterface.InnerInterface.

I cannot reproduce this with build 20110911-2000. Using content assist as follows correctly adds the import and also completes the interface name

OtherClass implements InnerI<CTRL-SPC>.

I intend to close this as WORKSFORME.
Comment 4 Chris Leon CLA 2011-09-29 11:33:11 EDT
Your example does work, but the bug I'm pointing out is a difficulty with using CodeAssist to implement fully qualified inner interface names.  

Try to type 

public class InnerInterfaceImplementor implements ClassWith <ctrl-space>

you get nothing in CodeAssist, despite the fact that there is a valid interface in the class path that is named ClassWithInnerInterface.InnerInterface.
Comment 5 Ayushman Jain CLA 2011-09-29 11:39:17 EDT
(In reply to comment #4)
> Your example does work, but the bug I'm pointing out is a difficulty with using
> CodeAssist to implement fully qualified inner interface names.  
> 
> Try to type 
> 
> public class InnerInterfaceImplementor implements ClassWith <ctrl-space>
> 
> you get nothing in CodeAssist, despite the fact that there is a valid interface
> in the class path that is named ClassWithInnerInterface.InnerInterface.

Thanks for following up. The problem with your way is that ur'e trying to ask for the proposal of a class after 'implements' , where an interface is expected. Content assist thus filters it out. Though I agree that the class is also a relevant suggestion here since it can be used to qualify an inner interface. Will fix this.
Comment 6 Eclipse Genie CLA 2020-06-24 15:15:20 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 7 Eclipse Genie CLA 2022-11-22 12:31:43 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.