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 201207 Details for
Bug 354332
DeltaProcessor exhibits O(N^2) behavior
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Moves the call to IJavaProject.resetResolvedClasspath() out of DeltaProcessor.createExternalArchiveDelta()'s loop
DeltaProcessorResetResolvedClasspath.txt (text/plain), 2.58 KB, created by
Terry Parker
on 2011-08-10 02:56:59 EDT
(
hide
)
Description:
Moves the call to IJavaProject.resetResolvedClasspath() out of DeltaProcessor.createExternalArchiveDelta()'s loop
Filename:
MIME Type:
Creator:
Terry Parker
Created:
2011-08-10 02:56:59 EDT
Size:
2.58 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core >Index: model/org/eclipse/jdt/internal/core/DeltaProcessor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/DeltaProcessor.java,v >retrieving revision 1.344 >diff -u -r1.344 DeltaProcessor.java >--- model/org/eclipse/jdt/internal/core/DeltaProcessor.java 27 Apr 2011 15:44:15 -0000 1.344 >+++ model/org/eclipse/jdt/internal/core/DeltaProcessor.java 10 Aug 2011 06:45:02 -0000 >@@ -953,6 +953,7 @@ > // project does not exist -> ignore > continue; > } >+ boolean hasChainedJar = false; > for (int j = 0; j < entries.length; j++){ > if (entries[j].getEntryKind() == IClasspathEntry.CPE_LIBRARY) { > IPath entryPath = entries[j].getPath(); >@@ -1022,7 +1023,7 @@ > System.out.println("- External JAR ADDED, affecting root: "+root.getElementName()); //$NON-NLS-1$ > } > elementAdded(root, null, null); >- javaProject.resetResolvedClasspath(); // in case it contains a chained jar >+ hasChainedJar |= !this.manager.isNonChainingJar(entryPath); > this.state.addClasspathValidation(javaProject); // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=185733 > hasDelta = true; > } else if (status == EXTERNAL_JAR_CHANGED) { >@@ -1031,7 +1032,7 @@ > System.out.println("- External JAR CHANGED, affecting root: "+root.getElementName()); //$NON-NLS-1$ > } > contentChanged(root); >- javaProject.resetResolvedClasspath(); // in case it contains a chained jar >+ hasChainedJar |= !this.manager.isNonChainingJar(entryPath); > hasDelta = true; > } else if (status == EXTERNAL_JAR_REMOVED) { > PackageFragmentRoot root = (PackageFragmentRoot) javaProject.getPackageFragmentRoot(entryPath.toString()); >@@ -1039,13 +1040,17 @@ > System.out.println("- External JAR REMOVED, affecting root: "+root.getElementName()); //$NON-NLS-1$ > } > elementRemoved(root, null, null); >- javaProject.resetResolvedClasspath(); // in case it contains a chained jar >+ hasChainedJar |= !this.manager.isNonChainingJar(entryPath); > this.state.addClasspathValidation(javaProject); // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=185733 > hasDelta = true; > } > } > } > } >+ >+ if (hasChainedJar) { >+ javaProject.resetResolvedClasspath(); >+ } > } > // ensure the external file cache is reset so that if a .jar file is deleted but no longer on the classpath, it won't appear as changed next time it is added > JavaModel.flushExternalFileCache();
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 Raw
Flags:
jarthana
:
iplog+
Actions:
View
Attachments on
bug 354332
: 201207 |
202867