Search in sources :

Example 1 with Model

use of org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model in project xtext-core by eclipse.

the class EObjectAtOffsetTest method testCrossRefsAfterUnassignedRuleCall_01.

@Test
public void testCrossRefsAfterUnassignedRuleCall_01() throws Exception {
    String modelAsString = "bar bar0 foo0 foo1 foo foo0 foo foo1";
    XtextResource resource = getResourceFromString(modelAsString);
    Model model = (Model) resource.getContents().get(0);
    checkCrossReferencedElementAt(resource, modelAsString, "foo0", model.getFoos().get(0));
    checkCrossReferencedElementAt(resource, modelAsString, "foo1", model.getFoos().get(1));
}
Also used : Model(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model) Test(org.junit.Test)

Example 2 with Model

use of org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model in project xtext-core by eclipse.

the class EObjectAtOffsetTest method testAction_02.

@Test
public void testAction_02() throws Exception {
    String modelAsString = "zonk 1 bar bar0 foo0 foobar foo1 foo foo0 foo foo1";
    XtextResource resource = getResourceFromString(modelAsString);
    Model model = (Model) resource.getContents().get(0);
    checkContainedOrReferencedElementAt(resource, modelAsString, "foobar ", model.getBars().get(0));
    checkCrossReferencedElementAt(resource, modelAsString, "foo0 ", model.getFoos().get(0));
    checkCrossReferencedElementAt(resource, modelAsString, "foo1 ", model.getFoos().get(1));
    checkContainedOrReferencedElementAt(resource, modelAsString, "bar bar0 ", ((FooBar) model.getBars().get(0)).getBar());
}
Also used : Model(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model) Test(org.junit.Test)

Example 3 with Model

use of org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model in project xtext-core by eclipse.

the class EObjectAtOffsetTestLanguageSemanticSequencer 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 == EObjectAtOffsetTestLanguagePackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case EObjectAtOffsetTestLanguagePackage.BAR:
                if (rule == grammarAccess.getAbstractBarRule()) {
                    sequence_AbstractBar_Bar(context, (Bar) semanticObject);
                    return;
                } else if (action == grammarAccess.getAbstractBarAccess().getFooBarBarAction_3_0() || rule == grammarAccess.getBarRule()) {
                    sequence_Bar(context, (Bar) semanticObject);
                    return;
                } else
                    break;
            case EObjectAtOffsetTestLanguagePackage.FOO:
                sequence_Foo(context, (Foo) semanticObject);
                return;
            case EObjectAtOffsetTestLanguagePackage.FOO_BAR:
                sequence_AbstractBar(context, (FooBar) semanticObject);
                return;
            case EObjectAtOffsetTestLanguagePackage.MODEL:
                sequence_Model(context, (Model) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : ParserRule(org.eclipse.xtext.ParserRule) Action(org.eclipse.xtext.Action) FooBar(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.FooBar) Bar(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Bar) Foo(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Foo) Model(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model) Parameter(org.eclipse.xtext.Parameter) EPackage(org.eclipse.emf.ecore.EPackage) FooBar(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.FooBar)

Example 4 with Model

use of org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model in project xtext-core by eclipse.

the class EObjectAtOffsetTest method testCrossRefsAfterUnassignedRuleCall_02.

@Test
public void testCrossRefsAfterUnassignedRuleCall_02() throws Exception {
    String modelAsString = "zonk 1 bar bar0 foo0 foo1 foo foo0 foo foo1";
    XtextResource resource = getResourceFromString(modelAsString);
    Model model = (Model) resource.getContents().get(0);
    checkCrossReferencedElementAt(resource, modelAsString, "foo0", model.getFoos().get(0));
    checkCrossReferencedElementAt(resource, modelAsString, "foo1", model.getFoos().get(1));
}
Also used : Model(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model) Test(org.junit.Test)

Example 5 with Model

use of org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model in project xtext-core by eclipse.

the class EObjectAtOffsetTest method testElements.

@Test
public void testElements() throws Exception {
    String modelAsString = "foo foo0 bar bar0 foo0 bar bar1 foo0";
    XtextResource resource = getResourceFromString(modelAsString);
    Model model = (Model) resource.getContents().get(0);
    checkContainedOrReferencedElementAt(resource, modelAsString, "foo foo0 ", model.getFoos().get(0));
    checkContainedOrReferencedElementAt(resource, modelAsString, "bar bar0 ", model.getBars().get(0));
    checkContainedOrReferencedElementAt(resource, modelAsString, "bar bar1 ", model.getBars().get(1));
}
Also used : Model(org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model) Test(org.junit.Test)

Aggregations

Model (org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Model)10 Test (org.junit.Test)9 EPackage (org.eclipse.emf.ecore.EPackage)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1 Bar (org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Bar)1 Foo (org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.Foo)1 FooBar (org.eclipse.xtext.resource.eObjectAtOffsetTestLanguage.FooBar)1