use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.
the class SerializerPerformanceTest method setup.
@Before
public void setup() {
try {
StringConcatenation _builder = new StringConcatenation();
_builder.append("entities");
_builder.newLine();
{
ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, SerializerPerformanceTest.numberOfElements, true);
for (final Integer i : _doubleDotLessThan) {
_builder.append("\t");
_builder.append("//comment before element");
_builder.newLine();
_builder.append("\t");
_builder.append("Foo /* comment between elements*/ \"Bar\" //comment after element ");
_builder.newLine();
}
}
_builder.append("end");
_builder.newLine();
this.model = this._parseHelper.parse(_builder);
final EList<Entity> entities = this.model.getDomainModel().getEntities();
final Function1<Integer, Boolean> _function = (Integer it) -> {
return Boolean.valueOf((((it).intValue() % SerializerPerformanceTest.editEvery) == 0));
};
final Function1<Integer, Entity> _function_1 = (Integer it) -> {
return entities.get((it).intValue());
};
final Iterable<Entity> removeUs = IterableExtensions.<Integer, Entity>map(IterableExtensions.<Integer>filter(new ExclusiveRange(0, SerializerPerformanceTest.numberOfElements, true), _function), _function_1);
CollectionExtensions.<Entity>removeAll(entities, removeUs);
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.
the class HiddenTokenSequencerTestLanguageSemanticSequencer 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 == HiddentokensequencertestPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case HiddentokensequencertestPackage.DOMAIN_MODEL:
sequence_DomainModel(context, (DomainModel) semanticObject);
return;
case HiddentokensequencertestPackage.ENTITY:
sequence_Entity(context, (Entity) semanticObject);
return;
case HiddentokensequencertestPackage.MODEL:
sequence_Model(context, (Model) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.
the class SerializationAfterModelChangeTest method testAddElementAfterInlineComment.
@Test
public void testAddElementAfterInlineComment() throws Exception {
Model model = parseHelper.parse("entities\n" + " Foo \"Bar\" //inline comment before inserted element\n" + "end\n");
Entity event = HiddentokensequencertestFactory.eINSTANCE.createEntity();
event.setName("Baz");
event.setDescription("Fizzle");
model.getDomainModel().getEntities().add(event);
assertSerializesTo(model, "entities\n" + " Foo \"Bar\" //inline comment before inserted element\n" + "Baz \"Fizzle\" end");
}
use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.
the class SerializationAfterModelChangeTest method smokeTest.
@Test
public void smokeTest() throws Exception {
Model model = parseHelper.parse("entities\n" + " //before existing element\n" + " Foo /* within existing element */ \"Bar\" /* after existing element*/\n" + " \n" + " //unrelated comment\n" + " \n" + " //before deleted element\n" + " Baz \"Fizzle\" /* after deleted element */\n" + " \n" + " //between deleted elements\n" + " \n" + " //another deleted element\n" + " Blurb /* a comment within a deleted element */ \"Bla\"\n" + " \n" + " //before inserted element\n" + "end\n");
Entity event = HiddentokensequencertestFactory.eINSTANCE.createEntity();
event.setName("AAA");
event.setDescription("BBB");
model.getDomainModel().getEntities().remove(1);
model.getDomainModel().getEntities().remove(1);
model.getDomainModel().getEntities().add(event);
assertSerializesTo(model, "entities\n" + " //before existing element\n" + " Foo /* within existing element */ \"Bar\" /* after existing element*/\n" + " \n" + " //unrelated comment\n" + " \n" + " \n" + " \n" + " //between deleted elements\n" + " \n" + " \n" + " \n" + " //before inserted element\n" + "AAA \"BBB\" end");
}
use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.
the class SerializationAfterModelChangeTest method testMoveElement.
/**
* TODO does not work yet, because HiddenTokenSequencer always searches in
* one direction, but the order of the elements has changed here.
*/
@Test
@Ignore
public void testMoveElement() throws Exception {
Model model = parseHelper.parse("entities\n" + " Foo \"Bar\"\n" + "\n //comment between elements\n" + " \n" + " Baz \"Fizzle\"\n" + "end\n");
Entity head = Iterables.getFirst(model.getDomainModel().getEntities(), null);
model.getDomainModel().getEntities().move(1, head);
assertSerializesTo(model, "entities\n" + " Baz \"Fizzle\"\n" + "\n //comment between elements\n" + " \n" + " Foo \"Bar\"\n" + "end\n");
}
Aggregations