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 | |
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.
3 files changed, 10 insertions, 5 deletions
diff --git a/features/org.eclipse.emf.codegen.ecore-feature/feature.xml b/features/org.eclipse.emf.codegen.ecore-feature/feature.xml index f85a8aed2..3587fc9f5 100644 --- a/features/org.eclipse.emf.codegen.ecore-feature/feature.xml +++ b/features/org.eclipse.emf.codegen.ecore-feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.emf.codegen.ecore" label="%featureName" - version="2.8.1.qualifier" + version="2.8.2.qualifier" provider-name="%providerName" license-feature="org.eclipse.emf.license" license-feature-version="2.7.0.qualifier"> diff --git a/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF index a17e9491f..d82abe978 100644 --- a/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.emf.codegen.ecore; singleton:=true -Bundle-Version: 2.8.1.qualifier +Bundle-Version: 2.8.2.qualifier Bundle-ClassPath: . Bundle-Activator: org.eclipse.emf.codegen.ecore.CodeGenEcorePlugin$Implementation Bundle-Vendor: %providerName 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; } |