Search in sources :

Example 6 with Add

use of org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Add in project xtext-core by eclipse.

the class RegionAccessBuilderTest method testExpression2.

@Test
public void testExpression2() {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("5 (a + b) + c");
    _builder.newLine();
    String _trim = _builder.toString().trim();
    StringConcatenation _builder_1 = new StringConcatenation();
    _builder_1.append(" ");
    _builder_1.append("0 0 H");
    _builder_1.newLine();
    _builder_1.append("     ");
    _builder_1.append("B Add        Root");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("0 1  S \"5\"        Root:\'5\'");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("1 1  H \" \"        Whitespace:TerminalRule\'WS\'");
    _builder_1.newLine();
    _builder_1.append("      ");
    _builder_1.append("B Add        Expression:{Add.left=} path:Add/left");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("2 1   S \"(\"        Parenthesized:\'(\'");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("3 0   H");
    _builder_1.newLine();
    _builder_1.append("       ");
    _builder_1.append("B Named\'a\'   Expression:{Add.left=} path:Add/left=Add/left");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("3 1    S \"a\"        Primary:name=ID");
    _builder_1.newLine();
    _builder_1.append("       ");
    _builder_1.append("E Named\'a\'   Expression:{Add.left=} path:Add/left=Add/left");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("4 1   H \" \"        Whitespace:TerminalRule\'WS\'");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("5 1   S \"+\"        Expression:\'+\'");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("6 1   H \" \"        Whitespace:TerminalRule\'WS\'");
    _builder_1.newLine();
    _builder_1.append("       ");
    _builder_1.append("B Named\'b\'   Expression:right=Primary path:Add/right=Add/left");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("7 1    S \"b\"        Primary:name=ID");
    _builder_1.newLine();
    _builder_1.append("       ");
    _builder_1.append("E Named\'b\'   Expression:right=Primary path:Add/right=Add/left");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("8 0   H");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("8 1   S \")\"        Parenthesized:\')\'");
    _builder_1.newLine();
    _builder_1.append("      ");
    _builder_1.append("E Add        Expression:{Add.left=} path:Add/left");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("9 1  H \" \"        Whitespace:TerminalRule\'WS\'");
    _builder_1.newLine();
    _builder_1.append("10 1  S \"+\"        Expression:\'+\'");
    _builder_1.newLine();
    _builder_1.append("11 1  H \" \"        Whitespace:TerminalRule\'WS\'");
    _builder_1.newLine();
    _builder_1.append("      ");
    _builder_1.append("B Named\'c\'   Expression:right=Primary path:Add/right");
    _builder_1.newLine();
    _builder_1.append("12 1   S \"c\"        Primary:name=ID");
    _builder_1.newLine();
    _builder_1.append("      ");
    _builder_1.append("E Named\'c\'   Expression:right=Primary path:Add/right");
    _builder_1.newLine();
    _builder_1.append("     ");
    _builder_1.append("E Add        Root");
    _builder_1.newLine();
    _builder_1.append("13 0 H");
    _builder_1.newLine();
    this.operator_tripleEquals(_trim, _builder_1);
}
Also used : StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) TextRegionAccessToString(org.eclipse.xtext.formatting2.debug.TextRegionAccessToString) Test(org.junit.Test)

Example 7 with Add

use of org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Add in project xtext-core by eclipse.

the class FormattableDocument method addReplacer.

@Override
public void addReplacer(ITextReplacer replacer) {
    if (!this.getRegion().contains(replacer.getRegion())) {
        String frameTitle = getClass().getSimpleName();
        ITextSegment frameRegion = getRegion();
        String replacerTitle = replacer.getClass().getSimpleName();
        ITextSegment replacerRegion = replacer.getRegion();
        RegionsOutsideFrameException exception = new RegionsOutsideFrameException(frameTitle, frameRegion, Tuples.create(replacerTitle, replacerRegion));
        getRequest().getExceptionHandler().accept(exception);
        return;
    }
    try {
        getReplacers().add(replacer, getFormatter().createTextReplacerMerger());
    } catch (ConflictingRegionsException e) {
        getRequest().getExceptionHandler().accept(e);
    }
}
Also used : HiddenRegionFormattingToString(org.eclipse.xtext.formatting2.debug.HiddenRegionFormattingToString) TextRegionsToString(org.eclipse.xtext.formatting2.debug.TextRegionsToString) ITextSegment(org.eclipse.xtext.formatting2.regionaccess.ITextSegment)

Example 8 with Add

use of org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Add in project xtext-core by eclipse.

the class FormatterSerializerIntegrationTest method testFormatterIntegrationWithSerializer.

@Test
public void testFormatterIntegrationWithSerializer() {
    try {
        final Resource resource = this.factory.createResource(URI.createURI("dummy.ext"));
        new ResourceSetImpl().getResources().add(resource);
        final IDList model = FormattertestlanguageFactory.eINSTANCE.createIDList();
        EList<String> _ids = model.getIds();
        _ids.add("foo");
        EList<EObject> _contents = resource.getContents();
        _contents.add(model);
        final ByteArrayOutputStream out = new ByteArrayOutputStream();
        BufferedOutputStream _bufferedOutputStream = new BufferedOutputStream(out);
        resource.save(_bufferedOutputStream, Collections.<Object, Object>emptyMap());
        Assert.assertEquals("idlist  foo", out.toString());
    } catch (Throwable _e) {
        throw Exceptions.sneakyThrow(_e);
    }
}
Also used : ResourceSetImpl(org.eclipse.emf.ecore.resource.impl.ResourceSetImpl) EObject(org.eclipse.emf.ecore.EObject) XtextResource(org.eclipse.xtext.resource.XtextResource) Resource(org.eclipse.emf.ecore.resource.Resource) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IDList(org.eclipse.xtext.formatting2.internal.formattertestlanguage.IDList) BufferedOutputStream(java.io.BufferedOutputStream) Test(org.junit.Test)

Example 9 with Add

use of org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Add in project xtext-core by eclipse.

the class ImportTestHelper method operator_tripleEquals.

public void operator_tripleEquals(final Collection<IEmfResourceChange> actual, final CharSequence expected) {
    final String actualString = new TextDocumentChangeToString().add(actual).toString();
    Assert.assertEquals(Strings.toPlatformLineSeparator(expected).trim(), Strings.toPlatformLineSeparator(actualString).trim());
}
Also used : TextDocumentChangeToString(org.eclipse.xtext.ide.serializer.debug.TextDocumentChangeToString) TextRegionAccessToString(org.eclipse.xtext.formatting2.debug.TextRegionAccessToString) TextDocumentChangeToString(org.eclipse.xtext.ide.serializer.debug.TextDocumentChangeToString)

Example 10 with Add

use of org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Add in project xtext-core by eclipse.

the class ChangeSerializerTestHelper method operator_tripleEquals.

public void operator_tripleEquals(final Collection<IEmfResourceChange> actual, final CharSequence expected) {
    final String actualString = new TextDocumentChangeToString().add(actual).toString();
    Assert.assertEquals(Strings.toPlatformLineSeparator(expected).trim(), Strings.toPlatformLineSeparator(actualString).trim());
}
Also used : TextDocumentChangeToString(org.eclipse.xtext.ide.serializer.debug.TextDocumentChangeToString) TextRegionAccessToString(org.eclipse.xtext.formatting2.debug.TextRegionAccessToString) TextDocumentChangeToString(org.eclipse.xtext.ide.serializer.debug.TextDocumentChangeToString)

Aggregations

Test (org.junit.Test)6 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)5 TextRegionAccessToString (org.eclipse.xtext.formatting2.debug.TextRegionAccessToString)5 EList (org.eclipse.emf.common.util.EList)3 ITextRegionAccess (org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess)3 IChangeSerializer (org.eclipse.xtext.ide.serializer.IChangeSerializer)3 TextDocumentChangeToString (org.eclipse.xtext.ide.serializer.debug.TextDocumentChangeToString)3 MandatoryValue (org.eclipse.xtext.ide.tests.testlanguage.partialSerializationTestLanguage.MandatoryValue)3 OptionalChildList (org.eclipse.xtext.ide.tests.testlanguage.partialSerializationTestLanguage.OptionalChildList)3 Procedure1 (org.eclipse.xtext.xbase.lib.Procedures.Procedure1)3 Resource (org.eclipse.emf.ecore.resource.Resource)2 XtextResource (org.eclipse.xtext.resource.XtextResource)2 BufferedOutputStream (java.io.BufferedOutputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 EObject (org.eclipse.emf.ecore.EObject)1 EPackage (org.eclipse.emf.ecore.EPackage)1 ResourceSetImpl (org.eclipse.emf.ecore.resource.impl.ResourceSetImpl)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1