diff options
author | emerks | 2006-12-01 12:11:59 +0000 |
---|---|---|
committer | emerks | 2006-12-01 12:11:59 +0000 |
commit | 92b19498822608bc5405623c41c7063eef70c33b (patch) | |
tree | fe87a002312345c80bcf16c2211f84641e08998d /examples/org.eclipse.emf.examples.generator.validator | |
parent | 520fa63865bf9ec730dfe318870276fa7b18855e (diff) | |
download | org.eclipse.emf-92b19498822608bc5405623c41c7063eef70c33b.tar.gz org.eclipse.emf-92b19498822608bc5405623c41c7063eef70c33b.tar.xz org.eclipse.emf-92b19498822608bc5405623c41c7063eef70c33b.zip |
[166470] Fix null pointer exception in getTypeExpression and infinite loop when processing GenParameters.
Diffstat (limited to 'examples/org.eclipse.emf.examples.generator.validator')
-rw-r--r-- | examples/org.eclipse.emf.examples.generator.validator/src/org/eclipse/emf/examples/generator/validator/ValidatorGeneratorUtil.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/examples/org.eclipse.emf.examples.generator.validator/src/org/eclipse/emf/examples/generator/validator/ValidatorGeneratorUtil.java b/examples/org.eclipse.emf.examples.generator.validator/src/org/eclipse/emf/examples/generator/validator/ValidatorGeneratorUtil.java index c3e417789..883070982 100644 --- a/examples/org.eclipse.emf.examples.generator.validator/src/org/eclipse/emf/examples/generator/validator/ValidatorGeneratorUtil.java +++ b/examples/org.eclipse.emf.examples.generator.validator/src/org/eclipse/emf/examples/generator/validator/ValidatorGeneratorUtil.java @@ -12,7 +12,7 @@ * * </copyright> * - * $Id: ValidatorGeneratorUtil.java,v 1.1 2006/11/10 23:04:27 davidms Exp $ + * $Id: ValidatorGeneratorUtil.java,v 1.2 2006/12/01 12:11:59 emerks Exp $ */ package org.eclipse.emf.examples.generator.validator; @@ -20,8 +20,10 @@ import java.util.Iterator; import java.util.List; import org.eclipse.emf.codegen.ecore.genmodel.GenClass; +import org.eclipse.emf.codegen.ecore.genmodel.GenClassifier; import org.eclipse.emf.codegen.ecore.genmodel.GenOperation; import org.eclipse.emf.codegen.ecore.genmodel.GenPackage; +import org.eclipse.emf.codegen.ecore.genmodel.GenParameter; import org.eclipse.emf.codegen.ecore.genmodel.GenTypedElement; import org.eclipse.emf.codegen.util.ImportManager; import org.eclipse.emf.ecore.ETypedElement; @@ -87,7 +89,8 @@ public class ValidatorGeneratorUtil public static String getTypeExpression(GenTypedElement genTypedElement) { StringBuffer result = new StringBuffer(); - result.append(genTypedElement.getTypeGenClassifier().getName()); + GenClassifier genClassifier = genTypedElement.getTypeGenClassifier(); + result.append(genClassifier == null ? "void" : genClassifier.getName()); ETypedElement eTypedElement = (ETypedElement)genTypedElement.getEcoreModelElement(); int lowerBound = eTypedElement.getLowerBound(); @@ -123,7 +126,8 @@ public class ValidatorGeneratorUtil for (Iterator i = genOperation.getGenParameters().iterator(); i.hasNext(); ) { - result.append(getTypeExpression(genOperation)); + GenParameter genParameter = (GenParameter)i.next(); + result.append(getTypeExpression(genParameter)); if (i.hasNext()) { result.append(", "); @@ -132,6 +136,5 @@ public class ValidatorGeneratorUtil result.append(')'); return result.toString(); } - } |