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 111969 Details for
Bug 246494
Optimization for containment proxies.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Further optimizations of contains testing for containment lists
246494.patch (text/plain), 2.57 KB, created by
Ed Merks
on 2008-09-08 12:35:03 EDT
(
hide
)
Description:
Further optimizations of contains testing for containment lists
Filename:
MIME Type:
Creator:
Ed Merks
Created:
2008-09-08 12:35:03 EDT
Size:
2.57 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.emf.ecore >Index: src/org/eclipse/emf/ecore/util/DelegatingEcoreEList.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/util/DelegatingEcoreEList.java,v >retrieving revision 1.17 >diff -u -r1.17 DelegatingEcoreEList.java >--- src/org/eclipse/emf/ecore/util/DelegatingEcoreEList.java 3 Nov 2007 13:15:51 -0000 1.17 >+++ src/org/eclipse/emf/ecore/util/DelegatingEcoreEList.java 8 Sep 2008 16:27:21 -0000 >@@ -457,12 +457,13 @@ > else if (isContainment()) > { > InternalEObject eObject = (InternalEObject)object; >+ EObject eContainer = eObject.eContainer(); > boolean result = >- eObject.eInternalContainer() == owner && >+ eContainer == owner && > (hasNavigableInverse() ? > eObject.eContainerFeatureID() == getInverseFeatureID() : > InternalEObject.EOPPOSITE_FEATURE_BASE - eObject.eContainerFeatureID() == getFeatureID()); >- if (hasProxies() && !result) >+ if (hasProxies() && !result && eContainer == null && eObject.eDirectResource() != null) > { > for (int i = 0; i < size; ++i) > { >Index: src/org/eclipse/emf/ecore/util/EcoreEList.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/util/EcoreEList.java,v >retrieving revision 1.16 >diff -u -r1.16 EcoreEList.java >--- src/org/eclipse/emf/ecore/util/EcoreEList.java 28 Oct 2007 12:00:53 -0000 1.16 >+++ src/org/eclipse/emf/ecore/util/EcoreEList.java 8 Sep 2008 16:27:21 -0000 >@@ -350,12 +350,13 @@ > else if (isContainment()) > { > InternalEObject eObject = (InternalEObject)object; >+ EObject eContainer = eObject.eContainer(); > boolean result = >- eObject.eInternalContainer() == owner && >+ eContainer == owner && > (hasNavigableInverse() ? > eObject.eBaseStructuralFeatureID(eObject.eContainerFeatureID(), dataClass) == getInverseFeatureID() : > InternalEObject.EOPPOSITE_FEATURE_BASE - eObject.eContainerFeatureID() == getFeatureID()); >- if (hasProxies() && !result) >+ if (hasProxies() && !result && owner== null && eObject.eDirectResource() != null) > { > for (int i = 0; i < size; ++i) > {
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 246494
: 111969