Java源码示例:org.eclipse.xtext.serializer.sequencer.ISemanticSequencer
示例1
private void testSequence(String stringModel) throws Exception {
EObject model = getModel(stringModel);
ISerializationContext context = nmSequencer.findContexts(model, true, null).iterator().next();
DebugSequenceAcceptor actual = new NoEnterNodesDebugSequenceAcceptor(false);
ISemanticSequencer semanticSequencer = semanticSequencerProvider.get();
ISyntacticSequencer syntacticSequencer = syntacticSequencerProvider.get();
IHiddenTokenSequencer hiddenTokenSequencer = hiddenTokenSequencerProvider.get();
semanticSequencer
.init((ISemanticSequenceAcceptor) syntacticSequencer, ISerializationDiagnostic.STDERR_ACCEPTOR);
syntacticSequencer.init(context, model, (ISyntacticSequenceAcceptor) hiddenTokenSequencer,
ISerializationDiagnostic.STDERR_ACCEPTOR);
hiddenTokenSequencer.init(context, model, actual, ISerializationDiagnostic.STDERR_ACCEPTOR);
semanticSequencer.createSequence(context, model);
// System.out.println(actual);
// System.out.println(NodeModelUtils.compactDump(NodeModelUtils.findActualNodeFor(model), true));
assertEquals(Joiner.on("\n").join(getNodeSequence(model)), Joiner.on("\n").join(actual.getColumn(4)));
}
示例2
private EObject testSequence(String stringModel) throws Exception {
DebugSequenceAcceptor genericActual = new DebugSequenceAcceptor();
DebugSequenceAcceptor generatedActual = new DebugSequenceAcceptor();
DebugSequenceAcceptor expected = new DebugSequenceAcceptor();
ISemanticSequencer generatedSequencer = generatedSequencerProvider.get();
ISemanticSequencer genericSequencer = getGenericSemanticSequencer();
assertTrue(generatedSequencer instanceof SequencerTestLanguageSemanticSequencer);
generatedSequencer.init(generatedActual, ISerializationDiagnostic.STDERR_ACCEPTOR);
genericSequencer.init(genericActual, ISerializationDiagnostic.STDERR_ACCEPTOR);
nmSequencer.init(expected, ISerializationDiagnostic.STDERR_ACCEPTOR);
EObject model = getModel(stringModel).eContents().get(0);
ISerializationContext context = nmSequencer.findContexts(model, true, null).iterator().next();
generatedSequencer.createSequence(context, model);
genericSequencer.createSequence(context, model);
nmSequencer.createSequence(context, model);
assertEquals(expected.toString(), genericActual.toString());
assertEquals(expected.toString(), generatedActual.toString());
return model;
}
示例3
protected void serialize(ISerializationContext context, EObject semanticObject, ISequenceAcceptor tokens,
ISerializationDiagnostic.Acceptor errors) {
ISemanticSequencer semantic = semanticSequencerProvider.get();
ISyntacticSequencer syntactic = syntacticSequencerProvider.get();
IHiddenTokenSequencer hidden = hiddenTokenSequencerProvider.get();
semantic.init((ISemanticSequenceAcceptor) syntactic, errors);
syntactic.init(context, semanticObject, (ISyntacticSequenceAcceptor) hidden, errors);
hidden.init(context, semanticObject, tokens, errors);
if (tokens instanceof TokenStreamSequenceAdapter)
((TokenStreamSequenceAdapter) tokens).init(context);
semantic.createSequence(context, semanticObject);
}
示例4
protected SequenceFeeder(Provider provider, ISerializationContext context, EObject semanticObject, INodesForEObjectProvider nodes,
ISemanticSequencer masterSequencer, ISemanticSequenceAcceptor sequenceAcceptor, Acceptor errorAcceptor) {
super();
if (semanticObject == null || nodes == null || sequenceAcceptor == null)
throw new NullPointerException();
this.context = context;
this.provider = provider;
this.semanticObject = semanticObject;
this.nodes = nodes;
this.masterSequencer = masterSequencer;
this.sequenceAcceptor = sequenceAcceptor;
this.errorAcceptor = errorAcceptor;
}
示例5
private void testSequence(EObject inObj, String outModel) throws Exception {
EObject outObj = getModel(outModel);
ISerializationContext context = nmSequencer.findContexts(inObj, true, null).iterator().next();
Acceptor actual = new Acceptor();
ISemanticSequencer semanticSeq = semanticSequencerProvider.get();
ISyntacticSequencer syntacticSeq = syntacticSequencerProvider.get();
semanticSeq.init((ISemanticSequenceAcceptor) syntacticSeq, ISerializationDiagnostic.STDERR_ACCEPTOR);
syntacticSeq.init(context, inObj, actual, ISerializationDiagnostic.STDERR_ACCEPTOR);
semanticSeq.createSequence(context, inObj);
assertEquals(Joiner.on("\n").join(getNodeSequence(outObj)), Joiner.on("\n").join(actual.getResult()));
}
示例6
/**
* @deprecated use {@link #serialize(ISerializationContext, EObject, ISequenceAcceptor, ISerializationDiagnostic.Acceptor)}
*/
@Deprecated
protected void serialize(EObject semanticObject, EObject context, ISequenceAcceptor tokens,
ISerializationDiagnostic.Acceptor errors) {
ISemanticSequencer semantic = semanticSequencerProvider.get();
ISyntacticSequencer syntactic = syntacticSequencerProvider.get();
IHiddenTokenSequencer hidden = hiddenTokenSequencerProvider.get();
semantic.init((ISemanticSequenceAcceptor) syntactic, errors);
syntactic.init(context, semanticObject, (ISyntacticSequenceAcceptor) hidden, errors);
hidden.init(context, semanticObject, tokens, errors);
if (tokens instanceof TokenStreamSequenceAdapter)
((TokenStreamSequenceAdapter) tokens).init(context);
semantic.createSequence(context, semanticObject);
}
示例7
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return SuperTestLanguageSemanticSequencer.class;
}
示例8
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return TwoParametersTestLanguageSemanticSequencer.class;
}
示例9
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return InheritanceTest2LanguageSemanticSequencer.class;
}
示例10
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return RegularExpressionSemanticSequencer.class;
}
示例11
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return Bug317840TestLanguageSemanticSequencer.class;
}
示例12
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return AssignmentFinderTestLanguageSemanticSequencer.class;
}
示例13
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return Bug250313SemanticSequencer.class;
}
示例14
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return UnassignedRuleCallTestLanguageSemanticSequencer.class;
}
示例15
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return SimpleUnorderedGroupsTestLanguageSemanticSequencer.class;
}
示例16
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return Bug299395TestLanguageSemanticSequencer.class;
}
示例17
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return DummyTestLanguageSemanticSequencer.class;
}
示例18
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return RefactoringTestLanguage1SemanticSequencer.class;
}
示例19
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return Bug289059TestLanguageSemanticSequencer.class;
}
示例20
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return TerminalsSemanticSequencer.class;
}
示例21
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return EncodingTestLanguageSemanticSequencer.class;
}
示例22
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return TestLanguageSemanticSequencer.class;
}
示例23
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return EcoreFragmentTestLanguageSemanticSequencer.class;
}
示例24
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return LiveContainerBuilderIntegerationTestLanguageSemanticSequencer.class;
}
示例25
/**
* @deprecated {@link #SequenceFeeder(SequenceFeeder.Provider, ISerializationContext, EObject, ISemanticNodeProvider.INodesForEObjectProvider, ISemanticSequencer, ISemanticSequenceAcceptor, ISerializationDiagnostic.Acceptor)}
*/
@Deprecated
protected SequenceFeeder(Provider provider, EObject semanticObject, INodesForEObjectProvider nodes, ISemanticSequencer masterSequencer,
ISemanticSequenceAcceptor sequenceAcceptor, Acceptor errorAcceptor) {
this(provider, null, semanticObject, nodes, masterSequencer, sequenceAcceptor, errorAcceptor);
}
示例26
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return ActionTestLanguageSemanticSequencer.class;
}
示例27
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return GH1462TestLanguageSemanticSequencer.class;
}
示例28
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return Bug289524ExTestLanguageSemanticSequencer.class;
}
示例29
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return EnumAndReferenceTestLanguageSemanticSequencer.class;
}
示例30
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return StatemachineSemanticSequencer.class;
}