diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java index 33c4c15d6..c3b7cba15 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java @@ -102,7 +102,7 @@ public class QualifiedNameValueConverter extends AbstractValueConverter if(getWildcardLiteral().equals(segment)) { buffer.append(getWildcardLiteral()); } else { - buffer.append(delegateToString(segment)); + buffer.append((String) valueConverterService.toValue(segment, getDelegateRuleName(), null)); } } } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/QualifiedNameValueConverterTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/QualifiedNameValueConverterTest.java index 08a7b74ab..1fc29fa31 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/QualifiedNameValueConverterTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/QualifiedNameValueConverterTest.java @@ -7,6 +7,7 @@ *******************************************************************************/ package org.eclipse.xtext.valueconverter; +import org.eclipse.xtext.conversion.impl.QualifiedNameValueConverter; import org.eclipse.xtext.junit.AbstractXtextTests; import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.valueconverter.qualifiedName.Element; @@ -18,6 +19,7 @@ import org.eclipse.xtext.valueconverter.qualifiedName.QualifiedNameFactory; public class QualifiedNameValueConverterTest extends AbstractXtextTests { public static final String KEYWORD = "keyword"; + @Override protected void setUp() throws Exception { @@ -54,4 +56,8 @@ public class QualifiedNameValueConverterTest extends AbstractXtextTests { assertEquals(nameAsValue, element.getQualifiedName()); } + public void testBug367949() throws Exception { + assertEquals("org.eclipse.create", get(QualifiedNameValueConverter.class).toValue("org.eclipse.^create", null)); + } + }