Bug 9992 - Member class declaration not found
Summary: Member class declaration not found
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P2 normal (vote)
Target Milestone: 2.0 M4   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-02-18 17:44 EST by Jerome Lanneluc CLA
Modified: 2002-02-25 17:28 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jerome Lanneluc CLA 2002-02-18 17:44:46 EST
Build 20020214

1. Define the following A.java CU:
public class A {
  public class B {
  }
}
2. Open search dialog, and type in '*.A.B' as the search pattern
3. Press Search
Observe: No match is found
Comment 1 Jerome Lanneluc CLA 2002-02-18 17:46:22 EST
The search pattern that we create in this case is:
TypeDeclarationPattern: pkg<*.a>, enclosing<>, type<b>, pattern match, case 
insensitive

I think it should be a OrPattern with:
TypeDeclarationPattern: pkg<*.a>, enclosing<>, type<b>, pattern match, case 
insensitive
and
TypeDeclarationPattern: pkg<*>, enclosing<*.a>, type<b>, pattern match, case 
insensitive
Comment 2 Philipe Mulet CLA 2002-02-19 00:01:20 EST
Why do we even dissociate the package part from the enclosing one ? It should 
probably just be a qualification which is interpreted as a combination of 
either package or enclosing type...
Comment 3 Jerome Lanneluc CLA 2002-02-25 17:28:03 EST
Added QualifiedTypeDeclarationPattern as subclass of TypeDeclarationPattern. 
This pattern takes a qualification instead of package and enclosing type names.
It is used when searching a type declaration from a String.

Note the behavior of TypeDeclarationSearchScope could not be changed to 
interpret a qualification as a combination of package and enclosing types, as 
this would loose some information, e.g. could not distinguish a.b 
(package 'a.b') from a.B (package 'a' and enclosing type 'B'). This information 
is needed when this pattern is used during the search all type names query.