Bug 28114

Summary: Missing type if defined in nested source folder
Product: [Eclipse Project] JDT Reporter: Philipe Mulet <philippe_mulet>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3    
Version: 2.1   
Target Milestone: 2.1 M4   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Philipe Mulet CLA 2002-12-11 11:56:19 EST
Build 20021210

- Define project P
- Define source folder 'src'
- Add subfolder 'src/service'
- Exclude 'service' from 'src'
- Add 'src/service' as a (nested) source folder to P classpath
- Define 'src/client/Sub.java' using following contents:
[package client;

class Sub extends Super {
	void usesSuperInnerWithinSub(SuperInner superInner) {
		superInner.publicMethod();
	}

	private static class SubInner {
		void usesSuperInnerWithinSubInner(SuperInner superInner) {
			superInner.publicMethod();
		}
	}
}]

- Define 'src/service/Super.java' using following contents:
[public class Super {
	protected static class SuperInner {
		public void publicMethod() {

		}
	}
}]

- Build: Super is said to be missing from Sub standpoint.
Comment 1 Philipe Mulet CLA 2002-12-11 12:02:14 EST
Also noticed that codeassist would fail proposing Super inside Sub.java
Comment 2 Kent Johnson CLA 2002-12-11 13:40:36 EST
client.Sub cannot see Super in the default package.

I have no problems if the 2 files are: 'src/Sub.java' & 'src/service/Super.java'

And my classpath includes:
    <classpathentry kind="src" path="src" excluding="service/"/>
    <classpathentry kind="src" path="src/service"/>
Comment 3 Philipe Mulet CLA 2002-12-12 07:20:12 EST
My fault, indeed the default package tricked me.
Once using package, everything worked fine.
Closing