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 extends SyntaxErrorMessageProvider> bindSyntaxErrorMessageProvider() {
return CardinalityAwareSyntaxErrorMessageProvider.class;
}
+
+ /**
+ * @since 2.9
+ */
+ @Override
+ public Class extends ISerializer> 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();