Search in sources :

Example 1 with ParserRuleFragments

use of org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments in project xtext-core by eclipse.

the class AbstractFragmentTestLanguageExSemanticSequencer method sequence.

@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
    EPackage epackage = semanticObject.eClass().getEPackage();
    ParserRule rule = context.getParserRule();
    Action action = context.getAssignedAction();
    Set<Parameter> parameters = context.getEnabledBooleanParameters();
    if (epackage == FragmentTestLanguagePackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case FragmentTestLanguagePackage.PRF_NAMED:
                if (rule == grammarAccess.getNamedByActionRule()) {
                    sequence_NamedByAction(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getNamedInParenthesesRule()) {
                    sequence_NamedInParentheses(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedRefFirstRule()) {
                    sequence_PRFNamedFragment_PRFNamedRefFirst(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFWithPredicateRule()) {
                    sequence_PRFNamedFragment_PRFNamedRef(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedWithFQNRule()) {
                    sequence_PRFNamedWithFQN(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedRule() || action == grammarAccess.getPRFNamedWithActionAccess().getPRFNamedWithActionPrevAction_1()) {
                    sequence_PRFNamed_PRFNamedFragment_PRFNamedRef(context, (PRFNamed) semanticObject);
                    return;
                } else
                    break;
            case FragmentTestLanguagePackage.PRF_NAMED_WITH_ACTION:
                if (rule == grammarAccess.getPRFNamedRecursiveFragmentRule()) {
                    sequence_PRFNamedRecursiveFragment_RecursiveFragment(context, (PRFNamedWithAction) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedRecursiveRule()) {
                    sequence_PRFNamedRecursive_RecursiveFromFragment(context, (PRFNamedWithAction) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedWithActionRule()) {
                    sequence_PRFNamedWithAction(context, (PRFNamedWithAction) semanticObject);
                    return;
                } else
                    break;
            case FragmentTestLanguagePackage.PARSER_RULE_FRAGMENTS:
                sequence_ParserRuleFragments(context, (ParserRuleFragments) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : ParserRule(org.eclipse.xtext.ParserRule) PRFNamedWithAction(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamedWithAction) Action(org.eclipse.xtext.Action) PRFNamedWithAction(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamedWithAction) ParserRuleFragments(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments) Parameter(org.eclipse.xtext.Parameter) PRFNamed(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamed) EPackage(org.eclipse.emf.ecore.EPackage)

Example 2 with ParserRuleFragments

use of org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments in project xtext-core by eclipse.

the class AbstractFragmentTestLanguageSemanticSequencer method sequence.

@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
    EPackage epackage = semanticObject.eClass().getEPackage();
    ParserRule rule = context.getParserRule();
    Action action = context.getAssignedAction();
    Set<Parameter> parameters = context.getEnabledBooleanParameters();
    if (epackage == FragmentTestLanguagePackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case FragmentTestLanguagePackage.PRF_NAMED:
                if (rule == grammarAccess.getNamedByActionRule()) {
                    sequence_NamedByAction(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getNamedInParenthesesRule()) {
                    sequence_NamedInParentheses(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedRefFirstRule()) {
                    sequence_PRFNamedFragment_PRFNamedRefFirst(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFWithPredicateRule()) {
                    sequence_PRFNamedFragment_PRFNamedRef(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedWithFQNRule()) {
                    sequence_PRFNamedWithFQN(context, (PRFNamed) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedRule() || action == grammarAccess.getPRFNamedWithActionAccess().getPRFNamedWithActionPrevAction_1()) {
                    sequence_PRFNamed_PRFNamedFragment_PRFNamedRef(context, (PRFNamed) semanticObject);
                    return;
                } else
                    break;
            case FragmentTestLanguagePackage.PRF_NAMED_WITH_ACTION:
                if (rule == grammarAccess.getPRFNamedRecursiveFragmentRule()) {
                    sequence_PRFNamedRecursiveFragment_RecursiveFragment(context, (PRFNamedWithAction) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedRecursiveRule()) {
                    sequence_PRFNamedRecursive_RecursiveFromFragment(context, (PRFNamedWithAction) semanticObject);
                    return;
                } else if (rule == grammarAccess.getPRFNamedWithActionRule()) {
                    sequence_PRFNamedWithAction(context, (PRFNamedWithAction) semanticObject);
                    return;
                } else
                    break;
            case FragmentTestLanguagePackage.PARSER_RULE_FRAGMENTS:
                sequence_ParserRuleFragments(context, (ParserRuleFragments) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : ParserRule(org.eclipse.xtext.ParserRule) PRFNamedWithAction(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamedWithAction) Action(org.eclipse.xtext.Action) PRFNamedWithAction(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamedWithAction) ParserRuleFragments(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments) Parameter(org.eclipse.xtext.Parameter) PRFNamed(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamed) EPackage(org.eclipse.emf.ecore.EPackage)

Example 3 with ParserRuleFragments

use of org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments in project xtext-core by eclipse.

the class AbstractFragmentsTest method testReference.

@Test
public void testReference() {
    final ParserRuleFragments fragments = this.parseAndValidate("#2 myName -> myName");
    Assert.assertNotNull(fragments);
    Assert.assertEquals("myName", fragments.getElement().getName());
    Assert.assertEquals(fragments.getElement(), fragments.getRef());
}
Also used : ParserRuleFragments(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments) Test(org.junit.Test)

Example 4 with ParserRuleFragments

use of org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments in project xtext-core by eclipse.

the class AbstractFragmentsTest method testActionInFragmentAndReference_02.

@Test
@Ignore("Actions are currently not supported in fragments")
public void testActionInFragmentAndReference_02() {
    final ParserRuleFragments fragments = this.parseAndValidate("#6 prev current current - prev");
    Assert.assertNotNull(fragments);
    final PRFNamed element = fragments.getElement();
    Assert.assertEquals("current", element.getName());
    final PRFNamed prev = ((PRFNamedWithAction) element).getPrev();
    Assert.assertEquals("prev", prev.getName());
    Assert.assertEquals(prev, element.getRef());
    Assert.assertEquals(element, ((PRFNamedWithAction) element).getRef2());
}
Also used : ParserRuleFragments(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments) PRFNamedWithAction(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamedWithAction) PRFNamed(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamed) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 5 with ParserRuleFragments

use of org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments in project xtext-core by eclipse.

the class AbstractFragmentsTest method testSimpleModel.

@Test
public void testSimpleModel() {
    final ParserRuleFragments fragments = this.parseAndValidate("#1 myName");
    Assert.assertNotNull(fragments);
    Assert.assertEquals("myName", fragments.getElement().getName());
}
Also used : ParserRuleFragments(org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments) Test(org.junit.Test)

Aggregations

ParserRuleFragments (org.eclipse.xtext.parser.fragments.fragmentTestLanguage.ParserRuleFragments)23 Test (org.junit.Test)20 PRFNamed (org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamed)16 PRFNamedWithAction (org.eclipse.xtext.parser.fragments.fragmentTestLanguage.PRFNamedWithAction)13 ICompositeNode (org.eclipse.xtext.nodemodel.ICompositeNode)5 Ignore (org.junit.Ignore)5 EObject (org.eclipse.emf.ecore.EObject)4 EPackage (org.eclipse.emf.ecore.EPackage)2 Action (org.eclipse.xtext.Action)2 Parameter (org.eclipse.xtext.Parameter)2 ParserRule (org.eclipse.xtext.ParserRule)2 Resource (org.eclipse.emf.ecore.resource.Resource)1 XtextResource (org.eclipse.xtext.resource.XtextResource)1