use of org.eclipse.xtext.generator.trace.ILocationData in project xtext-core by eclipse.
the class TracingSugarTest method _generateTypeWithDebugging.
@Traced(useForDebugging = true)
public IGeneratorNode _generateTypeWithDebugging(final Type it) {
ILocationData _location = this._myExtensions.location(it);
CompositeGeneratorNode _traceNode = this._myExtensions.trace(_location, true);
this._myExtensions.appendTemplate(_traceNode, __generateTypeWithDebugging(it));
return _traceNode;
}
use of org.eclipse.xtext.generator.trace.ILocationData in project xtext-core by eclipse.
the class AbstractTrace method toLocations.
protected Iterable<? extends ILocationInResource> toLocations(final Iterable<AbstractTraceRegion> allTraceRegions) {
return new Iterable<ILocationInResource>() {
@Override
public Iterator<ILocationInResource> iterator() {
return new AbstractIterator<ILocationInResource>() {
private Iterator<AbstractTraceRegion> delegate = allTraceRegions.iterator();
private AbstractTraceRegion region;
private Iterator<ILocationData> locationDelegate;
@Override
protected ILocationInResource computeNext() {
while (true) {
if (locationDelegate == null || !locationDelegate.hasNext()) {
if (delegate.hasNext()) {
region = delegate.next();
locationDelegate = region.getAssociatedLocations().iterator();
if (!locationDelegate.hasNext()) {
continue;
}
}
}
if (locationDelegate != null && locationDelegate.hasNext()) {
ILocationData locationData = locationDelegate.next();
ILocationInResource result = createLocationInResourceFor(locationData, region);
if (result != null) {
return result;
}
continue;
}
return endOfData();
}
}
};
}
};
}
use of org.eclipse.xtext.generator.trace.ILocationData in project xtext-core by eclipse.
the class TraceRegionToStringTest method twoFrame2.
@Test
public void twoFrame2() {
final TraceRegionToStringTester tester = new TraceRegionToStringTester();
StringConcatenation _builder = new StringConcatenation();
_builder.append("foo bar");
_builder.newLine();
tester.setLocalText(_builder.toString());
TextRegion _textRegion = new TextRegion(2, 4);
tester.setLocalFrame(_textRegion);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("baz buz");
_builder_1.newLine();
tester.setRemote1(_builder_1.toString());
SourceRelativeURI _uri1 = tester.getUri1();
TraceRegionToStringTester.Location _location = new TraceRegionToStringTester.Location(1, 5, _uri1);
TraceRegionToStringTester.Region _region = new TraceRegionToStringTester.Region(0, 7, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location)));
final Procedure1<TraceRegionToStringTester.Region> _function = (TraceRegionToStringTester.Region it) -> {
TraceRegionToStringTester.Location _location_1 = new TraceRegionToStringTester.Location(1, 5);
it.addChild(2, 1, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location_1)));
TraceRegionToStringTester.Location _location_2 = new TraceRegionToStringTester.Location(1, 5);
it.addChild(5, 1, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location_2)));
};
TraceRegionToStringTester.Region _doubleArrow = ObjectExtensions.<TraceRegionToStringTester.Region>operator_doubleArrow(_region, _function);
tester.setTrace(_doubleArrow);
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("---- local1 ---- | ---- remote1 ----");
_builder_2.newLine();
_builder_2.append("[1[o]1] b[2[a]2] | b[1,2[az bu]2,1]z");
_builder_2.newLine();
_builder_2.append("------------------------------------");
_builder_2.newLine();
_builder_2.append("1: D 2-1 Region -> Location[1,5]");
_builder_2.newLine();
_builder_2.append("2: D 5-1 Region -> Location[1,5]");
_builder_2.newLine();
this.operator_tripleEquals(tester, _builder_2);
}
use of org.eclipse.xtext.generator.trace.ILocationData in project xtext-core by eclipse.
the class TraceRegionToStringTest method twoBounding.
@Test
public void twoBounding() {
final TraceRegionToStringTester tester = new TraceRegionToStringTester();
StringConcatenation _builder = new StringConcatenation();
_builder.append("foobar");
_builder.newLine();
tester.setLocalText(_builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("bazbuz");
_builder_1.newLine();
tester.setRemote1(_builder_1.toString());
SourceRelativeURI _uri1 = tester.getUri1();
TraceRegionToStringTester.Location _location = new TraceRegionToStringTester.Location(0, 6, _uri1);
TraceRegionToStringTester.Region _region = new TraceRegionToStringTester.Region(0, 6, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location)));
final Procedure1<TraceRegionToStringTester.Region> _function = (TraceRegionToStringTester.Region it) -> {
TraceRegionToStringTester.Location _location_1 = new TraceRegionToStringTester.Location(0, 3);
it.addChild(0, 3, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location_1)));
TraceRegionToStringTester.Location _location_2 = new TraceRegionToStringTester.Location(3, 3);
it.addChild(3, 3, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location_2)));
};
TraceRegionToStringTester.Region _doubleArrow = ObjectExtensions.<TraceRegionToStringTester.Region>operator_doubleArrow(_region, _function);
tester.setTrace(_doubleArrow);
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("------- local1 ------- | ------ remote1 -------");
_builder_2.newLine();
_builder_2.append("[1,2[foo]2][3[bar]3,1] | [1,2[baz]2][3[buz]3,1]");
_builder_2.newLine();
_builder_2.append("-----------------------------------------------");
_builder_2.newLine();
_builder_2.append("1: D 0-6 Region -> Location[0,6,remote1] {");
_builder_2.newLine();
_builder_2.append("2: D 0-3 Region -> Location[0,3]");
_builder_2.newLine();
_builder_2.append("3: D 3-3 Region -> Location[3,3]");
_builder_2.newLine();
_builder_2.append("1: }");
_builder_2.newLine();
this.operator_tripleEquals(tester, _builder_2);
}
use of org.eclipse.xtext.generator.trace.ILocationData in project xtext-core by eclipse.
the class TraceRegionToStringTest method twoFrame1.
@Test
public void twoFrame1() {
final TraceRegionToStringTester tester = new TraceRegionToStringTester();
StringConcatenation _builder = new StringConcatenation();
_builder.append("foo bar");
_builder.newLine();
tester.setLocalText(_builder.toString());
TextRegion _textRegion = new TextRegion(1, 5);
tester.setLocalFrame(_textRegion);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("baz buz");
_builder_1.newLine();
tester.setRemote1(_builder_1.toString());
SourceRelativeURI _uri1 = tester.getUri1();
TraceRegionToStringTester.Location _location = new TraceRegionToStringTester.Location(1, 5, _uri1);
TraceRegionToStringTester.Region _region = new TraceRegionToStringTester.Region(0, 7, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location)));
final Procedure1<TraceRegionToStringTester.Region> _function = (TraceRegionToStringTester.Region it) -> {
TraceRegionToStringTester.Location _location_1 = new TraceRegionToStringTester.Location(1, 5);
it.addChild(2, 1, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location_1)));
TraceRegionToStringTester.Location _location_2 = new TraceRegionToStringTester.Location(1, 5);
it.addChild(5, 1, Collections.<ILocationData>unmodifiableList(CollectionLiterals.<ILocationData>newArrayList(_location_2)));
};
TraceRegionToStringTester.Region _doubleArrow = ObjectExtensions.<TraceRegionToStringTester.Region>operator_doubleArrow(_region, _function);
tester.setTrace(_doubleArrow);
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("---- local1 ----- | ---- remote1 ----");
_builder_2.newLine();
_builder_2.append("o[1[o]1] b[2[a]2] | b[1,2[az bu]2,1]z");
_builder_2.newLine();
_builder_2.append("-------------------------------------");
_builder_2.newLine();
_builder_2.append("1: D 2-1 Region -> Location[1,5]");
_builder_2.newLine();
_builder_2.append("2: D 5-1 Region -> Location[1,5]");
_builder_2.newLine();
this.operator_tripleEquals(tester, _builder_2);
}
Aggregations