use of org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess in project xtext-core by eclipse.
the class RegionAccessDiffTest method testSerializeChildObject.
@Test
public void testSerializeChildObject() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("2 foo");
_builder.newLine();
final ITextRegionAccess access = this._regionAccessTestHelper.toTextRegionAccess(_builder);
final Procedure1<ITextRegionDiffBuilder> _function = (ITextRegionDiffBuilder it) -> {
EObject _semanticElement = access.regionForRootEObject().getSemanticElement();
final Delegate child = ((Delegation) _semanticElement).getDelegate();
final IEObjectRegion childRegion = access.regionForEObject(child);
child.setName("baaaz");
final ITextRegionAccess textRegions = this.serializer.serializeToRegions(child);
it.replace(childRegion.getPreviousHiddenRegion(), childRegion.getNextHiddenRegion(), textRegions);
};
ITextRegionAccess _modify = this._regionAccessTestHelper.modify(access, _function);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("0 0 H");
_builder_1.newLine();
_builder_1.append(" ");
_builder_1.append("B Delegation Root");
_builder_1.newLine();
_builder_1.append("0 1 S \"2\" Delegation:\'2\'");
_builder_1.newLine();
_builder_1.append("1 1 1 H \" \" Whitespace:TerminalRule\'WS\'");
_builder_1.newLine();
_builder_1.append(" ");
_builder_1.append("B Delegate\'baaaz\' Delegate path:Delegation/delegate");
_builder_1.newLine();
_builder_1.append("2 5 1 S \"baaaz\" Delegate:name=ID");
_builder_1.newLine();
_builder_1.append(" ");
_builder_1.append("E Delegate\'baaaz\' Delegate path:Delegation/delegate");
_builder_1.newLine();
_builder_1.append(" ");
_builder_1.append("E Delegation Root");
_builder_1.newLine();
_builder_1.append("7 0 1 H");
_builder_1.newLine();
_builder_1.append("------------ diff 1 ------------");
_builder_1.newLine();
_builder_1.append("1 1 H \" \" Whitespace:TerminalRule\'WS\'");
_builder_1.newLine();
_builder_1.append("2 3 S \"foo\" Delegate:name=ID");
_builder_1.newLine();
_builder_1.append("5 0 H");
_builder_1.newLine();
this._regionAccessTestHelper.operator_tripleEquals(_modify, _builder_1);
}
use of org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess in project xtext-core by eclipse.
the class RegionAccessTestHelper method operator_tripleEquals.
public void operator_tripleEquals(final ITextRegionAccess access, final CharSequence expectation) {
if ((access instanceof ITextRegionAccessDiff)) {
this.assertDiffs(((ITextRegionAccessDiff) access));
}
TextRegionAccessToString _cfg = this.cfg(new TextRegionAccessToString().withRegionAccess(access));
final String tra1 = (_cfg + "\n");
Assert.assertEquals(Strings.toPlatformLineSeparator(expectation), Strings.toPlatformLineSeparator(tra1));
}
use of org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess in project xtext-core by eclipse.
the class RegionAccessTestHelper method modify.
public ITextRegionAccess modify(final ITextRegionAccess base, final Procedure1<? super ITextRegionDiffBuilder> modify) {
final StringBasedTextRegionAccessDiffBuilder fac = new StringBasedTextRegionAccessDiffBuilder(base);
modify.apply(fac);
final StringBasedTextRegionAccessDiff modified = fac.create();
return modified;
}
use of org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess in project xtext-core by eclipse.
the class TextRegionsInTextToString method getFrame.
public ITextSegment getFrame() {
if (this.frame != null)
return this.frame;
ITextRegionAccess access = getTextRegionAccess();
if (access != null) {
ITextSegment impactRegion = TextRegions.merge(this.items);
List<ILineRegion> expandToLines = TextRegions.expandToLines(impactRegion, getLeadingLines(), getTrailingLines());
return TextRegions.merge(expandToLines);
}
return null;
}
use of org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess in project xtext-core by eclipse.
the class TextRegionsWithTitleToString method getFrame.
public ITextSegment getFrame() {
if (this.frame != null)
return this.frame;
ITextRegionAccess access = getTextRegionAccess();
if (access != null) {
List<ITextSegment> segments = Lists.newArrayList();
for (Item item : items) segments.add(item.getRegion());
ITextSegment impactRegion = merge(segments);
List<ILineRegion> expandToLines = expandToLines(impactRegion, getLeadingLines(), getTrailingLines());
return merge(expandToLines);
}
return null;
}
Aggregations