Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 25542 Details for
Bug 102422
Exception referencing class in large jar files
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Ensure that JarPackageFragmentRoot make it into the cache before its contents.
JavaModelManagerPatch.txt (text/plain), 1.67 KB, created by
Theodora Yeung
on 2005-08-01 21:12:48 EDT
(
hide
)
Description:
Ensure that JarPackageFragmentRoot make it into the cache before its contents.
Filename:
MIME Type:
Creator:
Theodora Yeung
Created:
2005-08-01 21:12:48 EDT
Size:
1.67 KB
patch
obsolete
>Index: JavaModelManager.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java,v >retrieving revision 1.256.2.5 >diff -u -r1.256.2.5 JavaModelManager.java >--- JavaModelManager.java 1 Jul 2005 17:57:49 -0000 1.256.2.5 >+++ JavaModelManager.java 2 Aug 2005 01:04:24 -0000 >@@ -2073,7 +2073,27 @@ > } > } > >- Iterator iterator = newElements.keySet().iterator(); >+ // Need to put any JarPackageFragmentRoot in first. >+ // This is due to the way the LRU cache flushes entries. >+ // When a JarPackageFragment is flused from the LRU cache, the entire >+ // jar is flushed by removing the JarPackageFragmentRoot and all of its >+ // children (see ElementCache.close()). If we flush the JarPackageFragment >+ // when its JarPackageFragmentRoot is not in the cache and the root is about to be >+ // added (during the 'while' loop), we will end up in an inconsist state. >+ // Subsequent resolution against package in the jar would fail as a result. >+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=102422 >+ // (theodora) >+ for(Iterator it = newElements.entrySet().iterator(); it.hasNext(); ){ >+ Map.Entry entry = (Map.Entry)it.next(); >+ IJavaElement element = (IJavaElement)entry.getKey(); >+ if( element instanceof JarPackageFragmentRoot ){ >+ Object info = entry.getValue(); >+ it.remove(); >+ this.cache.putInfo(element, info); >+ } >+ } >+ >+ Iterator iterator = newElements.keySet().iterator(); > while (iterator.hasNext()) { > IJavaElement element = (IJavaElement)iterator.next(); > Object info = newElements.get(element);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 102422
: 25542