From d7efc237961e2ecca61c95856614bdb959861432 Mon Sep 17 00:00:00 2001 From: Karsten Thoms Date: Tue, 16 Aug 2016 22:16:00 +0200 Subject: [PATCH] [478377] Add null guard Test call findNodesForFeature with null feature Signed-off-by: Karsten Thoms --- .../org/eclipse/xtext/nodemodel/util/NodeModelUtilsTest.java | 3 +++ .../src/org/eclipse/xtext/nodemodel/util/NodeModelUtils.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/util/NodeModelUtilsTest.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/util/NodeModelUtilsTest.java index 99e5e1e48..f20afde91 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/util/NodeModelUtilsTest.java +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/util/NodeModelUtilsTest.java @@ -54,6 +54,9 @@ public class NodeModelUtilsTest extends AbstractXtextTests { nodes = NodeModelUtils.findNodesForFeature(declaration, XtextPackage.eINSTANCE.getGeneratedMetamodel_Name()); assertEquals(1, nodes.size()); assertEquals("foo", nodes.get(0).getText().trim()); + + nodes = NodeModelUtils.findNodesForFeature(declaration, null); + assertEquals(0, nodes.size()); } @Test public void testFindNodesForFeature_MultipleFeature() throws Exception { diff --git a/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeModelUtils.java b/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeModelUtils.java index e4bed939d..878ea7cde 100644 --- a/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeModelUtils.java +++ b/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeModelUtils.java @@ -164,7 +164,7 @@ public class NodeModelUtils extends InternalNodeModelUtils { /* @NonNull */ public static List findNodesForFeature(EObject semanticObject, EStructuralFeature structuralFeature) { ICompositeNode node = findActualNodeFor(semanticObject); - if (node != null) { + if (node != null && structuralFeature != null) { return findNodesForFeature(semanticObject, node, structuralFeature); } return Collections.emptyList();