diff options
author | Ed Merks | 2012-10-03 05:46:32 +0000 |
---|---|---|
committer | Ed Merks | 2012-10-03 05:46:32 +0000 |
commit | 0bd67bf9cc4a31e4dee85cc776235dfa47582a65 (patch) | |
tree | 47f90363a74f374e4faab6135fb446fec8a4858a /plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java | |
parent | 28752ac65009b138c9444e9ecc49228ba72e7a18 (diff) | |
download | org.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.java | 11 |
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; } |