Summary: | [model] Secondary types cache not reset while removing _all_ secondary types from CU | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Frederic Fusier <frederic_fusier> | ||||||
Component: | Core | Assignee: | Frederic Fusier <frederic_fusier> | ||||||
Status: | VERIFIED FIXED | QA Contact: | |||||||
Severity: | normal | ||||||||
Priority: | P3 | ||||||||
Version: | 3.2 | ||||||||
Target Milestone: | 3.2 M5 | ||||||||
Hardware: | PC | ||||||||
OS: | Windows XP | ||||||||
See Also: | https://bugs.eclipse.org/bugs/show_bug.cgi?id=567512 | ||||||||
Whiteboard: | |||||||||
Attachments: |
|
Description
Frederic Fusier
2005-12-01 10:24:48 EST
Created attachment 31320 [details]
Patch to fix this issue
This is a specific eclipse patch format including 2 projects:
- org.eclipse.jdt.core
- org.eclipse.jdt.core.tests.model
Too late for M4, defer to M5... Note that with 3.2 M4, trace in Console looks like: Thread[main,6,main] BUILDING NameLoopkup Thread[main,6,main] -> pkg roots size: 10 Thread[main,6,main] -> pkgs size: 443 Thread[main,6,main] -> working copy size: 2 Thread[main,6,main] -> spent: 0ms Thread[main,6,main] NameLookup FIND SECONDARY TYPES: Thread[main,6,main] -> pkg name: Thread[main,6,main] -> type name: S Thread[main,6,main] -> projects: b118823 Thread[main,6,main] -> type: S Thread[main,6,main] NameLookup FIND SECONDARY TYPES: Thread[main,6,main] -> pkg name: java.lang Thread[main,6,main] -> type name: S Thread[main,6,main] -> projects: b118823 Thread[main,6,main] TIME SPENT in NameLoopkup#seekTypesInSourcePackage: 0ms Thread[main,6,main] TIME SPENT in NameLoopkup#seekTypesInBinaryPackage: 0ms The line : Thread[main,6,main] -> type: S shows that NameLookup finds a secondary type 'S' Created attachment 32533 [details]
New patch to fix this issue
Specific eclipse patch format including changes on following projects:
- org.eclipse.jdt.core
- org.eclipse.jdt.core.model.tests
Patch released in HEAD. Note that with this version, search request for secondary types is only done once. Secondary types cache is updated after using delta processor events and indexing... Performance tests have been run and no regression have been noticed. Test cases have been added to ReconcilerTests. Verified for 3.2 M5 using build I20060214-0010 |