Search in sources :

Example 1 with Model

use of org.eclipse.xtext.serializer.syntacticsequencertest.Model in project xtext-core by eclipse.

the class TokenSerializerTest method testConstructedCrossReferenceWithProxy.

@Test
public void testConstructedCrossReferenceWithProxy() {
    final XtextResourceSet resourceSet = this.resourceSetProvider.get();
    Resource _createResource = resourceSet.createResource(this.getFileURI("dummy"));
    final XtextResource resource = ((XtextResource) _createResource);
    Model _createModel = this.factory.createModel();
    final Procedure1<Model> _function = (Model it) -> {
        SingleCrossReference _createSingleCrossReference = this.factory.createSingleCrossReference();
        final Procedure1<SingleCrossReference> _function_1 = (SingleCrossReference it_1) -> {
            it_1.setName("myref");
        };
        SingleCrossReference _doubleArrow = ObjectExtensions.<SingleCrossReference>operator_doubleArrow(_createSingleCrossReference, _function_1);
        it.setX5(_doubleArrow);
    };
    final Model model = ObjectExtensions.<Model>operator_doubleArrow(_createModel, _function);
    EList<EObject> _contents = resource.getContents();
    _contents.add(model);
    SingleCrossReference _x5 = model.getX5();
    SingleCrossReference _createSingleCrossReference = this.factory.createSingleCrossReference();
    final Procedure1<SingleCrossReference> _function_1 = (SingleCrossReference it) -> {
        ((InternalEObject) it).eSetProxyURI(resource.getURI().appendFragment("foo"));
    };
    SingleCrossReference _doubleArrow = ObjectExtensions.<SingleCrossReference>operator_doubleArrow(_createSingleCrossReference, _function_1);
    _x5.setRef3(_doubleArrow);
    resource.setFragmentProvider(new DefaultFragmentProvider() {

        @Override
        public EObject getEObject(final Resource resource, final String fragment, final IFragmentProvider.Fallback fallback) {
            EObject _xifexpression = null;
            boolean _equals = Objects.equal(fragment, "foo");
            if (_equals) {
                _xifexpression = model.getX5();
            } else {
                _xifexpression = super.getEObject(resource, fragment, fallback);
            }
            return _xifexpression;
        }
    });
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("#5 myref kw3 myref");
    _builder.newLine();
    this.assertSerializesTo(model, _builder);
}
Also used : XtextResource(org.eclipse.xtext.resource.XtextResource) Resource(org.eclipse.emf.ecore.resource.Resource) XtextResource(org.eclipse.xtext.resource.XtextResource) XtextResourceSet(org.eclipse.xtext.resource.XtextResourceSet) Procedure1(org.eclipse.xtext.xbase.lib.Procedures.Procedure1) EObject(org.eclipse.emf.ecore.EObject) InternalEObject(org.eclipse.emf.ecore.InternalEObject) Model(org.eclipse.xtext.serializer.syntacticsequencertest.Model) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) SingleCrossReference(org.eclipse.xtext.serializer.syntacticsequencertest.SingleCrossReference) IFragmentProvider(org.eclipse.xtext.resource.IFragmentProvider) DefaultFragmentProvider(org.eclipse.xtext.resource.DefaultFragmentProvider) Test(org.junit.Test)

Example 2 with Model

use of org.eclipse.xtext.serializer.syntacticsequencertest.Model in project xtext-core by eclipse.

the class AbstractSyntacticSequencerTestLanguageSemanticSequencer 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 == SyntacticsequencertestPackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case SyntacticsequencertestPackage.ACTION_ONLY:
                sequence_ActionOnly(context, (ActionOnly) semanticObject);
                return;
            case SyntacticsequencertestPackage.ADD0:
                sequence_Addition0(context, (Add0) semanticObject);
                return;
            case SyntacticsequencertestPackage.ADD1:
                sequence_Addition1(context, (Add1) semanticObject);
                return;
            case SyntacticsequencertestPackage.ADD2:
                sequence_Addition2(context, (Add2) semanticObject);
                return;
            case SyntacticsequencertestPackage.ALTERNATIVE_TRANSITION:
                sequence_AlternativeTransition(context, (AlternativeTransition) semanticObject);
                return;
            case SyntacticsequencertestPackage.BOOLEAN_ALTERNATIVE:
                sequence_BooleanAlternative(context, (BooleanAlternative) semanticObject);
                return;
            case SyntacticsequencertestPackage.BOOLEAN_ALTERNATIVE_LITERAL:
                sequence_BooleanAlternativeLiteral(context, (BooleanAlternativeLiteral) semanticObject);
                return;
            case SyntacticsequencertestPackage.BOOLEAN_VALUES:
                sequence_BooleanValues(context, (BooleanValues) semanticObject);
                return;
            case SyntacticsequencertestPackage.BUG398890:
                sequence_Bug398890(context, (Bug398890) semanticObject);
                return;
            case SyntacticsequencertestPackage.FRAGMENT_CALLER_TYPE:
                sequence_Fragment1_FragmentCaller(context, (FragmentCallerType) semanticObject);
                return;
            case SyntacticsequencertestPackage.LONG_ALTERNATIVE:
                sequence_LongAlternative(context, (LongAlternative) semanticObject);
                return;
            case SyntacticsequencertestPackage.MANDATORY_KEYWORDS:
                sequence_MandatoryKeywords(context, (MandatoryKeywords) semanticObject);
                return;
            case SyntacticsequencertestPackage.MANDATORY_MANY_TRANSITION:
                sequence_MandatoryManyTransition(context, (MandatoryManyTransition) semanticObject);
                return;
            case SyntacticsequencertestPackage.MODEL:
                sequence_Model(context, (Model) semanticObject);
                return;
            case SyntacticsequencertestPackage.MULT2:
                sequence_Multiplication2(context, (Mult2) semanticObject);
                return;
            case SyntacticsequencertestPackage.OPTIONAL_MANY_TRANSITION:
                sequence_OptionalManyTransition(context, (OptionalManyTransition) semanticObject);
                return;
            case SyntacticsequencertestPackage.OPTIONAL_SINGLE_TRANSITION:
                sequence_OptionalSingleTransition(context, (OptionalSingleTransition) semanticObject);
                return;
            case SyntacticsequencertestPackage.SINGLE_CROSS_REFERENCE:
                sequence_SingleCrossReference(context, (SingleCrossReference) semanticObject);
                return;
            case SyntacticsequencertestPackage.UNASSIGNED_DATATYPE:
                sequence_UnassignedDatatype(context, (UnassignedDatatype) semanticObject);
                return;
            case SyntacticsequencertestPackage.VAL0:
                sequence_Prim0(context, (Val0) semanticObject);
                return;
            case SyntacticsequencertestPackage.VAL1:
                sequence_Prim1(context, (Val1) semanticObject);
                return;
            case SyntacticsequencertestPackage.VAL2:
                sequence_Prim2(context, (Val2) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : OptionalSingleTransition(org.eclipse.xtext.serializer.syntacticsequencertest.OptionalSingleTransition) ParserRule(org.eclipse.xtext.ParserRule) Action(org.eclipse.xtext.Action) BooleanAlternativeLiteral(org.eclipse.xtext.serializer.syntacticsequencertest.BooleanAlternativeLiteral) Add2(org.eclipse.xtext.serializer.syntacticsequencertest.Add2) EPackage(org.eclipse.emf.ecore.EPackage) Add1(org.eclipse.xtext.serializer.syntacticsequencertest.Add1) FragmentCallerType(org.eclipse.xtext.serializer.syntacticsequencertest.FragmentCallerType) Add0(org.eclipse.xtext.serializer.syntacticsequencertest.Add0) Mult2(org.eclipse.xtext.serializer.syntacticsequencertest.Mult2) ActionOnly(org.eclipse.xtext.serializer.syntacticsequencertest.ActionOnly) SingleCrossReference(org.eclipse.xtext.serializer.syntacticsequencertest.SingleCrossReference) Bug398890(org.eclipse.xtext.serializer.syntacticsequencertest.Bug398890) OptionalManyTransition(org.eclipse.xtext.serializer.syntacticsequencertest.OptionalManyTransition) Val0(org.eclipse.xtext.serializer.syntacticsequencertest.Val0) MandatoryKeywords(org.eclipse.xtext.serializer.syntacticsequencertest.MandatoryKeywords) UnassignedDatatype(org.eclipse.xtext.serializer.syntacticsequencertest.UnassignedDatatype) LongAlternative(org.eclipse.xtext.serializer.syntacticsequencertest.LongAlternative) MandatoryManyTransition(org.eclipse.xtext.serializer.syntacticsequencertest.MandatoryManyTransition) BooleanValues(org.eclipse.xtext.serializer.syntacticsequencertest.BooleanValues) BooleanAlternative(org.eclipse.xtext.serializer.syntacticsequencertest.BooleanAlternative) Model(org.eclipse.xtext.serializer.syntacticsequencertest.Model) Val1(org.eclipse.xtext.serializer.syntacticsequencertest.Val1) Parameter(org.eclipse.xtext.Parameter) AlternativeTransition(org.eclipse.xtext.serializer.syntacticsequencertest.AlternativeTransition) Val2(org.eclipse.xtext.serializer.syntacticsequencertest.Val2)

Example 3 with Model

use of org.eclipse.xtext.serializer.syntacticsequencertest.Model in project xtext-core by eclipse.

the class SyntacticSequencerTest method testBooleanAlternative_d.

@Test
public void testBooleanAlternative_d() throws Exception {
    Model model = (Model) getModel("#6 kw1");
    model.getX6().getBool().setIsTrue(true);
    testSequence(model, "#6 kw2");
}
Also used : Model(org.eclipse.xtext.serializer.syntacticsequencertest.Model) Test(org.junit.Test)

Example 4 with Model

use of org.eclipse.xtext.serializer.syntacticsequencertest.Model in project xtext-core by eclipse.

the class SyntacticSequencerTest method testBooleanAlternative_c.

@Test
public void testBooleanAlternative_c() throws Exception {
    Model model = (Model) getModel("#6 kw2");
    model.getX6().getBool().setIsTrue(false);
    testSequence(model, "#6 kw1");
}
Also used : Model(org.eclipse.xtext.serializer.syntacticsequencertest.Model) Test(org.junit.Test)

Aggregations

Model (org.eclipse.xtext.serializer.syntacticsequencertest.Model)4 Test (org.junit.Test)3 SingleCrossReference (org.eclipse.xtext.serializer.syntacticsequencertest.SingleCrossReference)2 EObject (org.eclipse.emf.ecore.EObject)1 EPackage (org.eclipse.emf.ecore.EPackage)1 InternalEObject (org.eclipse.emf.ecore.InternalEObject)1 Resource (org.eclipse.emf.ecore.resource.Resource)1 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1 DefaultFragmentProvider (org.eclipse.xtext.resource.DefaultFragmentProvider)1 IFragmentProvider (org.eclipse.xtext.resource.IFragmentProvider)1 XtextResource (org.eclipse.xtext.resource.XtextResource)1 XtextResourceSet (org.eclipse.xtext.resource.XtextResourceSet)1 ActionOnly (org.eclipse.xtext.serializer.syntacticsequencertest.ActionOnly)1 Add0 (org.eclipse.xtext.serializer.syntacticsequencertest.Add0)1 Add1 (org.eclipse.xtext.serializer.syntacticsequencertest.Add1)1 Add2 (org.eclipse.xtext.serializer.syntacticsequencertest.Add2)1 AlternativeTransition (org.eclipse.xtext.serializer.syntacticsequencertest.AlternativeTransition)1