Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Merks2012-10-03 05:46:32 +0000
committerEd Merks2012-10-03 05:46:32 +0000
commit0bd67bf9cc4a31e4dee85cc776235dfa47582a65 (patch)
tree47f90363a74f374e4faab6135fb446fec8a4858a /plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java
parent28752ac65009b138c9444e9ecc49228ba72e7a18 (diff)
downloadorg.eclipse.emf-0bd67bf9cc4a31e4dee85cc776235dfa47582a65.tar.gz
org.eclipse.emf-0bd67bf9cc4a31e4dee85cc776235dfa47582a65.tar.xz
org.eclipse.emf-0bd67bf9cc4a31e4dee85cc776235dfa47582a65.zip
[390474] Guard against recursive map entry type.
Diffstat (limited to 'plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java')
-rw-r--r--plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java
index 02e24dbc6..9ceb197bc 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java
@@ -1029,9 +1029,14 @@ public abstract class GenBaseImpl extends EObjectImpl implements GenBase
String mapType = getEffectiveMapEntryType();
if (getEffectiveComplianceLevel().getValue() >= GenJDKLevel.JDK50)
{
- String keyType = genClass.getMapEntryKeyFeature().getType(context);
- String valueType = genClass.getMapEntryValueFeature().getType(context);
- mapType += "<" + keyType + ", " + valueType + ">";
+ GenFeature mapEntryKeyFeature = genClass.getMapEntryKeyFeature();
+ GenFeature mapEntryValueFeature = genClass.getMapEntryValueFeature();
+ if (mapEntryKeyFeature.getTypeGenClassifier() != genClass && mapEntryValueFeature.getTypeGenClassifier() != genClass)
+ {
+ String keyType = mapEntryKeyFeature.getType(context);
+ String valueType = mapEntryValueFeature.getType(context);
+ mapType += "<" + keyType + ", " + valueType + ">";
+ }
}
return mapType;
}

Back to the top