diff --git a/plugins/org.eclipse.xtext/.settings/.api_filters b/plugins/org.eclipse.xtext/.settings/.api_filters index cda6b39c6..e02c82365 100644 --- a/plugins/org.eclipse.xtext/.settings/.api_filters +++ b/plugins/org.eclipse.xtext/.settings/.api_filters @@ -24,6 +24,14 @@ + + + + + + + + diff --git a/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF b/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF index f62f99e61..837467a7f 100644 --- a/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF @@ -48,7 +48,6 @@ Export-Package: org.eclipse.xtext, org.eclipse.xtext.nodemodel.impl, org.eclipse.xtext.nodemodel.serialization;x-internal:=true, org.eclipse.xtext.nodemodel.util, - org.eclipse.xtext.parseTreeConstruction;x-internal:=true, org.eclipse.xtext.parser, org.eclipse.xtext.parser.antlr, org.eclipse.xtext.parser.antlr.internal;x-internal:=true, diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/XtextRuntimeModule.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/XtextRuntimeModule.java index 2c873fd25..a32afe83d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/XtextRuntimeModule.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/XtextRuntimeModule.java @@ -29,6 +29,8 @@ import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.scoping.IGlobalScopeProvider; import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; +import org.eclipse.xtext.serializer.ISerializer; +import org.eclipse.xtext.serializer.impl.Serializer; import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; import org.eclipse.xtext.validation.IDiagnosticConverter; import org.eclipse.xtext.xtext.GrammarResource; @@ -182,4 +184,12 @@ public class XtextRuntimeModule extends AbstractXtextRuntimeModule { public Class bindSyntaxErrorMessageProvider() { return CardinalityAwareSyntaxErrorMessageProvider.class; } + + /** + * @since 2.9 + */ + @Override + public Class bindISerializer() { + return Serializer.class; + } } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java index 0663c67e4..511576fc0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java @@ -105,7 +105,7 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, protected TokenUtil tokenUtil; protected void accept(INode fromNode, List path, RuleCallStack stack) { - if (path.isEmpty()) + if (path == null || path.isEmpty()) return; EmitterNodeFinder nodes = new EmitterNodeFinder(fromNode); // RCStack bak = stack.clone();