[xtext.xtext] use new Serializer instead of ParseTreeConstructor

The 'SerializerFragment' is intentionally not used because it generates
Java files which would become public API. 

The Serializer is fully functional without the SerializerFragment.

Signed-off-by: Moritz Eysholdt <moritz.eysholdt@itemis.de>
This commit is contained in:
Moritz Eysholdt 2015-08-05 17:45:55 +02:00
parent d2d3b10b56
commit 88f88178f4
4 changed files with 19 additions and 2 deletions

View file

@ -24,6 +24,14 @@
</message_arguments>
</filter>
</resource>
<resource path="src-gen/org/eclipse/xtext/AbstractXtextRuntimeModule.java" type="org.eclipse.xtext.AbstractXtextRuntimeModule">
<filter comment="the parse tree constructor is no longer used" id="338792546">
<message_arguments>
<message_argument value="org.eclipse.xtext.AbstractXtextRuntimeModule"/>
<message_argument value="bindIParseTreeConstructor()"/>
</message_arguments>
</filter>
</resource>
<resource path="src-gen/org/eclipse/xtext/parser/antlr/XtextParser.java" type="org.eclipse.xtext.parser.antlr.XtextParser">
<filter id="643842064">
<message_arguments>

View file

@ -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,

View file

@ -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;
}
}

View file

@ -105,7 +105,7 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer,
protected TokenUtil tokenUtil;
protected void accept(INode fromNode, List<ISynState> path, RuleCallStack stack) {
if (path.isEmpty())
if (path == null || path.isEmpty())
return;
EmitterNodeFinder nodes = new EmitterNodeFinder(fromNode);
// RCStack bak = stack.clone();