Summary: | Infinite loop when checking cycle | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Philipe Mulet <philippe_mulet> |
Component: | Core | Assignee: | JDT-Core-Inbox <jdt-core-inbox> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 2.1 | ||
Target Milestone: | 2.1 M4 | ||
Hardware: | PC | ||
OS: | Windows 2000 | ||
Whiteboard: |
Description
Philipe Mulet
2002-12-04 09:02:14 EST
Steps to reproduce: - in Project P, define type java/lang/Object.java in src source folder - perform a full build - add one type X: public class X extends Exception { } - incremental build (X) There is no check for circularity on Object superinterface hierarchy (Object should not be allowed to have any) Suggested fix, add following to ClassScope#connectSuperinterfaces if (isJavaLangObject(sourceType)) { problemReporter().hierarchyCircularity (sourceType, superInterface, referenceContext.superInterfaces[i]); sourceType.tagBits |= HierarchyHasProblems; superInterface.tagBits |= HierarchyHasProblems; return false; } Replaced with a check up front to detect java.lang.Object... if it has supertypes, we now report an error against it, but do not propagate the hierarchy problem to every subtype. Verified. |