Skip to content
Snippets Groups Projects
Commit fa17602b authored by Simon Barner's avatar Simon Barner
Browse files

Factorize getEClassForClass(): Use local variable for instance class

Issue-ref: 4262
Issue-URL: af3#4262



Signed-off-by: default avatarSimon Barner <barner@fortiss.org>
parent 29b169c6
No related branches found
No related tags found
1 merge request!2284262: Factorize getEClassForClass(): Ensure that the most general EClass is returned.
CompositionUtils.java 34c0a191bd0fb4176c94b4d61abb5c88a679d5e8 GREEN
EMFResourceUtils.java 68e6712a52349548bf85346900b17aa65b5f0ea9 GREEN
EcoreSerializerBase.java f906e6578ca512e0c83a822ebf6ad17ca5bd3b76 GREEN
EcoreUtils.java a62460d445203b69ec6029479929da77e887866a GREEN
EcoreUtils.java c57cb20c829706f018cbf384cf462778ace85906 YELLOW
ExtensionPointUtils.java 7ce63242b49eb9a7cd4eaadd223f5ebce1dfd75b GREEN
HierarchicalNameComparator.java 6face1b673126701a0721af48ead2f9766c17d46 GREEN
IdentifierUtils.java fff43dc4e84cdd89c3ece4f5d9d89aec4b0749c2 GREEN
......
......@@ -641,11 +641,13 @@ public class EcoreUtils {
// Query all registered EPackages for the given clazz
for(EPackage ePackage : ePackagesCache) {
for(EClassifier eClassifier : ePackage.getEClassifiers()) {
if(eClassifier instanceof EClass && eClassifier.getInstanceClass() != null &&
clazz.isAssignableFrom(eClassifier.getInstanceClass())) {
eClass = (EClass)eClassifier;
clazz2EClassCache.put(clazz, eClass);
return eClass;
if(eClassifier instanceof EClass) {
Class<?> instanceClass = eClassifier.getInstanceClass();
if(instanceClass != null && clazz.isAssignableFrom(instanceClass)) {
eClass = (EClass)eClassifier;
clazz2EClassCache.put(clazz, eClass);
return eClass;
}
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment