Added filter with primitive type parameter.
Change-Id: I462e01ecad5276db0a30b7c80c227bbda06495c0
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstSerializer.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstSerializer.java
index ad25d33..c8cb727 100644
--- a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstSerializer.java
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstSerializer.java
@@ -73,7 +73,10 @@
*/
private StringBuilder builder;
- final Map<String, String> ePackagesURItoName = new HashMap<>();
+ /**
+ * The mapping form nsURI to name.
+ */
+ private final Map<String, String> ePackagesURItoName = new HashMap<>();
/**
* Serializes the given {@link Expression}.
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstValidator.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstValidator.java
index 130229d..fb5c48c 100644
--- a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstValidator.java
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/parser/AstValidator.java
@@ -55,6 +55,7 @@
import org.eclipse.acceleo.query.runtime.impl.ValidationMessage;
import org.eclipse.acceleo.query.runtime.impl.ValidationResult;
import org.eclipse.acceleo.query.runtime.impl.ValidationServices;
+import org.eclipse.acceleo.query.validation.type.ClassLiteralType;
import org.eclipse.acceleo.query.validation.type.ClassType;
import org.eclipse.acceleo.query.validation.type.EClassifierLiteralType;
import org.eclipse.acceleo.query.validation.type.EClassifierSetLiteralType;
@@ -903,7 +904,8 @@
.getValue()));
} else if (object.getValue() instanceof Class<?>) {
possibleTypes = new LinkedHashSet<IType>();
- possibleTypes.add(new ClassType(services.getQueryEnvironment(), (Class<?>)object.getValue()));
+ possibleTypes.add(new ClassLiteralType(services.getQueryEnvironment(), (Class<?>)object
+ .getValue()));
} else {
throw new UnsupportedOperationException(SHOULD_NEVER_HAPPEN);
}
@@ -1272,6 +1274,8 @@
for (EClassifier eClassifier : ((EClassifierSetLiteralType)iType).getEClassifiers()) {
res.add(new EClassifierType(queryEnvironment, eClassifier));
}
+ } else if (iType instanceof ClassLiteralType) {
+ res.add(new ClassType(queryEnvironment, ((ClassLiteralType)iType).getType()));
} else {
res.add(iType);
}
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/JavaMethodService.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/JavaMethodService.java
index 8da25aa..d8aa9fd 100644
--- a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/JavaMethodService.java
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/JavaMethodService.java
@@ -24,6 +24,7 @@
import org.eclipse.acceleo.query.runtime.IReadOnlyQueryEnvironment;
import org.eclipse.acceleo.query.runtime.IValidationResult;
import org.eclipse.acceleo.query.runtime.impl.completion.JavaMethodServiceCompletionProposal;
+import org.eclipse.acceleo.query.validation.type.ClassLiteralType;
import org.eclipse.acceleo.query.validation.type.ClassType;
import org.eclipse.acceleo.query.validation.type.EClassifierLiteralType;
import org.eclipse.acceleo.query.validation.type.EClassifierType;
@@ -269,6 +270,8 @@
cls = Object.class;
}
}
+ } else if (iType instanceof ClassLiteralType) {
+ cls = Class.class;
} else if (iType instanceof IJavaType) {
cls = ((IJavaType)iType).getType();
} else {
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/ValidationServices.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/ValidationServices.java
index a58004b..b07e82c 100644
--- a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/ValidationServices.java
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/runtime/impl/ValidationServices.java
@@ -26,6 +26,7 @@
import org.eclipse.acceleo.query.runtime.IReadOnlyQueryEnvironment;
import org.eclipse.acceleo.query.runtime.IService;
import org.eclipse.acceleo.query.runtime.IValidationResult;
+import org.eclipse.acceleo.query.validation.type.ClassLiteralType;
import org.eclipse.acceleo.query.validation.type.ClassType;
import org.eclipse.acceleo.query.validation.type.EClassifierLiteralType;
import org.eclipse.acceleo.query.validation.type.EClassifierType;
@@ -420,6 +421,8 @@
if (type1.isAssignableFrom(type2) || type1.getType() == EcorePackage.eINSTANCE.getEObject()) {
if (type2 instanceof EClassifierLiteralType) {
result = new EClassifierType(queryEnvironment, ((EClassifierLiteralType)type2).getType());
+ } else if (type2 instanceof ClassLiteralType) {
+ result = new ClassType(queryEnvironment, ((ClassLiteralType)type2).getType());
} else {
result = type2;
}
@@ -427,6 +430,8 @@
.getEObject()) {
if (type1 instanceof EClassifierLiteralType) {
result = new EClassifierType(queryEnvironment, ((EClassifierLiteralType)type1).getType());
+ } else if (type1 instanceof ClassLiteralType) {
+ result = new ClassType(queryEnvironment, ((ClassLiteralType)type1).getType());
} else {
result = type1;
}
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/services/CollectionServices.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/services/CollectionServices.java
index f506de0..c2c1084 100644
--- a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/services/CollectionServices.java
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/services/CollectionServices.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2015, 2017 Obeo.
+ * Copyright (c) 2015, 2020 Obeo.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -15,7 +15,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -43,6 +42,7 @@
import org.eclipse.acceleo.query.runtime.impl.LambdaValue;
import org.eclipse.acceleo.query.runtime.impl.Nothing;
import org.eclipse.acceleo.query.runtime.impl.ValidationServices;
+import org.eclipse.acceleo.query.validation.type.ClassLiteralType;
import org.eclipse.acceleo.query.validation.type.ClassType;
import org.eclipse.acceleo.query.validation.type.EClassifierSetLiteralType;
import org.eclipse.acceleo.query.validation.type.EClassifierType;
@@ -688,7 +688,7 @@
java.util.List<IType> argTypes) {
final Set<IType> result = new LinkedHashSet<IType>();
- final Set<EClassifierType> rawTypes = new LinkedHashSet<EClassifierType>();
+ final Set<IType> rawTypes = new LinkedHashSet<IType>();
final IType receiverType = argTypes.get(0);
if (receiverType instanceof NothingType) {
@@ -696,6 +696,8 @@
} else if (receiverType instanceof ICollectionType && ((ICollectionType)receiverType)
.getCollectionType() instanceof NothingType) {
result.add(receiverType);
+ } else if (argTypes.get(1) instanceof ClassLiteralType) {
+ rawTypes.add(new ClassType(queryEnvironment, ((ClassLiteralType)argTypes.get(1)).getType()));
} else if (argTypes.get(1) instanceof ClassType && ((ClassType)argTypes.get(1))
.getType() == null) {
result.add(services.nothing("EClassifier on %s cannot be null.", getName()));
@@ -707,7 +709,7 @@
rawTypes.add(new EClassifierType(queryEnvironment, eCls));
}
}
- for (EClassifierType rawType : rawTypes) {
+ for (IType rawType : rawTypes) {
result.add(createReturnCollectionWithType(queryEnvironment, rawType));
}
@@ -1875,6 +1877,38 @@
// @formatter:off
@Documentation(
+ value = "Keeps only instances of the given primitive type (String, Integer, Real, Boolean) from the given set.",
+ params = {
+ @Param(name = "set", value = "The input set to filter"),
+ @Param(name = "cls", value = "The type used to filters element in the set")
+ },
+ result = "A new set containing instances of the given primitive type or null if the given set is null",
+ examples = {
+ @Example(expression = "OrderedSet{'a', 1, 3.14}->filter(String)", result = "OrederedSet{'a'}")
+ }
+ )
+ // @formatter:on
+ public <T> Set<T> filter(Set<T> set, Class<?> cls) {
+ final Set<T> result;
+
+ if (set == null) {
+ result = null;
+ } else if (cls != null) {
+ result = new LinkedHashSet<T>();
+ for (T value : set) {
+ if (cls.isInstance(value)) {
+ result.add(value);
+ }
+ }
+ } else {
+ result = new LinkedHashSet<T>();
+ }
+
+ return result;
+ }
+
+ // @formatter:off
+ @Documentation(
value = "Keeps only instances of the given EClassifier from the given set.",
params = {
@Param(name = "set", value = "The input set to filter"),
@@ -1887,7 +1921,7 @@
}
)
// @formatter:on
- public <T> Set<T> filter(Set<T> set, final EClassifier eClassifier) {
+ public <T> Set<T> filter(Set<T> set, EClassifier eClassifier) {
final Set<T> result;
if (set == null) {
@@ -1917,7 +1951,7 @@
}
)
// @formatter:on
- public <T> Set<T> filter(Set<T> set, final Set<EClassifier> eClassifiers) {
+ public <T> Set<T> filter(Set<T> set, Set<EClassifier> eClassifiers) {
final Set<T> result;
if (set == null) {
@@ -1941,6 +1975,38 @@
// @formatter:off
@Documentation(
+ value = "Keeps only instances of the given primitive type (String, Integer, Real, Boolean) from the given sequence.",
+ params = {
+ @Param(name = "sequence", value = "The input sequence to filter"),
+ @Param(name = "cls", value = "The type used to filters element in the sequence")
+ },
+ result = "A new sequence containing instances of the given primitive type or null if the given sequence is null",
+ examples = {
+ @Example(expression = "Sequence{'a', 1, 3.14}->filter(String)", result = "Sequence{'a'}")
+ }
+ )
+ // @formatter:on
+ public <T> List<T> filter(List<T> sequence, Class<?> cls) {
+ final List<T> result;
+
+ if (sequence == null) {
+ result = null;
+ } else if (cls != null) {
+ result = new ArrayList<T>();
+ for (T value : sequence) {
+ if (cls.isInstance(value)) {
+ result.add(value);
+ }
+ }
+ } else {
+ result = new ArrayList<T>();
+ }
+
+ return result;
+ }
+
+ // @formatter:off
+ @Documentation(
value = "Keeps only instances of the given EClassifier in the given sequence.",
params = {
@Param(name = "sequence", value = "The input sequence to filter"),
@@ -1953,7 +2019,7 @@
}
)
// @formatter:on
- public <T> List<T> filter(List<T> sequence, final EClassifier eClassifier) {
+ public <T> List<T> filter(List<T> sequence, EClassifier eClassifier) {
final List<T> result;
if (sequence == null) {
@@ -1983,7 +2049,7 @@
}
)
// @formatter:on
- public <T> List<T> filter(List<T> sequence, final Set<EClassifier> eClassifiers) {
+ public <T> List<T> filter(List<T> sequence, Set<EClassifier> eClassifiers) {
final List<T> result;
if (sequence == null) {
@@ -2890,52 +2956,4 @@
return res;
}
- /**
- * Evaluates a lambda then uses the result as comparables.
- */
- private static final class LambdaComparator<T> implements Comparator<T> {
- /**
- * Pre-populated map linking the objects from the collection we're sorting with the values calculated
- * by this lambda.
- */
- private final Map<T, Object> preComputedValues;
-
- /**
- * Constructs a comparator given its lambda.
- *
- * @param lambda
- * the lambda providing our comparables.
- */
- LambdaComparator(Map<T, Object> preComputedValues) {
- this.preComputedValues = preComputedValues;
- }
-
- @Override
- public int compare(T o1, T o2) {
- final int result;
-
- Object o1Result = preComputedValues.get(o1);
- Object o2Result = preComputedValues.get(o2);
- try {
- if (o1Result instanceof Comparable<?>) {
- @SuppressWarnings("unchecked")
- Comparable<Object> c1 = (Comparable<Object>)o1Result;
- result = c1.compareTo(o2Result);
- } else if (o2Result instanceof Comparable<?>) {
- @SuppressWarnings("unchecked")
- Comparable<Object> c2 = (Comparable<Object>)o2Result;
- result = -c2.compareTo(o1Result);
- } else {
- result = 0;
- }
- // CHECKSTYLE:OFF
- } catch (Exception e) {
- // CHECKSTYLE:ON
- throw new IllegalArgumentException("Cannot compare " + o1 + " with " + o2, e);
- }
-
- return result;
- }
- }
-
}
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/services/LambdaComparator.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/services/LambdaComparator.java
new file mode 100644
index 0000000..01a6819
--- /dev/null
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/services/LambdaComparator.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2015, 2020 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.acceleo.query.services;
+
+import java.util.Comparator;
+import java.util.Map;
+
+/**
+ * Evaluates a lambda then uses the result as comparables.
+ */
+final class LambdaComparator<T> implements Comparator<T> {
+ /**
+ * Pre-populated map linking the objects from the collection we're sorting with the values calculated by
+ * this lambda.
+ */
+ private final Map<T, Object> preComputedValues;
+
+ /**
+ * Constructs a comparator given its lambda.
+ *
+ * @param preComputedValues
+ * Pre-populated map linking the objects from the collection we're sorting with the values
+ * calculated by this lambda
+ */
+ LambdaComparator(Map<T, Object> preComputedValues) {
+ this.preComputedValues = preComputedValues;
+ }
+
+ @Override
+ public int compare(T o1, T o2) {
+ final int result;
+
+ Object o1Result = preComputedValues.get(o1);
+ Object o2Result = preComputedValues.get(o2);
+ try {
+ if (o1Result instanceof Comparable<?>) {
+ @SuppressWarnings("unchecked")
+ Comparable<Object> c1 = (Comparable<Object>)o1Result;
+ result = c1.compareTo(o2Result);
+ } else if (o2Result instanceof Comparable<?>) {
+ @SuppressWarnings("unchecked")
+ Comparable<Object> c2 = (Comparable<Object>)o2Result;
+ result = -c2.compareTo(o1Result);
+ } else {
+ result = 0;
+ }
+ // CHECKSTYLE:OFF
+ } catch (Exception e) {
+ // CHECKSTYLE:ON
+ throw new IllegalArgumentException("Cannot compare " + o1 + " with " + o2, e);
+ }
+
+ return result;
+ }
+}
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/AbstractType.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/AbstractType.java
index 2d46a47..c46567b 100644
--- a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/AbstractType.java
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/AbstractType.java
@@ -1,15 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2015 Obeo.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Obeo - initial API and implementation
- *******************************************************************************/
-/*******************************************************************************
- * Copyright (c) 2015 Obeo.
+ * Copyright (c) 2015, 2020 Obeo.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -110,6 +100,6 @@
*/
@Override
public boolean equals(Object obj) {
- return getClass() == obj.getClass() && ((AbstractType)obj).getType().equals(getType());
+ return ((AbstractType)obj).getType().equals(getType());
}
}
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/ClassLiteralType.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/ClassLiteralType.java
new file mode 100644
index 0000000..d5c6a9b
--- /dev/null
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/ClassLiteralType.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2020 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.acceleo.query.validation.type;
+
+import org.eclipse.acceleo.query.runtime.IReadOnlyQueryEnvironment;
+
+/**
+ * {@link Class} literal validation type.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public final class ClassLiteralType extends ClassType {
+
+ /**
+ * Constructor.
+ *
+ * @param queryEnvironment
+ * the {@link IReadOnlyQueryEnvironment}
+ * @param type
+ * the {@link Class}
+ */
+ public ClassLiteralType(IReadOnlyQueryEnvironment queryEnvironment, Class<?> type) {
+ super(queryEnvironment, type);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return "ClassLiteral=" + super.toString();
+ }
+
+}
diff --git a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/ClassType.java b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/ClassType.java
index ba92baf..f312e1a 100644
--- a/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/ClassType.java
+++ b/query/plugins/org.eclipse.acceleo.query/src/org/eclipse/acceleo/query/validation/type/ClassType.java
@@ -17,7 +17,7 @@
*
* @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
*/
-public final class ClassType extends AbstractJavaType implements IJavaType {
+public class ClassType extends AbstractJavaType implements IJavaType {
/**
* The {@link Class}.
@@ -90,9 +90,9 @@
final boolean result;
if (type != null) {
- result = obj.getClass() == getClass() && type.equals(((ClassType)obj).getType());
+ result = obj instanceof ClassType && type.equals(((ClassType)obj).getType());
} else {
- result = obj.getClass() == getClass() && ((ClassType)obj).getType() == null;
+ result = obj instanceof ClassType && ((ClassType)obj).getType() == null;
}
return result;
diff --git a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/parser/tests/CompletionTest.java b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/parser/tests/CompletionTest.java
index 91e62a9..8f8c0a0 100644
--- a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/parser/tests/CompletionTest.java
+++ b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/parser/tests/CompletionTest.java
@@ -266,7 +266,7 @@
public void selfArrowTest() {
final ICompletionResult completionResult = engine.getCompletion("self->", 6, variableTypes);
- assertCompletion(completionResult, 48, "", "", 6, 0, "size()", "including()");
+ assertCompletion(completionResult, 49, "", "", 6, 0, "size()", "including()");
assertNoVariableCompletionProposal(completionResult);
assertNoFeatureCompletionProposal(completionResult);
assertNoEOperationCompletionProposal(completionResult);
@@ -290,7 +290,7 @@
final ICompletionResult arrowCompletionResult = engine.getCompletion("Sequence{self}->", 16,
variableTypes);
- assertCompletion(arrowCompletionResult, 47, "", "", 16, 0, "size()", "select()", "collect()");
+ assertCompletion(arrowCompletionResult, 48, "", "", 16, 0, "size()", "select()", "collect()");
}
@Test
@@ -561,7 +561,7 @@
final ICompletionResult completionResult = engine.getCompletion(
"self.eClassifiers->select(p | self->)", 36, variableTypes);
- assertCompletion(completionResult, 48, "", "", 36, 0, "size()", "first()");
+ assertCompletion(completionResult, 49, "", "", 36, 0, "size()", "first()");
assertNoVariableCompletionProposal(completionResult);
assertNoVariableDeclarationCompletionProposal(completionResult);
}
@@ -588,7 +588,7 @@
final ICompletionResult completionResult = engine.getCompletion(
"self.eClassifiers->select(w | self.eClassifiers->select(p | self->))", 66, variableTypes);
- assertCompletion(completionResult, 48, "", "", 66, 0, "size()", "first()");
+ assertCompletion(completionResult, 49, "", "", 66, 0, "size()", "first()");
assertNoVariableCompletionProposal(completionResult);
assertNoVariableDeclarationCompletionProposal(completionResult);
}
@@ -913,7 +913,7 @@
final ICompletionResult completionResult = engine.getCompletion("OrderedSet{}->", 14, types);
- assertCompletion(completionResult, 48, "", "", 14, 0, "size()", "first()");
+ assertCompletion(completionResult, 49, "", "", 14, 0, "size()", "first()");
assertNoEOperationCompletionProposal(completionResult);
assertNoVariableCompletionProposal(completionResult);
assertNoVariableDeclarationCompletionProposal(completionResult);
@@ -925,7 +925,7 @@
final ICompletionResult completionResult = engine.getCompletion("Sequence{}->", 12, types);
- assertCompletion(completionResult, 47, "", "", 12, 0, "size()", "first()");
+ assertCompletion(completionResult, 48, "", "", 12, 0, "size()", "first()");
assertNoEOperationCompletionProposal(completionResult);
assertNoVariableCompletionProposal(completionResult);
assertNoVariableDeclarationCompletionProposal(completionResult);
@@ -985,7 +985,7 @@
final ICompletionResult completionResult = engine.getCompletion("{ecore::EClass}->", 17,
variableTypes);
- assertCompletion(completionResult, 48, "", "", 17, 0, "size()", "first()");
+ assertCompletion(completionResult, 49, "", "", 17, 0, "size()", "first()");
assertNoVariableCompletionProposal(completionResult);
assertNoVariableDeclarationCompletionProposal(completionResult);
assertNoFeatureCompletionProposal(completionResult);
@@ -1138,7 +1138,7 @@
final ICompletionResult completionResult = engine.getCompletion("self->", 6, types);
- assertCompletion(completionResult, 48, "", "", 6, 0, "size()", "first()");
+ assertCompletion(completionResult, 49, "", "", 6, 0, "size()", "first()");
assertNoEOperationCompletionProposal(completionResult);
assertNoFeatureCompletionProposal(completionResult);
assertNoVariableCompletionProposal(completionResult);
@@ -1154,7 +1154,7 @@
final ICompletionResult completionResult = engine.getCompletion("self->", 6, types);
- assertCompletion(completionResult, 48, "", "", 6, 0, "size()", "first()");
+ assertCompletion(completionResult, 49, "", "", 6, 0, "size()", "first()");
assertNoVariableCompletionProposal(completionResult);
assertNoFeatureCompletionProposal(completionResult);
assertNoEOperationCompletionProposal(completionResult);
@@ -1170,7 +1170,7 @@
final ICompletionResult completionResult = engine.getCompletion("self->", 6, types);
- assertCompletion(completionResult, 47, "", "", 6, 0, "size()", "first()");
+ assertCompletion(completionResult, 48, "", "", 6, 0, "size()", "first()");
assertNoVariableCompletionProposal(completionResult);
assertNoFeatureCompletionProposal(completionResult);
assertNoEOperationCompletionProposal(completionResult);
diff --git a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AbstractServicesValidationTest.java b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AbstractServicesValidationTest.java
index 13082d2..05cb5e4 100644
--- a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AbstractServicesValidationTest.java
+++ b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AbstractServicesValidationTest.java
@@ -22,6 +22,7 @@
import org.eclipse.acceleo.query.runtime.IValidationResult;
import org.eclipse.acceleo.query.runtime.impl.AbstractLanguageServices;
import org.eclipse.acceleo.query.runtime.impl.QueryValidationEngine;
+import org.eclipse.acceleo.query.validation.type.ClassLiteralType;
import org.eclipse.acceleo.query.validation.type.ClassType;
import org.eclipse.acceleo.query.validation.type.EClassifierLiteralType;
import org.eclipse.acceleo.query.validation.type.EClassifierSetLiteralType;
@@ -128,6 +129,10 @@
return new ClassType(getQueryEnvironment(), cls);
}
+ protected ClassType classLiteralType(Class<?> cls) {
+ return new ClassLiteralType(getQueryEnvironment(), cls);
+ }
+
protected EClassifierType eClassifierType(EClassifier eClassifier) {
return new EClassifierType(getQueryEnvironment(), eClassifier);
}
@@ -174,7 +179,9 @@
final Class<?> result;
final Object t = type.getType();
- if (t instanceof Class<?>) {
+ if (type instanceof ClassLiteralType) {
+ result = Class.class;
+ } else if (t instanceof Class<?>) {
result = (Class<?>)t;
} else if (type instanceof EClassifierLiteralType) {
result = EClass.class;
diff --git a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AnyServicesAstValidationTest.java b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AnyServicesAstValidationTest.java
index 5433f3a..b55b707 100644
--- a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AnyServicesAstValidationTest.java
+++ b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/AnyServicesAstValidationTest.java
@@ -373,6 +373,96 @@
}
@Test
+ public void testOclAsTypeSameTypeClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classType(String.class));
+ final IValidationResult validationResult = validate("var.oclAsType(String)", variables.build());
+
+ assertTrue(validationResult.getMessages().isEmpty());
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(String.class)), types);
+ }
+
+ @Test
+ public void testOclAsTypeSameTypeClassLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classLiteralType(String.class));
+ final IValidationResult validationResult = validate("var.oclAsType(String)", variables.build());
+
+ assertTrue(validationResult.getMessages().isEmpty());
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(String.class)), types);
+ }
+
+ @Test
+ public void testOclAsTypeSameTypeEClassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClass()));
+ final IValidationResult validationResult = validate("eCls.oclAsType(ecore::EClass)", variables
+ .build());
+
+ assertTrue(validationResult.getMessages().isEmpty());
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(eClassifierType(EcorePackage.eINSTANCE.getEClass())), types);
+ }
+
+ @Test
+ public void testOclAsTypeNotCompatibleTypeClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classType(String.class));
+ final IValidationResult validationResult = validate("var.oclAsType(Integer)", variables.build());
+
+ final String expectedMessage = "Nothing will be left after calling oclAsType:\n"
+ + "java.lang.String is not compatible with type ClassLiteral=java.lang.Integer";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.ERROR, expectedMessage, 3, 22);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(1, types.size());
+ final Iterator<IType> it = types.iterator();
+ final IType type = it.next();
+ assertTrue(type instanceof NothingType);
+ assertEquals(expectedMessage, ((NothingType)type).getMessage());
+ }
+
+ @Test
+ public void testOclAsTypeNotCompatibleTypeClassLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classLiteralType(String.class));
+ final IValidationResult validationResult = validate("var.oclAsType(Integer)", variables.build());
+
+ final String expectedMessage = "Nothing will be left after calling oclAsType:\n"
+ + "ClassLiteral=java.lang.String is not compatible with type ClassLiteral=java.lang.Integer";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.ERROR, expectedMessage, 3, 22);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(1, types.size());
+ final Iterator<IType> it = types.iterator();
+ final IType type = it.next();
+ assertTrue(type instanceof NothingType);
+ assertEquals(expectedMessage, ((NothingType)type).getMessage());
+ }
+
+ @Test
public void testOclAsTypeNotCompatibleType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierType(
@@ -398,6 +488,31 @@
}
@Test
+ public void testOclAsTypeNotCompatibleTypeECLassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClass()));
+ final IValidationResult validationResult = validate("eCls.oclAsType(ecore::EPackage)", variables
+ .build());
+
+ final String expectedMessage = "Nothing will be left after calling oclAsType:\n"
+ + "EClassifierLiteral=EClass is not compatible with type EClassifierLiteral=EPackage";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.ERROR, expectedMessage, 4, 31);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(1, types.size());
+ final Iterator<IType> it = types.iterator();
+ final IType type = it.next();
+ assertTrue(type instanceof NothingType);
+ assertEquals(expectedMessage, ((NothingType)type).getMessage());
+ }
+
+ @Test
public void testOclAsTypeMayBeCompatibleType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eClasssifier", eClassifierType(
@@ -414,6 +529,22 @@
}
@Test
+ public void testOclAsTypeMayBeCompatibleTypeECLassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eClasssifier", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClassifier()));
+ final IValidationResult validationResult = validate("eClasssifier.oclAsType(ecore::EClass)", variables
+ .build());
+
+ assertTrue(validationResult.getMessages().isEmpty());
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(eClassifierType(EcorePackage.eINSTANCE.getEClass())), types);
+ }
+
+ @Test
public void testOclIsKindOfNullNull() {
final IValidationResult validationResult = validate("null.oclIsKindOf(null)");
@@ -484,6 +615,44 @@
}
@Test
+ public void testOclIsKindOfSameTypeClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsKindOf(String)", variables.build());
+
+ final String expectedMessage = "Always true:\n"
+ + "Nothing inferred when var (java.lang.String) is not kind of ClassLiteral=java.lang.String";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 23);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
+ public void testOclIsKindOfSameTypeClassLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classLiteralType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsKindOf(String)", variables.build());
+
+ final String expectedMessage = "Always true:\n"
+ + "Nothing inferred when var (ClassLiteral=java.lang.String) is not kind of ClassLiteral=java.lang.String";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 23);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testOclIsKindOfSameType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierType(
@@ -505,6 +674,65 @@
}
@Test
+ public void testOclIsKindOfSameTypeEClassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClass()));
+ final IValidationResult validationResult = validate("eCls.oclIsKindOf(ecore::EClass)", variables
+ .build());
+
+ final String expectedMessage = "Always true:\n"
+ + "Nothing inferred when eCls (EClassifierLiteral=EClass) is not kind of EClassifierLiteral=EClass";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 31);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
+ public void testOclIsKindOfNotCompatibleTypeClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsKindOf(Integer)", variables.build());
+
+ final String expectedMessage = "Always false:\n"
+ + "Nothing inferred when var (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 24);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
+ public void testOclIsKindOfNotCompatibleTypeClassLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classLiteralType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsKindOf(Integer)", variables.build());
+
+ final String expectedMessage = "Always false:\n"
+ + "Nothing inferred when var (ClassLiteral=java.lang.String) is kind of ClassLiteral=java.lang.Integer";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 24);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testOclIsKindOfNotCompatibleType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierType(
@@ -526,6 +754,27 @@
}
@Test
+ public void testOclIsKindOfNotCompatibleTypeEClassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClass()));
+ final IValidationResult validationResult = validate("eCls.oclIsKindOf(ecore::EPackage)", variables
+ .build());
+
+ final String expectedMessage = "Always false:\n"
+ + "Nothing inferred when eCls (EClassifierLiteral=EClass) is kind of EClassifierLiteral=EPackage";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 33);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testOclIsKindOfMayBeCompatibleType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eClasssifier", eClassifierType(
@@ -542,6 +791,22 @@
}
@Test
+ public void testOclIsKindOfMayBeCompatibleTypeEClassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eClasssifier", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClassifier()));
+ final IValidationResult validationResult = validate("eClasssifier.oclIsKindOf(ecore::EClass)",
+ variables.build());
+
+ assertTrue(validationResult.getMessages().isEmpty());
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testOclIsTypeOfNullNull() {
final IValidationResult validationResult = validate("null.oclIsTypeOf(null)");
@@ -612,6 +877,44 @@
}
@Test
+ public void testOclIsTypeOfSameTypeClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsTypeOf(String)", variables.build());
+
+ final String expectedMessage = "Always true:\n"
+ + "Nothing inferred when var (java.lang.String) is not type of ClassLiteral=java.lang.String";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 23);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
+ public void testOclIsTypeOfSameTypeClassLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classLiteralType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsTypeOf(String)", variables.build());
+
+ final String expectedMessage = "Always true:\n"
+ + "Nothing inferred when var (ClassLiteral=java.lang.String) is not type of ClassLiteral=java.lang.String";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 23);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testOclIsTypeOfSameType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierType(
@@ -633,6 +936,65 @@
}
@Test
+ public void testOclIsTypeOfSameTypeEClassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClass()));
+ final IValidationResult validationResult = validate("eCls.oclIsTypeOf(ecore::EClass)", variables
+ .build());
+
+ final String expectedMessage = "Always true:\n"
+ + "Nothing inferred when eCls (EClassifierLiteral=EClass) is not type of EClassifierLiteral=EClass";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 31);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
+ public void testOclIsTypeOfNotCompatibleTypeClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsTypeOf(Integer)", variables.build());
+
+ final String expectedMessage = "Always false:\n"
+ + "Nothing inferred when var (java.lang.String) is type of ClassLiteral=java.lang.Integer";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 24);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
+ public void testOclIsTypeOfNotCompatibleTypeClassLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("var", classLiteralType(String.class));
+ final IValidationResult validationResult = validate("var.oclIsTypeOf(Integer)", variables.build());
+
+ final String expectedMessage = "Always false:\n"
+ + "Nothing inferred when var (ClassLiteral=java.lang.String) is type of ClassLiteral=java.lang.Integer";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 24);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testOclIsTypeOfNotCompatibleType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierType(
@@ -654,6 +1016,27 @@
}
@Test
+ public void testOclIsTypeOfNotCompatibleTypeEClassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eCls", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClass()));
+ final IValidationResult validationResult = validate("eCls.oclIsTypeOf(ecore::EPackage)", variables
+ .build());
+
+ final String expectedMessage = "Always false:\n"
+ + "Nothing inferred when eCls (EClassifierLiteral=EClass) is type of EClassifierLiteral=EPackage";
+
+ assertEquals(1, validationResult.getMessages().size());
+ ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
+ ValidationMessageLevel.INFO, expectedMessage, 0, 33);
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testOclIsTypeOfMayBeCompatibleType() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final VariableBuilder variables = new VariableBuilder().addVar("eClasssifier", eClassifierType(
@@ -670,6 +1053,22 @@
}
@Test
+ public void testOclIsTypeOfMayBeCompatibleTypeEClassifierLiteral() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final VariableBuilder variables = new VariableBuilder().addVar("eClasssifier", eClassifierLiteralType(
+ EcorePackage.eINSTANCE.getEClassifier()));
+ final IValidationResult validationResult = validate("eClasssifier.oclIsTypeOf(ecore::EClass)",
+ variables.build());
+
+ assertTrue(validationResult.getMessages().isEmpty());
+
+ final AstResult ast = validationResult.getAstResult();
+ final Set<IType> types = validationResult.getPossibleTypes(ast.getAst());
+
+ assertEquals(Collections.singleton(classType(Boolean.class)), types);
+ }
+
+ @Test
public void testToStringNull() {
final IValidationResult validationResult = validate("null.toString()");
diff --git a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesAstValidationTest.java b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesAstValidationTest.java
index 8541e94..6181082 100644
--- a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesAstValidationTest.java
+++ b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesAstValidationTest.java
@@ -1976,7 +1976,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello'}->select(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 30, 51);
@@ -1992,7 +1992,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello'}->select(i | not i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 34, 56);
@@ -2082,7 +2082,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello'}->select(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 32, 53);
@@ -2098,7 +2098,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello'}->select(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 32, 54);
@@ -2341,7 +2341,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->collect(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 40, 61);
@@ -2357,7 +2357,7 @@
final IValidationResult validationResult = validate(
"Sequence{1, 2}->collect(i | i.oclIsKindOf(String))");
- String message = "Always false:\nNothing inferred when i (java.lang.Integer) is kind of java.lang.String";
+ String message = "Always false:\nNothing inferred when i (java.lang.Integer) is kind of ClassLiteral=java.lang.String";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 28, 49);
@@ -2452,7 +2452,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->collect(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 42, 63);
@@ -2468,7 +2468,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{1, 2}->collect(i | i.oclIsKindOf(String))");
- String message = "Always false:\nNothing inferred when i (java.lang.Integer) is kind of java.lang.String";
+ String message = "Always false:\nNothing inferred when i (java.lang.Integer) is kind of ClassLiteral=java.lang.String";
assertEquals(1, validationResult.getMessages().size());
ValidationTest.assertValidationMessage(validationResult.getMessages().get(0),
ValidationMessageLevel.INFO, message, 30, 51);
@@ -3419,7 +3419,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->any(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3436,7 +3436,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->any(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3550,7 +3550,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->any(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3567,7 +3567,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->any(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3753,7 +3753,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->exists(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3770,7 +3770,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->exists(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3877,7 +3877,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->exists(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3894,7 +3894,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->exists(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -3989,7 +3989,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->forAll(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4006,7 +4006,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->forAll(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4113,7 +4113,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->forAll(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4130,7 +4130,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->forAll(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4739,7 +4739,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->isUnique(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4756,7 +4756,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->isUnique(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4849,7 +4849,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->isUnique(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4866,7 +4866,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->isUnique(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4947,7 +4947,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->one(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -4964,7 +4964,7 @@
final IValidationResult validationResult = validate(
"Sequence{'hello', 'world'}->one(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -5070,7 +5070,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->one(i | i.oclIsKindOf(String))");
- String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of java.lang.String";
+ String message = "Always true:\nNothing inferred when i (java.lang.String) is not kind of ClassLiteral=java.lang.String";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
@@ -5087,7 +5087,7 @@
final IValidationResult validationResult = validate(
"OrderedSet{'hello', 'world'}->one(i | i.oclIsKindOf(Integer))");
- String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of java.lang.Integer";
+ String message = "Always false:\nNothing inferred when i (java.lang.String) is kind of ClassLiteral=java.lang.Integer";
assertFalse(validationResult.getMessages().isEmpty());
assertEquals(1, validationResult.getMessages().size());
assertEquals(message, validationResult.getMessages().get(0).getMessage());
diff --git a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesTest.java b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesTest.java
index 5b4a8c2..29e7e36 100644
--- a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesTest.java
+++ b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesTest.java
@@ -2535,6 +2535,47 @@
}
@Test
+ public void testFilterSetNullSetAndNullClass() {
+ final Set<Object> result = collectionServices.filter((Set<Object>)null, (Class)null);
+
+ assertEquals(null, result);
+ }
+
+ @Test
+ public void testFilterSetNullSetClass() {
+ final Set<Object> result = collectionServices.filter((Set<Object>)null, String.class);
+
+ assertEquals(null, result);
+ }
+
+ @Test
+ public void testFilterSetNullClass() {
+ final Set<Object> set = new LinkedHashSet<>();
+ set.add(this);
+ set.add("");
+ set.add(EcorePackage.eINSTANCE);
+ set.add(EcorePackage.eINSTANCE.getEClass());
+
+ final Set<Object> result = collectionServices.filter(set, (Class)null);
+
+ assertEquals(0, result.size());
+ }
+
+ @Test
+ public void testFilterSetClass() {
+ final Set<Object> set = new LinkedHashSet<>();
+ set.add(this);
+ set.add("");
+ set.add(EcorePackage.eINSTANCE);
+ set.add(EcorePackage.eINSTANCE.getEClass());
+
+ final Set<Object> result = collectionServices.filter(set, String.class);
+
+ assertEquals(1, result.size());
+ assertTrue(result.contains(""));
+ }
+
+ @Test
public void testFilterSetNullSetAndNullType() {
final Set<Object> result = collectionServices.filter((Set<Object>)null, (EClassifier)null);
@@ -2577,6 +2618,47 @@
}
@Test
+ public void testFilterListNullListAndNullClass() {
+ final List<Object> result = collectionServices.filter((List<Object>)null, (Class)null);
+
+ assertEquals(null, result);
+ }
+
+ @Test
+ public void testFilterListNullListClass() {
+ final List<Object> result = collectionServices.filter((List<Object>)null, String.class);
+
+ assertEquals(null, result);
+ }
+
+ @Test
+ public void testFilterListNullClass() {
+ final List<Object> list = new ArrayList<>();
+ list.add(this);
+ list.add("");
+ list.add(EcorePackage.eINSTANCE);
+ list.add(EcorePackage.eINSTANCE.getEClass());
+
+ final List<Object> result = collectionServices.filter(list, (Class)null);
+
+ assertEquals(0, result.size());
+ }
+
+ @Test
+ public void testFilterListClass() {
+ final List<Object> list = new ArrayList<>();
+ list.add(this);
+ list.add("");
+ list.add(EcorePackage.eINSTANCE);
+ list.add(EcorePackage.eINSTANCE.getEClass());
+
+ final List<Object> result = collectionServices.filter(list, EcorePackage.eINSTANCE.getEPackage());
+
+ assertEquals(1, result.size());
+ assertTrue(result.contains(EcorePackage.eINSTANCE));
+ }
+
+ @Test
public void testFilterListNullListAndNullType() {
final List<Object> result = collectionServices.filter((List<Object>)null, (EClassifier)null);
diff --git a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesValidationTest.java b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesValidationTest.java
index fdafb11..bf148ee 100644
--- a/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesValidationTest.java
+++ b/query/tests/org.eclipse.acceleo.query.tests/src/org/eclipse/acceleo/query/services/tests/CollectionServicesValidationTest.java
@@ -1085,7 +1085,17 @@
}
@Test
- public void testFilterList() {
+ public void testFilterListClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final IType[] parameterTypes = new IType[] {sequenceType(eClassifierType(EcorePackage.eINSTANCE
+ .getEClassifier())), classLiteralType(String.class) };
+ final IType[] expectedReturnTypes = new IType[] {sequenceType(classType(String.class)) };
+
+ assertValidation(expectedReturnTypes, "filter", parameterTypes);
+ }
+
+ @Test
+ public void testFilterListEClassifier() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final IType[] parameterTypes = new IType[] {sequenceType(eClassifierType(EcorePackage.eINSTANCE
.getEClassifier())), eClassifierLiteralType(EcorePackage.eINSTANCE.getEClass()) };
@@ -1096,7 +1106,17 @@
}
@Test
- public void testFilterSet() {
+ public void testFilterSetClass() {
+ getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
+ final IType[] parameterTypes = new IType[] {setType(eClassifierType(EcorePackage.eINSTANCE
+ .getEClassifier())), classLiteralType(String.class) };
+ final IType[] expectedReturnTypes = new IType[] {setType(classType(String.class)) };
+
+ assertValidation(expectedReturnTypes, "filter", parameterTypes);
+ }
+
+ @Test
+ public void testFilterSetEClassifier() {
getQueryEnvironment().registerEPackage(EcorePackage.eINSTANCE);
final IType[] parameterTypes = new IType[] {setType(eClassifierType(EcorePackage.eINSTANCE
.getEClassifier())), eClassifierLiteralType(EcorePackage.eINSTANCE.getEClass()) };
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet
index a977609..1f598bc 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet
@@ -347,6 +347,10 @@
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => true
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size() => 0
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(String) => test
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Integer) => 1
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Boolean) => true
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Real) => 2.2
@Test strings -> subOrderedSet(1,2) => ab
@Test integers -> subOrderedSet(1,2) => 12
@Test reals -> subOrderedSet(1,2) => 1.22.1
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl
index 4930f7f..a027b1e 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl
@@ -369,13 +369,10 @@
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p/]
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size() => [OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size()/]
-[comment]A4-UNSUPPORTED(LOT1) WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)[/comment]
-[comment]
-[OrderedSet{p,'test',true,1,2.2} -> filter(String)/]
-[OrderedSet{p,'test',true,1,2.2} -> filter(Integer)/]
-[OrderedSet{p,'test',true,1,2.2} -> filter(Boolean)/]
-[OrderedSet{p,'test',true,1,2.2} -> filter(Real)/]
-[/comment]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(String) => [OrderedSet{p,'test',true,1,2.2} -> filter(String)/]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Integer) => [OrderedSet{p,'test',true,1,2.2} -> filter(Integer)/]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Boolean) => [OrderedSet{p,'test',true,1,2.2} -> filter(Boolean)/]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Real) => [OrderedSet{p,'test',true,1,2.2} -> filter(Real)/]
[comment]TODO symmetricDifference(s), [/comment]
@Test strings -> subOrderedSet(1,2) => [strings -> subOrderedSet(1,2)/]
@Test integers -> subOrderedSet(1,2) => [integers -> subOrderedSet(1,2)/]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence
index 156e525..f7f500e 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence
@@ -348,6 +348,10 @@
@Test Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => true
@Test Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size() => 0
+@Test Sequence{p,'test',true,1,2.2} -> filter(String) => test
+@Test Sequence{p,'test',true,1,2.2} -> filter(Integer) => 1
+@Test Sequence{p,'test',true,1,2.2} -> filter(Boolean) => true
+@Test Sequence{p,'test',true,1,2.2} -> filter(Real) => 2.2
@Test strings -> subSequence(1,2) => ab
@Test integers -> subSequence(1,2) => 12
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl
index 28343cb..9be9ae1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl
@@ -369,13 +369,10 @@
@Test Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p/]
@Test Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size() => [Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size()/]
-[comment]A4-UNSUPPORTED(LOT1) WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)[/comment]
-[comment]
-[Sequence{p,'test',true,1,2.2} -> filter(String)/]
-[Sequence{p,'test',true,1,2.2} -> filter(Integer)/]
-[Sequence{p,'test',true,1,2.2} -> filter(Boolean)/]
-[Sequence{p,'test',true,1,2.2} -> filter(Real)/]
-[/comment]
+@Test Sequence{p,'test',true,1,2.2} -> filter(String) => [Sequence{p,'test',true,1,2.2} -> filter(String)/]
+@Test Sequence{p,'test',true,1,2.2} -> filter(Integer) => [Sequence{p,'test',true,1,2.2} -> filter(Integer)/]
+@Test Sequence{p,'test',true,1,2.2} -> filter(Boolean) => [Sequence{p,'test',true,1,2.2} -> filter(Boolean)/]
+@Test Sequence{p,'test',true,1,2.2} -> filter(Real) => [Sequence{p,'test',true,1,2.2} -> filter(Real)/]
@Test strings -> subSequence(1,2) => [strings -> subSequence(1,2)/]
@Test integers -> subSequence(1,2) => [integers -> subSequence(1,2)/]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS
index 0209ecf..f002abd 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS
@@ -551,6 +551,10 @@
collections.oclIsUndefined()
Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p
Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size()
+ Sequence{p,'test',true,1,2.2} -> filter(String)
+ Sequence{p,'test',true,1,2.2} -> filter(Integer)
+ Sequence{p,'test',true,1,2.2} -> filter(Boolean)
+ Sequence{p,'test',true,1,2.2} -> filter(Real)
strings -> subSequence(1,2)
integers -> subSequence(1,2)
reals -> subSequence(1,2)
@@ -884,6 +888,10 @@
collections.oclIsUndefined()
OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p
OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size()
+ OrderedSet{p,'test',true,1,2.2} -> filter(String)
+ OrderedSet{p,'test',true,1,2.2} -> filter(Integer)
+ OrderedSet{p,'test',true,1,2.2} -> filter(Boolean)
+ OrderedSet{p,'test',true,1,2.2} -> filter(Real)
strings -> subOrderedSet(1,2)
integers -> subOrderedSet(1,2)
reals -> subOrderedSet(1,2)
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO
index 6a8f9e1..858228a 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO
@@ -58,7 +58,6 @@
removeAll
selectByKind
selectByType
- (LOT1) WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)
orderedSetsServices
addAll
collectNested
@@ -74,4 +73,3 @@
removeAll
selectByKind
selectByType
- (LOT1) WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO_lot1 b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO_lot1
index ee319cd..c7db789 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO_lot1
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO_lot1
@@ -16,7 +16,3 @@
TODO implement getProperties
numericServices
WIP https://git.eclipse.org/r/#/c/163019/ operations between Real And Integers
-sequencesServices
- WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)
-orderedSetsServices
- WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/numericServices/numericServices-expected-validation.txt b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/numericServices/numericServices-expected-validation.txt
index 4cf332b..c7e5685 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/numericServices/numericServices-expected-validation.txt
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/numericServices/numericServices-expected-validation.txt
@@ -1,16 +1,16 @@
INFO Always true:
-Nothing inferred when var2 (java.lang.Integer) is not type of java.lang.Integer - 395 420
+Nothing inferred when var2 (java.lang.Integer) is not type of ClassLiteral=java.lang.Integer - 395 420
INFO Always false:
Nothing inferred when var2 (java.lang.Integer) is type of EClassifierLiteral=EPackage - 468 501
INFO Always true:
-Nothing inferred when var2 (java.lang.Integer) is not kind of java.lang.Integer - 548 573
+Nothing inferred when var2 (java.lang.Integer) is not kind of ClassLiteral=java.lang.Integer - 548 573
INFO Always false:
Nothing inferred when var2 (java.lang.Integer) is kind of EClassifierLiteral=EPackage - 621 654
INFO Always true:
-Nothing inferred when var1 (java.lang.Double) is not type of java.lang.Double - 2825 2847
+Nothing inferred when var1 (java.lang.Double) is not type of ClassLiteral=java.lang.Double - 2825 2847
INFO Always false:
Nothing inferred when var1 (java.lang.Double) is type of EClassifierLiteral=EPackage - 2895 2928
INFO Always true:
-Nothing inferred when var1 (java.lang.Double) is not kind of java.lang.Double - 2972 2994
+Nothing inferred when var1 (java.lang.Double) is not kind of ClassLiteral=java.lang.Double - 2972 2994
INFO Always false:
Nothing inferred when var1 (java.lang.Double) is kind of EClassifierLiteral=EPackage - 3042 3075
\ No newline at end of file
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt
index a977609..1f598bc 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt
@@ -347,6 +347,10 @@
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => true
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size() => 0
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(String) => test
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Integer) => 1
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Boolean) => true
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Real) => 2.2
@Test strings -> subOrderedSet(1,2) => ab
@Test integers -> subOrderedSet(1,2) => 12
@Test reals -> subOrderedSet(1,2) => 1.22.1
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected-validation.txt b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected-validation.txt
index dc4c560..1a0cc13 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected-validation.txt
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected-validation.txt
@@ -1,18 +1,18 @@
INFO Always true:
-Nothing inferred when temp6 (java.lang.String) is not type of java.lang.String - 1331 1356
+Nothing inferred when temp6 (java.lang.String) is not type of ClassLiteral=java.lang.String - 1331 1356
INFO Always true:
-Nothing inferred when temp7 (java.lang.Double) is not type of java.lang.Double - 1447 1470
+Nothing inferred when temp7 (java.lang.Double) is not type of ClassLiteral=java.lang.Double - 1447 1470
INFO Always true:
-Nothing inferred when temp8 (java.lang.Integer) is not type of java.lang.Integer - 1570 1596
+Nothing inferred when temp8 (java.lang.Integer) is not type of ClassLiteral=java.lang.Integer - 1570 1596
INFO Always true:
-Nothing inferred when temp9 (java.lang.Boolean) is not type of java.lang.Boolean - 1696 1722
+Nothing inferred when temp9 (java.lang.Boolean) is not type of ClassLiteral=java.lang.Boolean - 1696 1722
INFO Always true:
-Nothing inferred when temp11 (java.lang.String) is not kind of java.lang.String - 1972 1998
+Nothing inferred when temp11 (java.lang.String) is not kind of ClassLiteral=java.lang.String - 1972 1998
INFO Always true:
-Nothing inferred when temp12 (java.lang.Double) is not kind of java.lang.Double - 2090 2114
+Nothing inferred when temp12 (java.lang.Double) is not kind of ClassLiteral=java.lang.Double - 2090 2114
INFO Always true:
-Nothing inferred when temp13 (java.lang.Integer) is not kind of java.lang.Integer - 2215 2242
+Nothing inferred when temp13 (java.lang.Integer) is not kind of ClassLiteral=java.lang.Integer - 2215 2242
INFO Always true:
-Nothing inferred when temp14 (java.lang.Boolean) is not kind of java.lang.Boolean - 2343 2370
+Nothing inferred when temp14 (java.lang.Boolean) is not kind of ClassLiteral=java.lang.Boolean - 2343 2370
INFO Always true:
Nothing inferred when temp15 (EClassifier=EClassifier) is not kind of EClassifierLiteral=EObject - 2471 2505
\ No newline at end of file
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl
index 1158f8b..b9786f1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl
@@ -358,6 +358,10 @@
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [OrderedSet{p, 'test', true, 1, 2.2}->filter(ecore::EPackage)->first() = p/]
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size() => [OrderedSet{p, 'test', true, 1, 2.2}->filter(ecore::EClass)->size()/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(String) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(String)/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(Integer) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(Integer)/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(Boolean) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(Boolean)/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(Real) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(Real)/]
@Test strings -> subOrderedSet(1,2) => [strings->subOrderedSet(1, 2)/]
@Test integers -> subOrderedSet(1,2) => [integers->subOrderedSet(1, 2)/]
@Test reals -> subOrderedSet(1,2) => [reals->subOrderedSet(1, 2)/]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl
index 4930f7f..a027b1e 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl
@@ -369,13 +369,10 @@
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p/]
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size() => [OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size()/]
-[comment]A4-UNSUPPORTED(LOT1) WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)[/comment]
-[comment]
-[OrderedSet{p,'test',true,1,2.2} -> filter(String)/]
-[OrderedSet{p,'test',true,1,2.2} -> filter(Integer)/]
-[OrderedSet{p,'test',true,1,2.2} -> filter(Boolean)/]
-[OrderedSet{p,'test',true,1,2.2} -> filter(Real)/]
-[/comment]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(String) => [OrderedSet{p,'test',true,1,2.2} -> filter(String)/]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Integer) => [OrderedSet{p,'test',true,1,2.2} -> filter(Integer)/]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Boolean) => [OrderedSet{p,'test',true,1,2.2} -> filter(Boolean)/]
+@Test OrderedSet{p,'test',true,1,2.2} -> filter(Real) => [OrderedSet{p,'test',true,1,2.2} -> filter(Real)/]
[comment]TODO symmetricDifference(s), [/comment]
@Test strings -> subOrderedSet(1,2) => [strings -> subOrderedSet(1,2)/]
@Test integers -> subOrderedSet(1,2) => [integers -> subOrderedSet(1,2)/]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl
index 7fef635..8ee9d80 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl
@@ -5049,6 +5049,158 @@
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>
</body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test OrderedSet{p,'test',true,1,2.2} -> filter(String) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/OrderedSet(String)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/OrderedSet(OclAny)" kind="OrderedSet">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testOrderedSet/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/String">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test OrderedSet{p,'test',true,1,2.2} -> filter(Integer) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/OrderedSet(Integer)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/OrderedSet(OclAny)" kind="OrderedSet">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testOrderedSet/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/Integer">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test OrderedSet{p,'test',true,1,2.2} -> filter(Boolean) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/OrderedSet(Boolean)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/OrderedSet(OclAny)" kind="OrderedSet">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testOrderedSet/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/Boolean">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test OrderedSet{p,'test',true,1,2.2} -> filter(Real) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/OrderedSet(Real)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/OrderedSet(OclAny)" kind="OrderedSet">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testOrderedSet/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/Real">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </argument>
+ </body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@Test strings -> subOrderedSet(1,2) => "/>
<body xsi:type="ocl.ecore:OperationCallExp" eType="/7/OrderedSet(String)">
@@ -6776,47 +6928,59 @@
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ecore:EAnnotation source="positions">
<eAnnotations source="positions.0" references="/0/testOrderedSet">
<details key="start" value="72"/>
- <details key="end" value="29627"/>
+ <details key="end" value="29738"/>
<details key="line" value="3"/>
</eAnnotations>
<eAnnotations source="positions.1" references="/0/testOrderedSet/%">
<details key="start" value="136"/>
- <details key="end" value="29615"/>
+ <details key="end" value="29726"/>
<details key="line" value="5"/>
</eAnnotations>
<eAnnotations source="positions.2" references="/0/testOrderedSet/%/%">
<details key="start" value="251"/>
- <details key="end" value="29607"/>
+ <details key="end" value="29718"/>
<details key="line" value="7"/>
</eAnnotations>
<eAnnotations source="positions.3" references="/0/testOrderedSet/%/%/%">
<details key="start" value="312"/>
- <details key="end" value="29601"/>
+ <details key="end" value="29712"/>
<details key="line" value="8"/>
</eAnnotations>
<eAnnotations source="positions.4" references="/0/testOrderedSet/%/%/%/%">
<details key="start" value="369"/>
- <details key="end" value="29595"/>
+ <details key="end" value="29706"/>
<details key="line" value="9"/>
</eAnnotations>
<eAnnotations source="positions.5" references="/0/testOrderedSet/%/%/%/%/%">
<details key="start" value="426"/>
- <details key="end" value="29589"/>
+ <details key="end" value="29700"/>
<details key="line" value="10"/>
</eAnnotations>
<eAnnotations source="positions.6" references="/0/testOrderedSet/%/%/%/%/%/%">
<details key="start" value="495"/>
- <details key="end" value="29583"/>
+ <details key="end" value="29694"/>
<details key="line" value="11"/>
</eAnnotations>
<eAnnotations source="positions.7" references="/0/testOrderedSet/%/%/%/%/%/%/%">
<details key="start" value="564"/>
- <details key="end" value="29577"/>
+ <details key="end" value="29688"/>
<details key="line" value="12"/>
</eAnnotations>
<eAnnotations source="positions.8" references="/0/testOrderedSet/%/%/%/%/%/%/%/%">
@@ -16276,805 +16440,985 @@
</eAnnotations>
<eAnnotations source="positions.1899" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.509">
<details key="start" value="26676"/>
- <details key="end" value="26677"/>
+ <details key="end" value="26736"/>
<details key="line" value="372"/>
</eAnnotations>
<eAnnotations source="positions.1900" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510">
- <details key="start" value="27063"/>
- <details key="end" value="27102"/>
+ <details key="start" value="26737"/>
+ <details key="end" value="26786"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1901" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510/%">
+ <details key="start" value="26737"/>
+ <details key="end" value="26768"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1902" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510/%/%/p">
+ <details key="start" value="26748"/>
+ <details key="end" value="26749"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1903" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510/%/%.1/%">
+ <details key="start" value="26750"/>
+ <details key="end" value="26756"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1904" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510/%/%.2/%">
+ <details key="start" value="26757"/>
+ <details key="end" value="26761"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1905" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510/%/%.3/%">
+ <details key="start" value="26762"/>
+ <details key="end" value="26763"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1906" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510/%/%.4/%">
+ <details key="start" value="26764"/>
+ <details key="end" value="26767"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1907" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.510/%.1">
+ <details key="start" value="26779"/>
+ <details key="end" value="26785"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1908" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.511">
+ <details key="start" value="26788"/>
+ <details key="end" value="26849"/>
+ <details key="line" value="373"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1909" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512">
+ <details key="start" value="26850"/>
+ <details key="end" value="26900"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1910" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512/%">
+ <details key="start" value="26850"/>
+ <details key="end" value="26881"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1911" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512/%/%/p">
+ <details key="start" value="26861"/>
+ <details key="end" value="26862"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1912" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512/%/%.1/%">
+ <details key="start" value="26863"/>
+ <details key="end" value="26869"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1913" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512/%/%.2/%">
+ <details key="start" value="26870"/>
+ <details key="end" value="26874"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1914" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512/%/%.3/%">
+ <details key="start" value="26875"/>
+ <details key="end" value="26876"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1915" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512/%/%.4/%">
+ <details key="start" value="26877"/>
+ <details key="end" value="26880"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1916" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512/%.1">
+ <details key="start" value="26892"/>
+ <details key="end" value="26899"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1917" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.513">
+ <details key="start" value="26902"/>
+ <details key="end" value="26963"/>
+ <details key="line" value="374"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1918" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514">
+ <details key="start" value="26964"/>
+ <details key="end" value="27014"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1919" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514/%">
+ <details key="start" value="26964"/>
+ <details key="end" value="26995"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1920" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514/%/%/p">
+ <details key="start" value="26975"/>
+ <details key="end" value="26976"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1921" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514/%/%.1/%">
+ <details key="start" value="26977"/>
+ <details key="end" value="26983"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1922" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514/%/%.2/%">
+ <details key="start" value="26984"/>
+ <details key="end" value="26988"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1923" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514/%/%.3/%">
+ <details key="start" value="26989"/>
+ <details key="end" value="26990"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1924" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514/%/%.4/%">
+ <details key="start" value="26991"/>
+ <details key="end" value="26994"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1925" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514/%.1">
+ <details key="start" value="27006"/>
+ <details key="end" value="27013"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1926" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.515">
+ <details key="start" value="27016"/>
+ <details key="end" value="27074"/>
+ <details key="line" value="375"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1927" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516">
+ <details key="start" value="27075"/>
+ <details key="end" value="27122"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1928" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516/%">
+ <details key="start" value="27075"/>
+ <details key="end" value="27106"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1929" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516/%/%/p">
+ <details key="start" value="27086"/>
+ <details key="end" value="27087"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1930" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516/%/%.1/%">
+ <details key="start" value="27088"/>
+ <details key="end" value="27094"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1931" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516/%/%.2/%">
+ <details key="start" value="27095"/>
+ <details key="end" value="27099"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1932" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516/%/%.3/%">
+ <details key="start" value="27100"/>
+ <details key="end" value="27101"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1933" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516/%/%.4/%">
+ <details key="start" value="27102"/>
+ <details key="end" value="27105"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1934" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516/%.1">
+ <details key="start" value="27117"/>
+ <details key="end" value="27121"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1935" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.517">
+ <details key="start" value="27124"/>
+ <details key="end" value="27125"/>
+ <details key="line" value="376"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1936" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.518">
+ <details key="start" value="27174"/>
+ <details key="end" value="27213"/>
+ <details key="line" value="377"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1937" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.519">
+ <details key="start" value="27214"/>
+ <details key="end" value="27243"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1938" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.519/strings">
+ <details key="start" value="27214"/>
+ <details key="end" value="27221"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1939" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.519/%">
+ <details key="start" value="27239"/>
+ <details key="end" value="27240"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1940" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.519/%.1">
+ <details key="start" value="27241"/>
+ <details key="end" value="27242"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1941" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.520">
+ <details key="start" value="27245"/>
+ <details key="end" value="27286"/>
+ <details key="line" value="378"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1942" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.521">
+ <details key="start" value="27287"/>
+ <details key="end" value="27317"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1943" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.521/integers">
+ <details key="start" value="27287"/>
+ <details key="end" value="27295"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1944" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.521/%">
+ <details key="start" value="27313"/>
+ <details key="end" value="27314"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1945" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.521/%.1">
+ <details key="start" value="27315"/>
+ <details key="end" value="27316"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1946" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.522">
+ <details key="start" value="27319"/>
+ <details key="end" value="27357"/>
+ <details key="line" value="379"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1947" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523">
+ <details key="start" value="27358"/>
+ <details key="end" value="27385"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1948" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523/reals">
+ <details key="start" value="27358"/>
+ <details key="end" value="27363"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1949" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523/%">
+ <details key="start" value="27381"/>
+ <details key="end" value="27382"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1950" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523/%.1">
+ <details key="start" value="27383"/>
+ <details key="end" value="27384"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1951" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.524">
+ <details key="start" value="27387"/>
+ <details key="end" value="27428"/>
<details key="line" value="380"/>
</eAnnotations>
- <eAnnotations source="positions.1901" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.511">
- <details key="start" value="27103"/>
- <details key="end" value="27132"/>
+ <eAnnotations source="positions.1952" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525">
+ <details key="start" value="27429"/>
+ <details key="end" value="27459"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1902" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.511/strings">
- <details key="start" value="27103"/>
- <details key="end" value="27110"/>
+ <eAnnotations source="positions.1953" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525/booleans">
+ <details key="start" value="27429"/>
+ <details key="end" value="27437"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1903" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.511/%">
- <details key="start" value="27128"/>
- <details key="end" value="27129"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1904" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.511/%.1">
- <details key="start" value="27130"/>
- <details key="end" value="27131"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1905" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.512">
- <details key="start" value="27134"/>
- <details key="end" value="27175"/>
- <details key="line" value="381"/>
- </eAnnotations>
- <eAnnotations source="positions.1906" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.513">
- <details key="start" value="27176"/>
- <details key="end" value="27206"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1907" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.513/integers">
- <details key="start" value="27176"/>
- <details key="end" value="27184"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1908" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.513/%">
- <details key="start" value="27202"/>
- <details key="end" value="27203"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1909" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.513/%.1">
- <details key="start" value="27204"/>
- <details key="end" value="27205"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1910" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.514">
- <details key="start" value="27208"/>
- <details key="end" value="27246"/>
- <details key="line" value="382"/>
- </eAnnotations>
- <eAnnotations source="positions.1911" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.515">
- <details key="start" value="27247"/>
- <details key="end" value="27274"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1912" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.515/reals">
- <details key="start" value="27247"/>
- <details key="end" value="27252"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1913" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.515/%">
- <details key="start" value="27270"/>
- <details key="end" value="27271"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1914" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.515/%.1">
- <details key="start" value="27272"/>
- <details key="end" value="27273"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1915" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.516">
- <details key="start" value="27276"/>
- <details key="end" value="27317"/>
- <details key="line" value="383"/>
- </eAnnotations>
- <eAnnotations source="positions.1916" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.517">
- <details key="start" value="27318"/>
- <details key="end" value="27348"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1917" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.517/booleans">
- <details key="start" value="27318"/>
- <details key="end" value="27326"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1918" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.517/%">
- <details key="start" value="27344"/>
- <details key="end" value="27345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1919" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.517/%.1">
- <details key="start" value="27346"/>
- <details key="end" value="27347"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1920" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.518">
- <details key="start" value="27350"/>
- <details key="end" value="27408"/>
- <details key="line" value="384"/>
- </eAnnotations>
- <eAnnotations source="positions.1921" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41">
- <details key="start" value="27409"/>
+ <eAnnotations source="positions.1954" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525/%">
+ <details key="start" value="27455"/>
<details key="end" value="27456"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1922" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%">
- <details key="start" value="27409"/>
- <details key="end" value="27439"/>
+ <eAnnotations source="positions.1955" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525/%.1">
+ <details key="start" value="27457"/>
+ <details key="end" value="27458"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1923" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%/eClasses">
- <details key="start" value="27409"/>
- <details key="end" value="27417"/>
+ <eAnnotations source="positions.1956" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.526">
+ <details key="start" value="27461"/>
+ <details key="end" value="27519"/>
+ <details key="line" value="381"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1957" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41">
+ <details key="start" value="27520"/>
+ <details key="end" value="27567"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1924" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%/%">
- <details key="start" value="27435"/>
- <details key="end" value="27436"/>
+ <eAnnotations source="positions.1958" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%">
+ <details key="start" value="27520"/>
+ <details key="end" value="27550"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1925" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%/%.1">
- <details key="start" value="27437"/>
- <details key="end" value="27438"/>
+ <eAnnotations source="positions.1959" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%/eClasses">
+ <details key="start" value="27520"/>
+ <details key="end" value="27528"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1926" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%.1">
- <details key="start" value="27451"/>
- <details key="end" value="27455"/>
+ <eAnnotations source="positions.1960" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%/%">
+ <details key="start" value="27546"/>
+ <details key="end" value="27547"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1927" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%.1/temp1">
+ <eAnnotations source="positions.1961" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%/%.1">
+ <details key="start" value="27548"/>
+ <details key="end" value="27549"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1962" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%.1">
+ <details key="start" value="27562"/>
+ <details key="end" value="27566"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1963" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/%.1/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1928" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/temp65">
+ <eAnnotations source="positions.1964" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.41/temp65">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1929" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.519">
- <details key="start" value="27458"/>
- <details key="end" value="27502"/>
- <details key="line" value="385"/>
+ <eAnnotations source="positions.1965" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.527">
+ <details key="start" value="27569"/>
+ <details key="end" value="27613"/>
+ <details key="line" value="382"/>
</eAnnotations>
- <eAnnotations source="positions.1930" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.520">
- <details key="start" value="27503"/>
- <details key="end" value="27536"/>
+ <eAnnotations source="positions.1966" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.528">
+ <details key="start" value="27614"/>
+ <details key="end" value="27647"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1931" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.520/collections">
- <details key="start" value="27503"/>
- <details key="end" value="27514"/>
+ <eAnnotations source="positions.1967" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.528/collections">
+ <details key="start" value="27614"/>
+ <details key="end" value="27625"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1932" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.520/%">
- <details key="start" value="27532"/>
- <details key="end" value="27533"/>
+ <eAnnotations source="positions.1968" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.528/%">
+ <details key="start" value="27643"/>
+ <details key="end" value="27644"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1933" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.520/%.1">
- <details key="start" value="27534"/>
- <details key="end" value="27535"/>
+ <eAnnotations source="positions.1969" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.528/%.1">
+ <details key="start" value="27645"/>
+ <details key="end" value="27646"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1934" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.521">
- <details key="start" value="27538"/>
- <details key="end" value="27539"/>
- <details key="line" value="386"/>
+ <eAnnotations source="positions.1970" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.529">
+ <details key="start" value="27649"/>
+ <details key="end" value="27650"/>
+ <details key="line" value="383"/>
</eAnnotations>
- <eAnnotations source="positions.1935" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.522">
- <details key="start" value="27972"/>
- <details key="end" value="28022"/>
+ <eAnnotations source="positions.1971" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.530">
+ <details key="start" value="28083"/>
+ <details key="end" value="28133"/>
+ <details key="line" value="393"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1972" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.531">
+ <details key="start" value="28134"/>
+ <details key="end" value="28174"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1973" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.531/integers">
+ <details key="start" value="28134"/>
+ <details key="end" value="28142"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1974" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.531/%">
+ <details key="start" value="28157"/>
+ <details key="end" value="28173"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1975" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.531/%/%/%">
+ <details key="start" value="28168"/>
+ <details key="end" value="28169"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1976" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.531/%/%.1/%">
+ <details key="start" value="28171"/>
+ <details key="end" value="28172"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1977" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.532">
+ <details key="start" value="28176"/>
+ <details key="end" value="28227"/>
+ <details key="line" value="394"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1978" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.533">
+ <details key="start" value="28228"/>
+ <details key="end" value="28268"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1979" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.533/integers">
+ <details key="start" value="28228"/>
+ <details key="end" value="28236"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1980" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.533/%">
+ <details key="start" value="28251"/>
+ <details key="end" value="28267"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1981" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.533/%/%/%">
+ <details key="start" value="28262"/>
+ <details key="end" value="28263"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1982" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.533/%/%.1/%">
+ <details key="start" value="28265"/>
+ <details key="end" value="28266"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1983" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.534">
+ <details key="start" value="28270"/>
+ <details key="end" value="28321"/>
+ <details key="line" value="395"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1984" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.535">
+ <details key="start" value="28322"/>
+ <details key="end" value="28362"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1985" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.535/integers">
+ <details key="start" value="28322"/>
+ <details key="end" value="28330"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1986" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.535/%">
+ <details key="start" value="28345"/>
+ <details key="end" value="28361"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1987" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.535/%/%/%">
+ <details key="start" value="28356"/>
+ <details key="end" value="28357"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1988" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.535/%/%.1/%">
+ <details key="start" value="28359"/>
+ <details key="end" value="28360"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1989" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.536">
+ <details key="start" value="28364"/>
+ <details key="end" value="28415"/>
<details key="line" value="396"/>
</eAnnotations>
- <eAnnotations source="positions.1936" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523">
- <details key="start" value="28023"/>
- <details key="end" value="28063"/>
+ <eAnnotations source="positions.1990" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.537">
+ <details key="start" value="28416"/>
+ <details key="end" value="28456"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1937" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523/integers">
- <details key="start" value="28023"/>
- <details key="end" value="28031"/>
+ <eAnnotations source="positions.1991" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.537/integers">
+ <details key="start" value="28416"/>
+ <details key="end" value="28424"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1938" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523/%">
- <details key="start" value="28046"/>
- <details key="end" value="28062"/>
+ <eAnnotations source="positions.1992" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.537/%">
+ <details key="start" value="28439"/>
+ <details key="end" value="28455"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1939" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523/%/%/%">
- <details key="start" value="28057"/>
- <details key="end" value="28058"/>
+ <eAnnotations source="positions.1993" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.537/%/%/%">
+ <details key="start" value="28450"/>
+ <details key="end" value="28451"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1940" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.523/%/%.1/%">
- <details key="start" value="28060"/>
- <details key="end" value="28061"/>
+ <eAnnotations source="positions.1994" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.537/%/%.1/%">
+ <details key="start" value="28453"/>
+ <details key="end" value="28454"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1941" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.524">
- <details key="start" value="28065"/>
- <details key="end" value="28116"/>
+ <eAnnotations source="positions.1995" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.538">
+ <details key="start" value="28458"/>
+ <details key="end" value="28459"/>
<details key="line" value="397"/>
</eAnnotations>
- <eAnnotations source="positions.1942" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525">
- <details key="start" value="28117"/>
- <details key="end" value="28157"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1943" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525/integers">
- <details key="start" value="28117"/>
- <details key="end" value="28125"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1944" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525/%">
- <details key="start" value="28140"/>
- <details key="end" value="28156"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1945" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525/%/%/%">
- <details key="start" value="28151"/>
- <details key="end" value="28152"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1946" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.525/%/%.1/%">
- <details key="start" value="28154"/>
- <details key="end" value="28155"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1947" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.526">
- <details key="start" value="28159"/>
- <details key="end" value="28210"/>
+ <eAnnotations source="positions.1996" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.539">
+ <details key="start" value="28506"/>
+ <details key="end" value="28554"/>
<details key="line" value="398"/>
</eAnnotations>
- <eAnnotations source="positions.1948" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.527">
- <details key="start" value="28211"/>
- <details key="end" value="28251"/>
+ <eAnnotations source="positions.1997" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.540">
+ <details key="start" value="28555"/>
+ <details key="end" value="28593"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1949" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.527/integers">
- <details key="start" value="28211"/>
- <details key="end" value="28219"/>
+ <eAnnotations source="positions.1998" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.540/integers">
+ <details key="start" value="28555"/>
+ <details key="end" value="28563"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1950" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.527/%">
- <details key="start" value="28234"/>
- <details key="end" value="28250"/>
+ <eAnnotations source="positions.1999" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.540/%">
+ <details key="start" value="28576"/>
+ <details key="end" value="28592"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1951" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.527/%/%/%">
- <details key="start" value="28245"/>
- <details key="end" value="28246"/>
+ <eAnnotations source="positions.2000" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.540/%/%/%">
+ <details key="start" value="28587"/>
+ <details key="end" value="28588"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1952" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.527/%/%.1/%">
- <details key="start" value="28248"/>
- <details key="end" value="28249"/>
+ <eAnnotations source="positions.2001" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.540/%/%.1/%">
+ <details key="start" value="28590"/>
+ <details key="end" value="28591"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1953" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.528">
- <details key="start" value="28253"/>
- <details key="end" value="28304"/>
+ <eAnnotations source="positions.2002" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.541">
+ <details key="start" value="28595"/>
+ <details key="end" value="28644"/>
<details key="line" value="399"/>
</eAnnotations>
- <eAnnotations source="positions.1954" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.529">
- <details key="start" value="28305"/>
- <details key="end" value="28345"/>
+ <eAnnotations source="positions.2003" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.542">
+ <details key="start" value="28645"/>
+ <details key="end" value="28683"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1955" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.529/integers">
- <details key="start" value="28305"/>
- <details key="end" value="28313"/>
+ <eAnnotations source="positions.2004" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.542/integers">
+ <details key="start" value="28645"/>
+ <details key="end" value="28653"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1956" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.529/%">
- <details key="start" value="28328"/>
- <details key="end" value="28344"/>
+ <eAnnotations source="positions.2005" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.542/%">
+ <details key="start" value="28666"/>
+ <details key="end" value="28682"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1957" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.529/%/%/%">
- <details key="start" value="28339"/>
- <details key="end" value="28340"/>
+ <eAnnotations source="positions.2006" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.542/%/%/%">
+ <details key="start" value="28677"/>
+ <details key="end" value="28678"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1958" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.529/%/%.1/%">
- <details key="start" value="28342"/>
- <details key="end" value="28343"/>
+ <eAnnotations source="positions.2007" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.542/%/%.1/%">
+ <details key="start" value="28680"/>
+ <details key="end" value="28681"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1959" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.530">
- <details key="start" value="28347"/>
- <details key="end" value="28348"/>
+ <eAnnotations source="positions.2008" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.543">
+ <details key="start" value="28685"/>
+ <details key="end" value="28734"/>
<details key="line" value="400"/>
</eAnnotations>
- <eAnnotations source="positions.1960" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.531">
- <details key="start" value="28395"/>
- <details key="end" value="28443"/>
+ <eAnnotations source="positions.2009" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.544">
+ <details key="start" value="28735"/>
+ <details key="end" value="28773"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2010" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.544/integers">
+ <details key="start" value="28735"/>
+ <details key="end" value="28743"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2011" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.544/%">
+ <details key="start" value="28756"/>
+ <details key="end" value="28772"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2012" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.544/%/%/%">
+ <details key="start" value="28767"/>
+ <details key="end" value="28768"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2013" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.544/%/%.1/%">
+ <details key="start" value="28770"/>
+ <details key="end" value="28771"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2014" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.545">
+ <details key="start" value="28775"/>
+ <details key="end" value="28824"/>
<details key="line" value="401"/>
</eAnnotations>
- <eAnnotations source="positions.1961" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.532">
- <details key="start" value="28444"/>
- <details key="end" value="28482"/>
+ <eAnnotations source="positions.2015" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.546">
+ <details key="start" value="28825"/>
+ <details key="end" value="28863"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1962" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.532/integers">
- <details key="start" value="28444"/>
- <details key="end" value="28452"/>
+ <eAnnotations source="positions.2016" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.546/integers">
+ <details key="start" value="28825"/>
+ <details key="end" value="28833"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1963" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.532/%">
- <details key="start" value="28465"/>
- <details key="end" value="28481"/>
+ <eAnnotations source="positions.2017" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.546/%">
+ <details key="start" value="28846"/>
+ <details key="end" value="28862"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1964" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.532/%/%/%">
- <details key="start" value="28476"/>
- <details key="end" value="28477"/>
+ <eAnnotations source="positions.2018" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.546/%/%/%">
+ <details key="start" value="28857"/>
+ <details key="end" value="28858"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1965" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.532/%/%.1/%">
- <details key="start" value="28479"/>
- <details key="end" value="28480"/>
+ <eAnnotations source="positions.2019" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.546/%/%.1/%">
+ <details key="start" value="28860"/>
+ <details key="end" value="28861"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1966" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.533">
- <details key="start" value="28484"/>
- <details key="end" value="28533"/>
+ <eAnnotations source="positions.2020" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.547">
+ <details key="start" value="28865"/>
+ <details key="end" value="28866"/>
<details key="line" value="402"/>
</eAnnotations>
- <eAnnotations source="positions.1967" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.534">
- <details key="start" value="28534"/>
- <details key="end" value="28572"/>
+ <eAnnotations source="positions.2021" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.548">
+ <details key="start" value="29046"/>
+ <details key="end" value="29074"/>
+ <details key="line" value="406"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2022" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42">
+ <details key="start" value="29075"/>
+ <details key="end" value="29093"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1968" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.534/integers">
- <details key="start" value="28534"/>
- <details key="end" value="28542"/>
+ <eAnnotations source="positions.2023" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/strings">
+ <details key="start" value="29075"/>
+ <details key="end" value="29082"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1969" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.534/%">
- <details key="start" value="28555"/>
- <details key="end" value="28571"/>
+ <eAnnotations source="positions.2024" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/%">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1970" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.534/%/%/%">
- <details key="start" value="28566"/>
- <details key="end" value="28567"/>
+ <eAnnotations source="positions.2025" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/%/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1971" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.534/%/%.1/%">
- <details key="start" value="28569"/>
- <details key="end" value="28570"/>
+ <eAnnotations source="positions.2026" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/temp66">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1972" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.535">
- <details key="start" value="28574"/>
- <details key="end" value="28623"/>
- <details key="line" value="403"/>
+ <eAnnotations source="positions.2027" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.549">
+ <details key="start" value="29095"/>
+ <details key="end" value="29125"/>
+ <details key="line" value="407"/>
</eAnnotations>
- <eAnnotations source="positions.1973" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.536">
- <details key="start" value="28624"/>
- <details key="end" value="28662"/>
+ <eAnnotations source="positions.2028" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43">
+ <details key="start" value="29126"/>
+ <details key="end" value="29145"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1974" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.536/integers">
- <details key="start" value="28624"/>
- <details key="end" value="28632"/>
+ <eAnnotations source="positions.2029" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/integers">
+ <details key="start" value="29126"/>
+ <details key="end" value="29134"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1975" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.536/%">
- <details key="start" value="28645"/>
- <details key="end" value="28661"/>
+ <eAnnotations source="positions.2030" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/%">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1976" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.536/%/%/%">
- <details key="start" value="28656"/>
- <details key="end" value="28657"/>
+ <eAnnotations source="positions.2031" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/%/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1977" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.536/%/%.1/%">
- <details key="start" value="28659"/>
- <details key="end" value="28660"/>
+ <eAnnotations source="positions.2032" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/temp67">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1978" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.537">
- <details key="start" value="28664"/>
- <details key="end" value="28713"/>
- <details key="line" value="404"/>
+ <eAnnotations source="positions.2033" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.550">
+ <details key="start" value="29147"/>
+ <details key="end" value="29174"/>
+ <details key="line" value="408"/>
</eAnnotations>
- <eAnnotations source="positions.1979" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.538">
- <details key="start" value="28714"/>
- <details key="end" value="28752"/>
+ <eAnnotations source="positions.2034" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44">
+ <details key="start" value="29175"/>
+ <details key="end" value="29191"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1980" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.538/integers">
- <details key="start" value="28714"/>
- <details key="end" value="28722"/>
+ <eAnnotations source="positions.2035" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/reals">
+ <details key="start" value="29175"/>
+ <details key="end" value="29180"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1981" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.538/%">
- <details key="start" value="28735"/>
- <details key="end" value="28751"/>
+ <eAnnotations source="positions.2036" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/%">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1982" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.538/%/%/%">
- <details key="start" value="28746"/>
- <details key="end" value="28747"/>
+ <eAnnotations source="positions.2037" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/%/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1983" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.538/%/%.1/%">
- <details key="start" value="28749"/>
- <details key="end" value="28750"/>
+ <eAnnotations source="positions.2038" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/temp68">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1984" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.539">
- <details key="start" value="28754"/>
- <details key="end" value="28755"/>
- <details key="line" value="405"/>
- </eAnnotations>
- <eAnnotations source="positions.1985" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.540">
- <details key="start" value="28935"/>
- <details key="end" value="28963"/>
+ <eAnnotations source="positions.2039" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.551">
+ <details key="start" value="29193"/>
+ <details key="end" value="29223"/>
<details key="line" value="409"/>
</eAnnotations>
- <eAnnotations source="positions.1986" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42">
- <details key="start" value="28964"/>
- <details key="end" value="28982"/>
+ <eAnnotations source="positions.2040" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45">
+ <details key="start" value="29224"/>
+ <details key="end" value="29243"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1987" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/strings">
- <details key="start" value="28964"/>
- <details key="end" value="28971"/>
+ <eAnnotations source="positions.2041" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/booleans">
+ <details key="start" value="29224"/>
+ <details key="end" value="29232"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1988" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/%">
+ <eAnnotations source="positions.2042" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/%">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1989" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/%/temp1">
+ <eAnnotations source="positions.2043" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/%/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1990" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/temp66">
+ <eAnnotations source="positions.2044" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/temp69">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1991" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.541">
- <details key="start" value="28984"/>
- <details key="end" value="29014"/>
+ <eAnnotations source="positions.2045" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.552">
+ <details key="start" value="29245"/>
+ <details key="end" value="29292"/>
<details key="line" value="410"/>
</eAnnotations>
- <eAnnotations source="positions.1992" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43">
- <details key="start" value="29015"/>
- <details key="end" value="29034"/>
+ <eAnnotations source="positions.2046" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46">
+ <details key="start" value="29293"/>
+ <details key="end" value="29329"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1993" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/integers">
- <details key="start" value="29015"/>
- <details key="end" value="29023"/>
+ <eAnnotations source="positions.2047" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect">
+ <details key="start" value="29293"/>
+ <details key="end" value="29312"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1994" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/%">
+ <eAnnotations source="positions.2048" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/eClasses">
+ <details key="start" value="29293"/>
+ <details key="end" value="29301"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2049" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/%">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1995" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/%/temp1">
+ <eAnnotations source="positions.2050" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/%/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1996" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/temp67">
+ <eAnnotations source="positions.2051" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/temp70">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1997" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.542">
- <details key="start" value="29036"/>
- <details key="end" value="29063"/>
+ <eAnnotations source="positions.2052" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/%">
+ <details key="start" value="29324"/>
+ <details key="end" value="29328"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2053" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/%/temp2">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2054" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/temp71">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2055" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.553">
+ <details key="start" value="29331"/>
+ <details key="end" value="29364"/>
<details key="line" value="411"/>
</eAnnotations>
- <eAnnotations source="positions.1998" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44">
- <details key="start" value="29064"/>
- <details key="end" value="29080"/>
+ <eAnnotations source="positions.2056" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47">
+ <details key="start" value="29365"/>
+ <details key="end" value="29387"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1999" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/reals">
- <details key="start" value="29064"/>
- <details key="end" value="29069"/>
+ <eAnnotations source="positions.2057" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/collections">
+ <details key="start" value="29365"/>
+ <details key="end" value="29376"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2000" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/%">
+ <eAnnotations source="positions.2058" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/%">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2001" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/%/temp1">
+ <eAnnotations source="positions.2059" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/%/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2002" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/temp68">
+ <eAnnotations source="positions.2060" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/temp72">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2003" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.543">
- <details key="start" value="29082"/>
- <details key="end" value="29112"/>
+ <eAnnotations source="positions.2061" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.554">
+ <details key="start" value="29389"/>
+ <details key="end" value="29390"/>
<details key="line" value="412"/>
</eAnnotations>
- <eAnnotations source="positions.2004" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45">
- <details key="start" value="29113"/>
- <details key="end" value="29132"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2005" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/booleans">
- <details key="start" value="29113"/>
- <details key="end" value="29121"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2006" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/%">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2007" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2008" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/temp69">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2009" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.544">
- <details key="start" value="29134"/>
- <details key="end" value="29181"/>
- <details key="line" value="413"/>
- </eAnnotations>
- <eAnnotations source="positions.2010" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46">
- <details key="start" value="29182"/>
- <details key="end" value="29218"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2011" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect">
- <details key="start" value="29182"/>
- <details key="end" value="29201"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2012" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/eClasses">
- <details key="start" value="29182"/>
- <details key="end" value="29190"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2013" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/%">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2014" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2015" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/temp70">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2016" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/%">
- <details key="start" value="29213"/>
- <details key="end" value="29217"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2017" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/%/temp2">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2018" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/temp71">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2019" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.545">
- <details key="start" value="29220"/>
- <details key="end" value="29253"/>
- <details key="line" value="414"/>
- </eAnnotations>
- <eAnnotations source="positions.2020" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47">
- <details key="start" value="29254"/>
- <details key="end" value="29276"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2021" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/collections">
- <details key="start" value="29254"/>
- <details key="end" value="29265"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2022" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/%">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2023" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2024" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/temp72">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2025" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.546">
- <details key="start" value="29278"/>
- <details key="end" value="29279"/>
- <details key="line" value="415"/>
- </eAnnotations>
- <eAnnotations source="positions.2026" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections">
+ <eAnnotations source="positions.2062" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections">
<details key="start" value="569"/>
<details key="end" value="667"/>
<details key="line" value="12"/>
</eAnnotations>
- <eAnnotations source="positions.2027" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%">
+ <eAnnotations source="positions.2063" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%">
<details key="start" value="617"/>
<details key="end" value="668"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2028" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%/strings">
+ <eAnnotations source="positions.2064" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%/strings">
<details key="start" value="628"/>
<details key="end" value="635"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2029" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%">
+ <eAnnotations source="positions.2065" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%">
<details key="start" value="636"/>
<details key="end" value="659"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2030" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
+ <eAnnotations source="positions.2066" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
<details key="start" value="647"/>
<details key="end" value="650"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2031" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
+ <eAnnotations source="positions.2067" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
<details key="start" value="651"/>
<details key="end" value="654"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2032" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
+ <eAnnotations source="positions.2068" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
<details key="start" value="655"/>
<details key="end" value="658"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2033" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.2/strings">
+ <eAnnotations source="positions.2069" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.2/strings">
<details key="start" value="660"/>
<details key="end" value="667"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2034" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses">
+ <eAnnotations source="positions.2070" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses">
<details key="start" value="500"/>
<details key="end" value="562"/>
<details key="line" value="11"/>
</eAnnotations>
- <eAnnotations source="positions.2035" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%">
+ <eAnnotations source="positions.2071" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%">
<details key="start" value="533"/>
<details key="end" value="563"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2036" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%">
+ <eAnnotations source="positions.2072" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%">
<details key="start" value="533"/>
<details key="end" value="547"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2037" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%/p">
+ <eAnnotations source="positions.2073" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%/p">
<details key="start" value="533"/>
<details key="end" value="534"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2038" references="/0/testOrderedSet/%/%/%/%/%/booleans">
+ <eAnnotations source="positions.2074" references="/0/testOrderedSet/%/%/%/%/%/booleans">
<details key="start" value="431"/>
<details key="end" value="493"/>
<details key="line" value="10"/>
</eAnnotations>
- <eAnnotations source="positions.2039" references="/0/testOrderedSet/%/%/%/%/%/booleans/%">
+ <eAnnotations source="positions.2075" references="/0/testOrderedSet/%/%/%/%/%/booleans/%">
<details key="start" value="465"/>
<details key="end" value="494"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2040" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%/%">
+ <eAnnotations source="positions.2076" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%/%">
<details key="start" value="476"/>
<details key="end" value="480"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2041" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.1/%">
+ <eAnnotations source="positions.2077" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.1/%">
<details key="start" value="482"/>
<details key="end" value="487"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2042" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.2/%">
+ <eAnnotations source="positions.2078" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.2/%">
<details key="start" value="489"/>
<details key="end" value="493"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2043" references="/0/testOrderedSet/%/%/%/%/reals">
+ <eAnnotations source="positions.2079" references="/0/testOrderedSet/%/%/%/%/reals">
<details key="start" value="374"/>
<details key="end" value="424"/>
<details key="line" value="9"/>
</eAnnotations>
- <eAnnotations source="positions.2044" references="/0/testOrderedSet/%/%/%/%/reals/%">
+ <eAnnotations source="positions.2080" references="/0/testOrderedSet/%/%/%/%/reals/%">
<details key="start" value="402"/>
<details key="end" value="425"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2045" references="/0/testOrderedSet/%/%/%/%/reals/%/%/%">
+ <eAnnotations source="positions.2081" references="/0/testOrderedSet/%/%/%/%/reals/%/%/%">
<details key="start" value="413"/>
<details key="end" value="416"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2046" references="/0/testOrderedSet/%/%/%/%/reals/%/%.1/%">
+ <eAnnotations source="positions.2082" references="/0/testOrderedSet/%/%/%/%/reals/%/%.1/%">
<details key="start" value="417"/>
<details key="end" value="420"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2047" references="/0/testOrderedSet/%/%/%/%/reals/%/%.2/%">
+ <eAnnotations source="positions.2083" references="/0/testOrderedSet/%/%/%/%/reals/%/%.2/%">
<details key="start" value="421"/>
<details key="end" value="424"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2048" references="/0/testOrderedSet/%/%/%/integers">
+ <eAnnotations source="positions.2084" references="/0/testOrderedSet/%/%/%/integers">
<details key="start" value="317"/>
<details key="end" value="367"/>
<details key="line" value="8"/>
</eAnnotations>
- <eAnnotations source="positions.2049" references="/0/testOrderedSet/%/%/%/integers/%">
+ <eAnnotations source="positions.2085" references="/0/testOrderedSet/%/%/%/integers/%">
<details key="start" value="351"/>
<details key="end" value="368"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2050" references="/0/testOrderedSet/%/%/%/integers/%/%/%">
+ <eAnnotations source="positions.2086" references="/0/testOrderedSet/%/%/%/integers/%/%/%">
<details key="start" value="362"/>
<details key="end" value="363"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2051" references="/0/testOrderedSet/%/%/%/integers/%/%.1/%">
+ <eAnnotations source="positions.2087" references="/0/testOrderedSet/%/%/%/integers/%/%.1/%">
<details key="start" value="364"/>
<details key="end" value="365"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2052" references="/0/testOrderedSet/%/%/%/integers/%/%.2/%">
+ <eAnnotations source="positions.2088" references="/0/testOrderedSet/%/%/%/integers/%/%.2/%">
<details key="start" value="366"/>
<details key="end" value="367"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2053" references="/0/testOrderedSet/%/%/strings">
+ <eAnnotations source="positions.2089" references="/0/testOrderedSet/%/%/strings">
<details key="start" value="256"/>
<details key="end" value="310"/>
<details key="line" value="7"/>
</eAnnotations>
- <eAnnotations source="positions.2054" references="/0/testOrderedSet/%/%/strings/%">
+ <eAnnotations source="positions.2090" references="/0/testOrderedSet/%/%/strings/%">
<details key="start" value="288"/>
<details key="end" value="311"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2055" references="/0/testOrderedSet/%/%/strings/%/%/%">
+ <eAnnotations source="positions.2091" references="/0/testOrderedSet/%/%/strings/%/%/%">
<details key="start" value="299"/>
<details key="end" value="302"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2056" references="/0/testOrderedSet/%/%/strings/%/%.1/%">
+ <eAnnotations source="positions.2092" references="/0/testOrderedSet/%/%/strings/%/%.1/%">
<details key="start" value="303"/>
<details key="end" value="306"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2057" references="/0/testOrderedSet/%/%/strings/%/%.2/%">
+ <eAnnotations source="positions.2093" references="/0/testOrderedSet/%/%/strings/%/%.2/%">
<details key="start" value="307"/>
<details key="end" value="310"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2058" references="/0/testOrderedSet/%/%.1">
+ <eAnnotations source="positions.2094" references="/0/testOrderedSet/%/%.1">
<details key="start" value="143"/>
<details key="end" value="159"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2059" references="/0/testOrderedSet/p">
+ <eAnnotations source="positions.2095" references="/0/testOrderedSet/p">
<details key="start" value="104"/>
<details key="end" value="116"/>
<details key="line" value="3"/>
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl
index 1158f8b..b9786f1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl
@@ -358,6 +358,10 @@
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [OrderedSet{p, 'test', true, 1, 2.2}->filter(ecore::EPackage)->first() = p/]
@Test OrderedSet{p,'test',true,1,2.2} -> filter(EClass) -> size() => [OrderedSet{p, 'test', true, 1, 2.2}->filter(ecore::EClass)->size()/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(String) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(String)/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(Integer) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(Integer)/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(Boolean) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(Boolean)/]
+ @Test OrderedSet{p,'test',true,1,2.2} -> filter(Real) => [OrderedSet{p, 'test', true, 1, 2.2}->filter(Real)/]
@Test strings -> subOrderedSet(1,2) => [strings->subOrderedSet(1, 2)/]
@Test integers -> subOrderedSet(1,2) => [integers->subOrderedSet(1, 2)/]
@Test reals -> subOrderedSet(1,2) => [reals->subOrderedSet(1, 2)/]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt
index 156e525..f7f500e 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt
@@ -348,6 +348,10 @@
@Test Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => true
@Test Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size() => 0
+@Test Sequence{p,'test',true,1,2.2} -> filter(String) => test
+@Test Sequence{p,'test',true,1,2.2} -> filter(Integer) => 1
+@Test Sequence{p,'test',true,1,2.2} -> filter(Boolean) => true
+@Test Sequence{p,'test',true,1,2.2} -> filter(Real) => 2.2
@Test strings -> subSequence(1,2) => ab
@Test integers -> subSequence(1,2) => 12
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected-validation.txt b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected-validation.txt
index 6e1db3b..75bdf87 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected-validation.txt
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected-validation.txt
@@ -1,18 +1,18 @@
INFO Always true:
-Nothing inferred when temp6 (java.lang.String) is not type of java.lang.String - 1213 1238
+Nothing inferred when temp6 (java.lang.String) is not type of ClassLiteral=java.lang.String - 1213 1238
INFO Always true:
-Nothing inferred when temp7 (java.lang.Double) is not type of java.lang.Double - 1315 1338
+Nothing inferred when temp7 (java.lang.Double) is not type of ClassLiteral=java.lang.Double - 1315 1338
INFO Always true:
-Nothing inferred when temp8 (java.lang.Integer) is not type of java.lang.Integer - 1424 1450
+Nothing inferred when temp8 (java.lang.Integer) is not type of ClassLiteral=java.lang.Integer - 1424 1450
INFO Always true:
-Nothing inferred when temp9 (java.lang.Boolean) is not type of java.lang.Boolean - 1536 1562
+Nothing inferred when temp9 (java.lang.Boolean) is not type of ClassLiteral=java.lang.Boolean - 1536 1562
INFO Always true:
-Nothing inferred when temp11 (java.lang.String) is not kind of java.lang.String - 1784 1810
+Nothing inferred when temp11 (java.lang.String) is not kind of ClassLiteral=java.lang.String - 1784 1810
INFO Always true:
-Nothing inferred when temp12 (java.lang.Double) is not kind of java.lang.Double - 1888 1912
+Nothing inferred when temp12 (java.lang.Double) is not kind of ClassLiteral=java.lang.Double - 1888 1912
INFO Always true:
-Nothing inferred when temp13 (java.lang.Integer) is not kind of java.lang.Integer - 1999 2026
+Nothing inferred when temp13 (java.lang.Integer) is not kind of ClassLiteral=java.lang.Integer - 1999 2026
INFO Always true:
-Nothing inferred when temp14 (java.lang.Boolean) is not kind of java.lang.Boolean - 2113 2140
+Nothing inferred when temp14 (java.lang.Boolean) is not kind of ClassLiteral=java.lang.Boolean - 2113 2140
INFO Always true:
Nothing inferred when temp15 (EClassifier=EClassifier) is not kind of EClassifierLiteral=EObject - 2227 2261
\ No newline at end of file
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl
index c59a809..f306ee1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl
@@ -359,6 +359,10 @@
@Test Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [Sequence{p, 'test', true, 1, 2.2}->filter(ecore::EPackage)->first() = p/]
@Test Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size() => [Sequence{p, 'test', true, 1, 2.2}->filter(ecore::EClass)->size()/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(String) => [Sequence{p, 'test', true, 1, 2.2}->filter(String)/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(Integer) => [Sequence{p, 'test', true, 1, 2.2}->filter(Integer)/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(Boolean) => [Sequence{p, 'test', true, 1, 2.2}->filter(Boolean)/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(Real) => [Sequence{p, 'test', true, 1, 2.2}->filter(Real)/]
@Test strings -> subSequence(1,2) => [strings->subSequence(1, 2)/]
@Test integers -> subSequence(1,2) => [integers->subSequence(1, 2)/]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl
index 28343cb..9be9ae1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl
@@ -369,13 +369,10 @@
@Test Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p/]
@Test Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size() => [Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size()/]
-[comment]A4-UNSUPPORTED(LOT1) WIP https://git.eclipse.org/r/#/c/162879/ filter(primitiveType)[/comment]
-[comment]
-[Sequence{p,'test',true,1,2.2} -> filter(String)/]
-[Sequence{p,'test',true,1,2.2} -> filter(Integer)/]
-[Sequence{p,'test',true,1,2.2} -> filter(Boolean)/]
-[Sequence{p,'test',true,1,2.2} -> filter(Real)/]
-[/comment]
+@Test Sequence{p,'test',true,1,2.2} -> filter(String) => [Sequence{p,'test',true,1,2.2} -> filter(String)/]
+@Test Sequence{p,'test',true,1,2.2} -> filter(Integer) => [Sequence{p,'test',true,1,2.2} -> filter(Integer)/]
+@Test Sequence{p,'test',true,1,2.2} -> filter(Boolean) => [Sequence{p,'test',true,1,2.2} -> filter(Boolean)/]
+@Test Sequence{p,'test',true,1,2.2} -> filter(Real) => [Sequence{p,'test',true,1,2.2} -> filter(Real)/]
@Test strings -> subSequence(1,2) => [strings -> subSequence(1,2)/]
@Test integers -> subSequence(1,2) => [integers -> subSequence(1,2)/]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl
index 18a5cd1..98631ed 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl
@@ -4984,8 +4984,159 @@
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 
@Test strings -> subSequence(1,2) => "/>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test Sequence{p,'test',true,1,2.2} -> filter(String) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Sequence(String)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/Sequence(OclAny)" kind="Sequence">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testSequence/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/String">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test Sequence{p,'test',true,1,2.2} -> filter(Integer) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Sequence(Integer)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/Sequence(OclAny)" kind="Sequence">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testSequence/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/Integer">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test Sequence{p,'test',true,1,2.2} -> filter(Boolean) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Sequence(Boolean)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/Sequence(OclAny)" kind="Sequence">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testSequence/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/Boolean">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
@Test Sequence{p,'test',true,1,2.2} -> filter(Real) => "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Sequence(Real)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
+ <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/Sequence(OclAny)" kind="Sequence">
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <item xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/testSequence/p">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <item xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="test">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <item xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <item xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ </item>
+ </part>
+ <part xsi:type="ocl.ecore:CollectionItem">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ <item xsi:type="ocl.ecore:RealLiteralExp" realSymbol="2.2">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </item>
+ </part>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/19/Real">
+ <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 
@Test strings -> subSequence(1,2) => "/>
<body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Sequence(String)">
<source xsi:type="ocl.ecore:VariableExp" name="strings" eType="/7/Sequence(String)" referredVariable="/0/testSequence/%/%/strings"/>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
@@ -6697,47 +6848,59 @@
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ecore:EAnnotation source="positions">
<eAnnotations source="positions.0" references="/0/testSequence">
<details key="start" value="70"/>
- <details key="end" value="28713"/>
+ <details key="end" value="28816"/>
<details key="line" value="3"/>
</eAnnotations>
<eAnnotations source="positions.1" references="/0/testSequence/%">
<details key="start" value="132"/>
- <details key="end" value="28701"/>
+ <details key="end" value="28804"/>
<details key="line" value="5"/>
</eAnnotations>
<eAnnotations source="positions.2" references="/0/testSequence/%/%">
<details key="start" value="242"/>
- <details key="end" value="28693"/>
+ <details key="end" value="28796"/>
<details key="line" value="7"/>
</eAnnotations>
<eAnnotations source="positions.3" references="/0/testSequence/%/%/%">
<details key="start" value="299"/>
- <details key="end" value="28687"/>
+ <details key="end" value="28790"/>
<details key="line" value="8"/>
</eAnnotations>
<eAnnotations source="positions.4" references="/0/testSequence/%/%/%/%">
<details key="start" value="352"/>
- <details key="end" value="28681"/>
+ <details key="end" value="28784"/>
<details key="line" value="9"/>
</eAnnotations>
<eAnnotations source="positions.5" references="/0/testSequence/%/%/%/%/%">
<details key="start" value="405"/>
- <details key="end" value="28675"/>
+ <details key="end" value="28778"/>
<details key="line" value="10"/>
</eAnnotations>
<eAnnotations source="positions.6" references="/0/testSequence/%/%/%/%/%/%">
<details key="start" value="470"/>
- <details key="end" value="28669"/>
+ <details key="end" value="28772"/>
<details key="line" value="11"/>
</eAnnotations>
<eAnnotations source="positions.7" references="/0/testSequence/%/%/%/%/%/%/%">
<details key="start" value="535"/>
- <details key="end" value="28663"/>
+ <details key="end" value="28766"/>
<details key="line" value="12"/>
</eAnnotations>
<eAnnotations source="positions.8" references="/0/testSequence/%/%/%/%/%/%/%/%">
@@ -16082,805 +16245,980 @@
</eAnnotations>
<eAnnotations source="positions.1876" references="/0/testSequence/%/%/%/%/%/%/%/%.514">
<details key="start" value="25872"/>
- <details key="end" value="25873"/>
+ <details key="end" value="25930"/>
<details key="line" value="372"/>
</eAnnotations>
<eAnnotations source="positions.1877" references="/0/testSequence/%/%/%/%/%/%/%/%.515">
- <details key="start" value="26202"/>
- <details key="end" value="26242"/>
- <details key="line" value="379"/>
- </eAnnotations>
- <eAnnotations source="positions.1878" references="/0/testSequence/%/%/%/%/%/%/%/%.516">
- <details key="start" value="26243"/>
- <details key="end" value="26270"/>
+ <details key="start" value="25931"/>
+ <details key="end" value="25978"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1879" references="/0/testSequence/%/%/%/%/%/%/%/%.516/strings">
- <details key="start" value="26243"/>
- <details key="end" value="26250"/>
+ <eAnnotations source="positions.1878" references="/0/testSequence/%/%/%/%/%/%/%/%.515/%">
+ <details key="start" value="25931"/>
+ <details key="end" value="25960"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1880" references="/0/testSequence/%/%/%/%/%/%/%/%.516/%">
+ <eAnnotations source="positions.1879" references="/0/testSequence/%/%/%/%/%/%/%/%.515/%/%/p">
+ <details key="start" value="25940"/>
+ <details key="end" value="25941"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1880" references="/0/testSequence/%/%/%/%/%/%/%/%.515/%/%.1/%">
+ <details key="start" value="25942"/>
+ <details key="end" value="25948"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1881" references="/0/testSequence/%/%/%/%/%/%/%/%.515/%/%.2/%">
+ <details key="start" value="25949"/>
+ <details key="end" value="25953"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1882" references="/0/testSequence/%/%/%/%/%/%/%/%.515/%/%.3/%">
+ <details key="start" value="25954"/>
+ <details key="end" value="25955"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1883" references="/0/testSequence/%/%/%/%/%/%/%/%.515/%/%.4/%">
+ <details key="start" value="25956"/>
+ <details key="end" value="25959"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1884" references="/0/testSequence/%/%/%/%/%/%/%/%.515/%.1">
+ <details key="start" value="25971"/>
+ <details key="end" value="25977"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1885" references="/0/testSequence/%/%/%/%/%/%/%/%.516">
+ <details key="start" value="25980"/>
+ <details key="end" value="26039"/>
+ <details key="line" value="373"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1886" references="/0/testSequence/%/%/%/%/%/%/%/%.517">
+ <details key="start" value="26040"/>
+ <details key="end" value="26088"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1887" references="/0/testSequence/%/%/%/%/%/%/%/%.517/%">
+ <details key="start" value="26040"/>
+ <details key="end" value="26069"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1888" references="/0/testSequence/%/%/%/%/%/%/%/%.517/%/%/p">
+ <details key="start" value="26049"/>
+ <details key="end" value="26050"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1889" references="/0/testSequence/%/%/%/%/%/%/%/%.517/%/%.1/%">
+ <details key="start" value="26051"/>
+ <details key="end" value="26057"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1890" references="/0/testSequence/%/%/%/%/%/%/%/%.517/%/%.2/%">
+ <details key="start" value="26058"/>
+ <details key="end" value="26062"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1891" references="/0/testSequence/%/%/%/%/%/%/%/%.517/%/%.3/%">
+ <details key="start" value="26063"/>
+ <details key="end" value="26064"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1892" references="/0/testSequence/%/%/%/%/%/%/%/%.517/%/%.4/%">
+ <details key="start" value="26065"/>
+ <details key="end" value="26068"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1893" references="/0/testSequence/%/%/%/%/%/%/%/%.517/%.1">
+ <details key="start" value="26080"/>
+ <details key="end" value="26087"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1894" references="/0/testSequence/%/%/%/%/%/%/%/%.518">
+ <details key="start" value="26090"/>
+ <details key="end" value="26149"/>
+ <details key="line" value="374"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1895" references="/0/testSequence/%/%/%/%/%/%/%/%.519">
+ <details key="start" value="26150"/>
+ <details key="end" value="26198"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1896" references="/0/testSequence/%/%/%/%/%/%/%/%.519/%">
+ <details key="start" value="26150"/>
+ <details key="end" value="26179"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1897" references="/0/testSequence/%/%/%/%/%/%/%/%.519/%/%/p">
+ <details key="start" value="26159"/>
+ <details key="end" value="26160"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1898" references="/0/testSequence/%/%/%/%/%/%/%/%.519/%/%.1/%">
+ <details key="start" value="26161"/>
+ <details key="end" value="26167"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1899" references="/0/testSequence/%/%/%/%/%/%/%/%.519/%/%.2/%">
+ <details key="start" value="26168"/>
+ <details key="end" value="26172"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1900" references="/0/testSequence/%/%/%/%/%/%/%/%.519/%/%.3/%">
+ <details key="start" value="26173"/>
+ <details key="end" value="26174"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1901" references="/0/testSequence/%/%/%/%/%/%/%/%.519/%/%.4/%">
+ <details key="start" value="26175"/>
+ <details key="end" value="26178"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1902" references="/0/testSequence/%/%/%/%/%/%/%/%.519/%.1">
+ <details key="start" value="26190"/>
+ <details key="end" value="26197"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1903" references="/0/testSequence/%/%/%/%/%/%/%/%.520">
+ <details key="start" value="26200"/>
+ <details key="end" value="26256"/>
+ <details key="line" value="375"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1904" references="/0/testSequence/%/%/%/%/%/%/%/%.521">
+ <details key="start" value="26257"/>
+ <details key="end" value="26302"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1905" references="/0/testSequence/%/%/%/%/%/%/%/%.521/%">
+ <details key="start" value="26257"/>
+ <details key="end" value="26286"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1906" references="/0/testSequence/%/%/%/%/%/%/%/%.521/%/%/p">
<details key="start" value="26266"/>
<details key="end" value="26267"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1881" references="/0/testSequence/%/%/%/%/%/%/%/%.516/%.1">
+ <eAnnotations source="positions.1907" references="/0/testSequence/%/%/%/%/%/%/%/%.521/%/%.1/%">
<details key="start" value="26268"/>
- <details key="end" value="26269"/>
+ <details key="end" value="26274"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1882" references="/0/testSequence/%/%/%/%/%/%/%/%.517">
- <details key="start" value="26272"/>
- <details key="end" value="26311"/>
- <details key="line" value="381"/>
- </eAnnotations>
- <eAnnotations source="positions.1883" references="/0/testSequence/%/%/%/%/%/%/%/%.518">
- <details key="start" value="26312"/>
- <details key="end" value="26340"/>
+ <eAnnotations source="positions.1908" references="/0/testSequence/%/%/%/%/%/%/%/%.521/%/%.2/%">
+ <details key="start" value="26275"/>
+ <details key="end" value="26279"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1884" references="/0/testSequence/%/%/%/%/%/%/%/%.518/integers">
- <details key="start" value="26312"/>
- <details key="end" value="26320"/>
+ <eAnnotations source="positions.1909" references="/0/testSequence/%/%/%/%/%/%/%/%.521/%/%.3/%">
+ <details key="start" value="26280"/>
+ <details key="end" value="26281"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1885" references="/0/testSequence/%/%/%/%/%/%/%/%.518/%">
- <details key="start" value="26336"/>
- <details key="end" value="26337"/>
+ <eAnnotations source="positions.1910" references="/0/testSequence/%/%/%/%/%/%/%/%.521/%/%.4/%">
+ <details key="start" value="26282"/>
+ <details key="end" value="26285"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1886" references="/0/testSequence/%/%/%/%/%/%/%/%.518/%.1">
- <details key="start" value="26338"/>
- <details key="end" value="26339"/>
+ <eAnnotations source="positions.1911" references="/0/testSequence/%/%/%/%/%/%/%/%.521/%.1">
+ <details key="start" value="26297"/>
+ <details key="end" value="26301"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1887" references="/0/testSequence/%/%/%/%/%/%/%/%.519">
- <details key="start" value="26342"/>
- <details key="end" value="26378"/>
- <details key="line" value="382"/>
+ <eAnnotations source="positions.1912" references="/0/testSequence/%/%/%/%/%/%/%/%.522">
+ <details key="start" value="26304"/>
+ <details key="end" value="26345"/>
+ <details key="line" value="376"/>
</eAnnotations>
- <eAnnotations source="positions.1888" references="/0/testSequence/%/%/%/%/%/%/%/%.520">
- <details key="start" value="26379"/>
- <details key="end" value="26404"/>
+ <eAnnotations source="positions.1913" references="/0/testSequence/%/%/%/%/%/%/%/%.523">
+ <details key="start" value="26346"/>
+ <details key="end" value="26373"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1889" references="/0/testSequence/%/%/%/%/%/%/%/%.520/reals">
- <details key="start" value="26379"/>
- <details key="end" value="26384"/>
+ <eAnnotations source="positions.1914" references="/0/testSequence/%/%/%/%/%/%/%/%.523/strings">
+ <details key="start" value="26346"/>
+ <details key="end" value="26353"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1890" references="/0/testSequence/%/%/%/%/%/%/%/%.520/%">
- <details key="start" value="26400"/>
- <details key="end" value="26401"/>
+ <eAnnotations source="positions.1915" references="/0/testSequence/%/%/%/%/%/%/%/%.523/%">
+ <details key="start" value="26369"/>
+ <details key="end" value="26370"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1891" references="/0/testSequence/%/%/%/%/%/%/%/%.520/%.1">
- <details key="start" value="26402"/>
- <details key="end" value="26403"/>
+ <eAnnotations source="positions.1916" references="/0/testSequence/%/%/%/%/%/%/%/%.523/%.1">
+ <details key="start" value="26371"/>
+ <details key="end" value="26372"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1892" references="/0/testSequence/%/%/%/%/%/%/%/%.521">
- <details key="start" value="26406"/>
- <details key="end" value="26445"/>
- <details key="line" value="383"/>
+ <eAnnotations source="positions.1917" references="/0/testSequence/%/%/%/%/%/%/%/%.524">
+ <details key="start" value="26375"/>
+ <details key="end" value="26414"/>
+ <details key="line" value="378"/>
</eAnnotations>
- <eAnnotations source="positions.1893" references="/0/testSequence/%/%/%/%/%/%/%/%.522">
- <details key="start" value="26446"/>
- <details key="end" value="26474"/>
+ <eAnnotations source="positions.1918" references="/0/testSequence/%/%/%/%/%/%/%/%.525">
+ <details key="start" value="26415"/>
+ <details key="end" value="26443"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1894" references="/0/testSequence/%/%/%/%/%/%/%/%.522/booleans">
- <details key="start" value="26446"/>
- <details key="end" value="26454"/>
+ <eAnnotations source="positions.1919" references="/0/testSequence/%/%/%/%/%/%/%/%.525/integers">
+ <details key="start" value="26415"/>
+ <details key="end" value="26423"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1895" references="/0/testSequence/%/%/%/%/%/%/%/%.522/%">
- <details key="start" value="26470"/>
- <details key="end" value="26471"/>
+ <eAnnotations source="positions.1920" references="/0/testSequence/%/%/%/%/%/%/%/%.525/%">
+ <details key="start" value="26439"/>
+ <details key="end" value="26440"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1896" references="/0/testSequence/%/%/%/%/%/%/%/%.522/%.1">
- <details key="start" value="26472"/>
- <details key="end" value="26473"/>
+ <eAnnotations source="positions.1921" references="/0/testSequence/%/%/%/%/%/%/%/%.525/%.1">
+ <details key="start" value="26441"/>
+ <details key="end" value="26442"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1897" references="/0/testSequence/%/%/%/%/%/%/%/%.523">
- <details key="start" value="26476"/>
- <details key="end" value="26532"/>
- <details key="line" value="384"/>
+ <eAnnotations source="positions.1922" references="/0/testSequence/%/%/%/%/%/%/%/%.526">
+ <details key="start" value="26445"/>
+ <details key="end" value="26481"/>
+ <details key="line" value="379"/>
</eAnnotations>
- <eAnnotations source="positions.1898" references="/0/testSequence/%/%/%/%/%/%/%/collect.45">
- <details key="start" value="26533"/>
- <details key="end" value="26578"/>
+ <eAnnotations source="positions.1923" references="/0/testSequence/%/%/%/%/%/%/%/%.527">
+ <details key="start" value="26482"/>
+ <details key="end" value="26507"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1899" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%">
- <details key="start" value="26533"/>
- <details key="end" value="26561"/>
+ <eAnnotations source="positions.1924" references="/0/testSequence/%/%/%/%/%/%/%/%.527/reals">
+ <details key="start" value="26482"/>
+ <details key="end" value="26487"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1900" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%/eClasses">
- <details key="start" value="26533"/>
- <details key="end" value="26541"/>
+ <eAnnotations source="positions.1925" references="/0/testSequence/%/%/%/%/%/%/%/%.527/%">
+ <details key="start" value="26503"/>
+ <details key="end" value="26504"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1901" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%/%">
- <details key="start" value="26557"/>
- <details key="end" value="26558"/>
+ <eAnnotations source="positions.1926" references="/0/testSequence/%/%/%/%/%/%/%/%.527/%.1">
+ <details key="start" value="26505"/>
+ <details key="end" value="26506"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1902" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%/%.1">
- <details key="start" value="26559"/>
- <details key="end" value="26560"/>
- <details key="line" value="0"/>
+ <eAnnotations source="positions.1927" references="/0/testSequence/%/%/%/%/%/%/%/%.528">
+ <details key="start" value="26509"/>
+ <details key="end" value="26548"/>
+ <details key="line" value="380"/>
</eAnnotations>
- <eAnnotations source="positions.1903" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%.1">
- <details key="start" value="26573"/>
+ <eAnnotations source="positions.1928" references="/0/testSequence/%/%/%/%/%/%/%/%.529">
+ <details key="start" value="26549"/>
<details key="end" value="26577"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1904" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%.1/temp1">
+ <eAnnotations source="positions.1929" references="/0/testSequence/%/%/%/%/%/%/%/%.529/booleans">
+ <details key="start" value="26549"/>
+ <details key="end" value="26557"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1930" references="/0/testSequence/%/%/%/%/%/%/%/%.529/%">
+ <details key="start" value="26573"/>
+ <details key="end" value="26574"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1931" references="/0/testSequence/%/%/%/%/%/%/%/%.529/%.1">
+ <details key="start" value="26575"/>
+ <details key="end" value="26576"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1932" references="/0/testSequence/%/%/%/%/%/%/%/%.530">
+ <details key="start" value="26579"/>
+ <details key="end" value="26635"/>
+ <details key="line" value="381"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1933" references="/0/testSequence/%/%/%/%/%/%/%/collect.45">
+ <details key="start" value="26636"/>
+ <details key="end" value="26681"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1934" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%">
+ <details key="start" value="26636"/>
+ <details key="end" value="26664"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1935" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%/eClasses">
+ <details key="start" value="26636"/>
+ <details key="end" value="26644"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1936" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%/%">
+ <details key="start" value="26660"/>
+ <details key="end" value="26661"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1937" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%/%.1">
+ <details key="start" value="26662"/>
+ <details key="end" value="26663"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1938" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%.1">
+ <details key="start" value="26676"/>
+ <details key="end" value="26680"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1939" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/%.1/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1905" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/temp59">
+ <eAnnotations source="positions.1940" references="/0/testSequence/%/%/%/%/%/%/%/collect.45/temp59">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1906" references="/0/testSequence/%/%/%/%/%/%/%/%.524">
- <details key="start" value="26580"/>
- <details key="end" value="26622"/>
- <details key="line" value="385"/>
+ <eAnnotations source="positions.1941" references="/0/testSequence/%/%/%/%/%/%/%/%.531">
+ <details key="start" value="26683"/>
+ <details key="end" value="26725"/>
+ <details key="line" value="382"/>
</eAnnotations>
- <eAnnotations source="positions.1907" references="/0/testSequence/%/%/%/%/%/%/%/%.525">
- <details key="start" value="26623"/>
- <details key="end" value="26654"/>
+ <eAnnotations source="positions.1942" references="/0/testSequence/%/%/%/%/%/%/%/%.532">
+ <details key="start" value="26726"/>
+ <details key="end" value="26757"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1908" references="/0/testSequence/%/%/%/%/%/%/%/%.525/collections">
- <details key="start" value="26623"/>
- <details key="end" value="26634"/>
+ <eAnnotations source="positions.1943" references="/0/testSequence/%/%/%/%/%/%/%/%.532/collections">
+ <details key="start" value="26726"/>
+ <details key="end" value="26737"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1909" references="/0/testSequence/%/%/%/%/%/%/%/%.525/%">
- <details key="start" value="26650"/>
- <details key="end" value="26651"/>
+ <eAnnotations source="positions.1944" references="/0/testSequence/%/%/%/%/%/%/%/%.532/%">
+ <details key="start" value="26753"/>
+ <details key="end" value="26754"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1910" references="/0/testSequence/%/%/%/%/%/%/%/%.525/%.1">
- <details key="start" value="26652"/>
- <details key="end" value="26653"/>
+ <eAnnotations source="positions.1945" references="/0/testSequence/%/%/%/%/%/%/%/%.532/%.1">
+ <details key="start" value="26755"/>
+ <details key="end" value="26756"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1911" references="/0/testSequence/%/%/%/%/%/%/%/%.526">
- <details key="start" value="26656"/>
- <details key="end" value="26657"/>
- <details key="line" value="386"/>
+ <eAnnotations source="positions.1946" references="/0/testSequence/%/%/%/%/%/%/%/%.533">
+ <details key="start" value="26759"/>
+ <details key="end" value="26760"/>
+ <details key="line" value="383"/>
</eAnnotations>
- <eAnnotations source="positions.1912" references="/0/testSequence/%/%/%/%/%/%/%/%.527">
- <details key="start" value="27048"/>
- <details key="end" value="27098"/>
+ <eAnnotations source="positions.1947" references="/0/testSequence/%/%/%/%/%/%/%/%.534">
+ <details key="start" value="27151"/>
+ <details key="end" value="27201"/>
+ <details key="line" value="392"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1948" references="/0/testSequence/%/%/%/%/%/%/%/%.535">
+ <details key="start" value="27202"/>
+ <details key="end" value="27242"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1949" references="/0/testSequence/%/%/%/%/%/%/%/%.535/integers">
+ <details key="start" value="27202"/>
+ <details key="end" value="27210"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1950" references="/0/testSequence/%/%/%/%/%/%/%/%.535/%">
+ <details key="start" value="27225"/>
+ <details key="end" value="27241"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1951" references="/0/testSequence/%/%/%/%/%/%/%/%.535/%/%/%">
+ <details key="start" value="27236"/>
+ <details key="end" value="27237"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1952" references="/0/testSequence/%/%/%/%/%/%/%/%.535/%/%.1/%">
+ <details key="start" value="27239"/>
+ <details key="end" value="27240"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1953" references="/0/testSequence/%/%/%/%/%/%/%/%.536">
+ <details key="start" value="27244"/>
+ <details key="end" value="27295"/>
+ <details key="line" value="393"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1954" references="/0/testSequence/%/%/%/%/%/%/%/%.537">
+ <details key="start" value="27296"/>
+ <details key="end" value="27336"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1955" references="/0/testSequence/%/%/%/%/%/%/%/%.537/integers">
+ <details key="start" value="27296"/>
+ <details key="end" value="27304"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1956" references="/0/testSequence/%/%/%/%/%/%/%/%.537/%">
+ <details key="start" value="27319"/>
+ <details key="end" value="27335"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1957" references="/0/testSequence/%/%/%/%/%/%/%/%.537/%/%/%">
+ <details key="start" value="27330"/>
+ <details key="end" value="27331"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1958" references="/0/testSequence/%/%/%/%/%/%/%/%.537/%/%.1/%">
+ <details key="start" value="27333"/>
+ <details key="end" value="27334"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1959" references="/0/testSequence/%/%/%/%/%/%/%/%.538">
+ <details key="start" value="27338"/>
+ <details key="end" value="27389"/>
+ <details key="line" value="394"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1960" references="/0/testSequence/%/%/%/%/%/%/%/%.539">
+ <details key="start" value="27390"/>
+ <details key="end" value="27430"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1961" references="/0/testSequence/%/%/%/%/%/%/%/%.539/integers">
+ <details key="start" value="27390"/>
+ <details key="end" value="27398"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1962" references="/0/testSequence/%/%/%/%/%/%/%/%.539/%">
+ <details key="start" value="27413"/>
+ <details key="end" value="27429"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1963" references="/0/testSequence/%/%/%/%/%/%/%/%.539/%/%/%">
+ <details key="start" value="27424"/>
+ <details key="end" value="27425"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1964" references="/0/testSequence/%/%/%/%/%/%/%/%.539/%/%.1/%">
+ <details key="start" value="27427"/>
+ <details key="end" value="27428"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1965" references="/0/testSequence/%/%/%/%/%/%/%/%.540">
+ <details key="start" value="27432"/>
+ <details key="end" value="27483"/>
<details key="line" value="395"/>
</eAnnotations>
- <eAnnotations source="positions.1913" references="/0/testSequence/%/%/%/%/%/%/%/%.528">
- <details key="start" value="27099"/>
- <details key="end" value="27139"/>
+ <eAnnotations source="positions.1966" references="/0/testSequence/%/%/%/%/%/%/%/%.541">
+ <details key="start" value="27484"/>
+ <details key="end" value="27524"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1914" references="/0/testSequence/%/%/%/%/%/%/%/%.528/integers">
- <details key="start" value="27099"/>
- <details key="end" value="27107"/>
+ <eAnnotations source="positions.1967" references="/0/testSequence/%/%/%/%/%/%/%/%.541/integers">
+ <details key="start" value="27484"/>
+ <details key="end" value="27492"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1915" references="/0/testSequence/%/%/%/%/%/%/%/%.528/%">
- <details key="start" value="27122"/>
- <details key="end" value="27138"/>
+ <eAnnotations source="positions.1968" references="/0/testSequence/%/%/%/%/%/%/%/%.541/%">
+ <details key="start" value="27507"/>
+ <details key="end" value="27523"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1916" references="/0/testSequence/%/%/%/%/%/%/%/%.528/%/%/%">
- <details key="start" value="27133"/>
- <details key="end" value="27134"/>
+ <eAnnotations source="positions.1969" references="/0/testSequence/%/%/%/%/%/%/%/%.541/%/%/%">
+ <details key="start" value="27518"/>
+ <details key="end" value="27519"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1917" references="/0/testSequence/%/%/%/%/%/%/%/%.528/%/%.1/%">
- <details key="start" value="27136"/>
- <details key="end" value="27137"/>
+ <eAnnotations source="positions.1970" references="/0/testSequence/%/%/%/%/%/%/%/%.541/%/%.1/%">
+ <details key="start" value="27521"/>
+ <details key="end" value="27522"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1918" references="/0/testSequence/%/%/%/%/%/%/%/%.529">
- <details key="start" value="27141"/>
- <details key="end" value="27192"/>
+ <eAnnotations source="positions.1971" references="/0/testSequence/%/%/%/%/%/%/%/%.542">
+ <details key="start" value="27526"/>
+ <details key="end" value="27527"/>
<details key="line" value="396"/>
</eAnnotations>
- <eAnnotations source="positions.1919" references="/0/testSequence/%/%/%/%/%/%/%/%.530">
- <details key="start" value="27193"/>
- <details key="end" value="27233"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1920" references="/0/testSequence/%/%/%/%/%/%/%/%.530/integers">
- <details key="start" value="27193"/>
- <details key="end" value="27201"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1921" references="/0/testSequence/%/%/%/%/%/%/%/%.530/%">
- <details key="start" value="27216"/>
- <details key="end" value="27232"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1922" references="/0/testSequence/%/%/%/%/%/%/%/%.530/%/%/%">
- <details key="start" value="27227"/>
- <details key="end" value="27228"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1923" references="/0/testSequence/%/%/%/%/%/%/%/%.530/%/%.1/%">
- <details key="start" value="27230"/>
- <details key="end" value="27231"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1924" references="/0/testSequence/%/%/%/%/%/%/%/%.531">
- <details key="start" value="27235"/>
- <details key="end" value="27286"/>
+ <eAnnotations source="positions.1972" references="/0/testSequence/%/%/%/%/%/%/%/%.543">
+ <details key="start" value="27574"/>
+ <details key="end" value="27622"/>
<details key="line" value="397"/>
</eAnnotations>
- <eAnnotations source="positions.1925" references="/0/testSequence/%/%/%/%/%/%/%/%.532">
- <details key="start" value="27287"/>
- <details key="end" value="27327"/>
+ <eAnnotations source="positions.1973" references="/0/testSequence/%/%/%/%/%/%/%/%.544">
+ <details key="start" value="27623"/>
+ <details key="end" value="27661"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1926" references="/0/testSequence/%/%/%/%/%/%/%/%.532/integers">
- <details key="start" value="27287"/>
- <details key="end" value="27295"/>
+ <eAnnotations source="positions.1974" references="/0/testSequence/%/%/%/%/%/%/%/%.544/integers">
+ <details key="start" value="27623"/>
+ <details key="end" value="27631"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1927" references="/0/testSequence/%/%/%/%/%/%/%/%.532/%">
- <details key="start" value="27310"/>
- <details key="end" value="27326"/>
+ <eAnnotations source="positions.1975" references="/0/testSequence/%/%/%/%/%/%/%/%.544/%">
+ <details key="start" value="27644"/>
+ <details key="end" value="27660"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1928" references="/0/testSequence/%/%/%/%/%/%/%/%.532/%/%/%">
- <details key="start" value="27321"/>
- <details key="end" value="27322"/>
+ <eAnnotations source="positions.1976" references="/0/testSequence/%/%/%/%/%/%/%/%.544/%/%/%">
+ <details key="start" value="27655"/>
+ <details key="end" value="27656"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1929" references="/0/testSequence/%/%/%/%/%/%/%/%.532/%/%.1/%">
- <details key="start" value="27324"/>
- <details key="end" value="27325"/>
+ <eAnnotations source="positions.1977" references="/0/testSequence/%/%/%/%/%/%/%/%.544/%/%.1/%">
+ <details key="start" value="27658"/>
+ <details key="end" value="27659"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1930" references="/0/testSequence/%/%/%/%/%/%/%/%.533">
- <details key="start" value="27329"/>
- <details key="end" value="27380"/>
+ <eAnnotations source="positions.1978" references="/0/testSequence/%/%/%/%/%/%/%/%.545">
+ <details key="start" value="27663"/>
+ <details key="end" value="27712"/>
<details key="line" value="398"/>
</eAnnotations>
- <eAnnotations source="positions.1931" references="/0/testSequence/%/%/%/%/%/%/%/%.534">
- <details key="start" value="27381"/>
- <details key="end" value="27421"/>
+ <eAnnotations source="positions.1979" references="/0/testSequence/%/%/%/%/%/%/%/%.546">
+ <details key="start" value="27713"/>
+ <details key="end" value="27751"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1932" references="/0/testSequence/%/%/%/%/%/%/%/%.534/integers">
- <details key="start" value="27381"/>
- <details key="end" value="27389"/>
+ <eAnnotations source="positions.1980" references="/0/testSequence/%/%/%/%/%/%/%/%.546/integers">
+ <details key="start" value="27713"/>
+ <details key="end" value="27721"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1933" references="/0/testSequence/%/%/%/%/%/%/%/%.534/%">
- <details key="start" value="27404"/>
- <details key="end" value="27420"/>
+ <eAnnotations source="positions.1981" references="/0/testSequence/%/%/%/%/%/%/%/%.546/%">
+ <details key="start" value="27734"/>
+ <details key="end" value="27750"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1934" references="/0/testSequence/%/%/%/%/%/%/%/%.534/%/%/%">
- <details key="start" value="27415"/>
- <details key="end" value="27416"/>
+ <eAnnotations source="positions.1982" references="/0/testSequence/%/%/%/%/%/%/%/%.546/%/%/%">
+ <details key="start" value="27745"/>
+ <details key="end" value="27746"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1935" references="/0/testSequence/%/%/%/%/%/%/%/%.534/%/%.1/%">
- <details key="start" value="27418"/>
- <details key="end" value="27419"/>
+ <eAnnotations source="positions.1983" references="/0/testSequence/%/%/%/%/%/%/%/%.546/%/%.1/%">
+ <details key="start" value="27748"/>
+ <details key="end" value="27749"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1936" references="/0/testSequence/%/%/%/%/%/%/%/%.535">
- <details key="start" value="27423"/>
- <details key="end" value="27424"/>
+ <eAnnotations source="positions.1984" references="/0/testSequence/%/%/%/%/%/%/%/%.547">
+ <details key="start" value="27753"/>
+ <details key="end" value="27802"/>
<details key="line" value="399"/>
</eAnnotations>
- <eAnnotations source="positions.1937" references="/0/testSequence/%/%/%/%/%/%/%/%.536">
- <details key="start" value="27471"/>
- <details key="end" value="27519"/>
+ <eAnnotations source="positions.1985" references="/0/testSequence/%/%/%/%/%/%/%/%.548">
+ <details key="start" value="27803"/>
+ <details key="end" value="27841"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1986" references="/0/testSequence/%/%/%/%/%/%/%/%.548/integers">
+ <details key="start" value="27803"/>
+ <details key="end" value="27811"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1987" references="/0/testSequence/%/%/%/%/%/%/%/%.548/%">
+ <details key="start" value="27824"/>
+ <details key="end" value="27840"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1988" references="/0/testSequence/%/%/%/%/%/%/%/%.548/%/%/%">
+ <details key="start" value="27835"/>
+ <details key="end" value="27836"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1989" references="/0/testSequence/%/%/%/%/%/%/%/%.548/%/%.1/%">
+ <details key="start" value="27838"/>
+ <details key="end" value="27839"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1990" references="/0/testSequence/%/%/%/%/%/%/%/%.549">
+ <details key="start" value="27843"/>
+ <details key="end" value="27892"/>
<details key="line" value="400"/>
</eAnnotations>
- <eAnnotations source="positions.1938" references="/0/testSequence/%/%/%/%/%/%/%/%.537">
- <details key="start" value="27520"/>
- <details key="end" value="27558"/>
+ <eAnnotations source="positions.1991" references="/0/testSequence/%/%/%/%/%/%/%/%.550">
+ <details key="start" value="27893"/>
+ <details key="end" value="27931"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1939" references="/0/testSequence/%/%/%/%/%/%/%/%.537/integers">
- <details key="start" value="27520"/>
- <details key="end" value="27528"/>
+ <eAnnotations source="positions.1992" references="/0/testSequence/%/%/%/%/%/%/%/%.550/integers">
+ <details key="start" value="27893"/>
+ <details key="end" value="27901"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1940" references="/0/testSequence/%/%/%/%/%/%/%/%.537/%">
- <details key="start" value="27541"/>
- <details key="end" value="27557"/>
+ <eAnnotations source="positions.1993" references="/0/testSequence/%/%/%/%/%/%/%/%.550/%">
+ <details key="start" value="27914"/>
+ <details key="end" value="27930"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1941" references="/0/testSequence/%/%/%/%/%/%/%/%.537/%/%/%">
- <details key="start" value="27552"/>
- <details key="end" value="27553"/>
+ <eAnnotations source="positions.1994" references="/0/testSequence/%/%/%/%/%/%/%/%.550/%/%/%">
+ <details key="start" value="27925"/>
+ <details key="end" value="27926"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1942" references="/0/testSequence/%/%/%/%/%/%/%/%.537/%/%.1/%">
- <details key="start" value="27555"/>
- <details key="end" value="27556"/>
+ <eAnnotations source="positions.1995" references="/0/testSequence/%/%/%/%/%/%/%/%.550/%/%.1/%">
+ <details key="start" value="27928"/>
+ <details key="end" value="27929"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1943" references="/0/testSequence/%/%/%/%/%/%/%/%.538">
- <details key="start" value="27560"/>
- <details key="end" value="27609"/>
+ <eAnnotations source="positions.1996" references="/0/testSequence/%/%/%/%/%/%/%/%.551">
+ <details key="start" value="27933"/>
+ <details key="end" value="27934"/>
<details key="line" value="401"/>
</eAnnotations>
- <eAnnotations source="positions.1944" references="/0/testSequence/%/%/%/%/%/%/%/%.539">
- <details key="start" value="27610"/>
- <details key="end" value="27648"/>
+ <eAnnotations source="positions.1997" references="/0/testSequence/%/%/%/%/%/%/%/%.552">
+ <details key="start" value="28114"/>
+ <details key="end" value="28142"/>
+ <details key="line" value="405"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1998" references="/0/testSequence/%/%/%/%/%/%/%/collect.46">
+ <details key="start" value="28143"/>
+ <details key="end" value="28161"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1945" references="/0/testSequence/%/%/%/%/%/%/%/%.539/integers">
- <details key="start" value="27610"/>
- <details key="end" value="27618"/>
+ <eAnnotations source="positions.1999" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/strings">
+ <details key="start" value="28143"/>
+ <details key="end" value="28150"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1946" references="/0/testSequence/%/%/%/%/%/%/%/%.539/%">
- <details key="start" value="27631"/>
- <details key="end" value="27647"/>
+ <eAnnotations source="positions.2000" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/%">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1947" references="/0/testSequence/%/%/%/%/%/%/%/%.539/%/%/%">
- <details key="start" value="27642"/>
- <details key="end" value="27643"/>
+ <eAnnotations source="positions.2001" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/%/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1948" references="/0/testSequence/%/%/%/%/%/%/%/%.539/%/%.1/%">
- <details key="start" value="27645"/>
- <details key="end" value="27646"/>
+ <eAnnotations source="positions.2002" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/temp60">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1949" references="/0/testSequence/%/%/%/%/%/%/%/%.540">
- <details key="start" value="27650"/>
- <details key="end" value="27699"/>
- <details key="line" value="402"/>
+ <eAnnotations source="positions.2003" references="/0/testSequence/%/%/%/%/%/%/%/%.553">
+ <details key="start" value="28163"/>
+ <details key="end" value="28193"/>
+ <details key="line" value="406"/>
</eAnnotations>
- <eAnnotations source="positions.1950" references="/0/testSequence/%/%/%/%/%/%/%/%.541">
- <details key="start" value="27700"/>
- <details key="end" value="27738"/>
+ <eAnnotations source="positions.2004" references="/0/testSequence/%/%/%/%/%/%/%/collect.47">
+ <details key="start" value="28194"/>
+ <details key="end" value="28213"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1951" references="/0/testSequence/%/%/%/%/%/%/%/%.541/integers">
- <details key="start" value="27700"/>
- <details key="end" value="27708"/>
+ <eAnnotations source="positions.2005" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/integers">
+ <details key="start" value="28194"/>
+ <details key="end" value="28202"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1952" references="/0/testSequence/%/%/%/%/%/%/%/%.541/%">
- <details key="start" value="27721"/>
- <details key="end" value="27737"/>
+ <eAnnotations source="positions.2006" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/%">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1953" references="/0/testSequence/%/%/%/%/%/%/%/%.541/%/%/%">
- <details key="start" value="27732"/>
- <details key="end" value="27733"/>
+ <eAnnotations source="positions.2007" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/%/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1954" references="/0/testSequence/%/%/%/%/%/%/%/%.541/%/%.1/%">
- <details key="start" value="27735"/>
- <details key="end" value="27736"/>
+ <eAnnotations source="positions.2008" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/temp61">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1955" references="/0/testSequence/%/%/%/%/%/%/%/%.542">
- <details key="start" value="27740"/>
- <details key="end" value="27789"/>
- <details key="line" value="403"/>
+ <eAnnotations source="positions.2009" references="/0/testSequence/%/%/%/%/%/%/%/%.554">
+ <details key="start" value="28215"/>
+ <details key="end" value="28242"/>
+ <details key="line" value="407"/>
</eAnnotations>
- <eAnnotations source="positions.1956" references="/0/testSequence/%/%/%/%/%/%/%/%.543">
- <details key="start" value="27790"/>
- <details key="end" value="27828"/>
+ <eAnnotations source="positions.2010" references="/0/testSequence/%/%/%/%/%/%/%/collect.48">
+ <details key="start" value="28243"/>
+ <details key="end" value="28259"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1957" references="/0/testSequence/%/%/%/%/%/%/%/%.543/integers">
- <details key="start" value="27790"/>
- <details key="end" value="27798"/>
+ <eAnnotations source="positions.2011" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/reals">
+ <details key="start" value="28243"/>
+ <details key="end" value="28248"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1958" references="/0/testSequence/%/%/%/%/%/%/%/%.543/%">
- <details key="start" value="27811"/>
- <details key="end" value="27827"/>
+ <eAnnotations source="positions.2012" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/%">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1959" references="/0/testSequence/%/%/%/%/%/%/%/%.543/%/%/%">
- <details key="start" value="27822"/>
- <details key="end" value="27823"/>
+ <eAnnotations source="positions.2013" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/%/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1960" references="/0/testSequence/%/%/%/%/%/%/%/%.543/%/%.1/%">
- <details key="start" value="27825"/>
- <details key="end" value="27826"/>
+ <eAnnotations source="positions.2014" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/temp62">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1961" references="/0/testSequence/%/%/%/%/%/%/%/%.544">
- <details key="start" value="27830"/>
- <details key="end" value="27831"/>
- <details key="line" value="404"/>
- </eAnnotations>
- <eAnnotations source="positions.1962" references="/0/testSequence/%/%/%/%/%/%/%/%.545">
- <details key="start" value="28011"/>
- <details key="end" value="28039"/>
+ <eAnnotations source="positions.2015" references="/0/testSequence/%/%/%/%/%/%/%/%.555">
+ <details key="start" value="28261"/>
+ <details key="end" value="28291"/>
<details key="line" value="408"/>
</eAnnotations>
- <eAnnotations source="positions.1963" references="/0/testSequence/%/%/%/%/%/%/%/collect.46">
- <details key="start" value="28040"/>
- <details key="end" value="28058"/>
+ <eAnnotations source="positions.2016" references="/0/testSequence/%/%/%/%/%/%/%/collect.49">
+ <details key="start" value="28292"/>
+ <details key="end" value="28311"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1964" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/strings">
- <details key="start" value="28040"/>
- <details key="end" value="28047"/>
+ <eAnnotations source="positions.2017" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/booleans">
+ <details key="start" value="28292"/>
+ <details key="end" value="28300"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1965" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/%">
+ <eAnnotations source="positions.2018" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/%">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1966" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/%/temp1">
+ <eAnnotations source="positions.2019" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/%/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1967" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/temp60">
+ <eAnnotations source="positions.2020" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/temp63">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1968" references="/0/testSequence/%/%/%/%/%/%/%/%.546">
- <details key="start" value="28060"/>
- <details key="end" value="28090"/>
+ <eAnnotations source="positions.2021" references="/0/testSequence/%/%/%/%/%/%/%/%.556">
+ <details key="start" value="28313"/>
+ <details key="end" value="28360"/>
<details key="line" value="409"/>
</eAnnotations>
- <eAnnotations source="positions.1969" references="/0/testSequence/%/%/%/%/%/%/%/collect.47">
- <details key="start" value="28091"/>
- <details key="end" value="28110"/>
+ <eAnnotations source="positions.2022" references="/0/testSequence/%/%/%/%/%/%/%/collect.50">
+ <details key="start" value="28361"/>
+ <details key="end" value="28397"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1970" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/integers">
- <details key="start" value="28091"/>
- <details key="end" value="28099"/>
+ <eAnnotations source="positions.2023" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect">
+ <details key="start" value="28361"/>
+ <details key="end" value="28380"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1971" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/%">
+ <eAnnotations source="positions.2024" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/eClasses">
+ <details key="start" value="28361"/>
+ <details key="end" value="28369"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2025" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/%">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1972" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/%/temp1">
+ <eAnnotations source="positions.2026" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/%/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1973" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/temp61">
+ <eAnnotations source="positions.2027" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/temp64">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1974" references="/0/testSequence/%/%/%/%/%/%/%/%.547">
- <details key="start" value="28112"/>
- <details key="end" value="28139"/>
+ <eAnnotations source="positions.2028" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/%">
+ <details key="start" value="28392"/>
+ <details key="end" value="28396"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2029" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/%/temp2">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2030" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/temp65">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2031" references="/0/testSequence/%/%/%/%/%/%/%/%.557">
+ <details key="start" value="28399"/>
+ <details key="end" value="28432"/>
<details key="line" value="410"/>
</eAnnotations>
- <eAnnotations source="positions.1975" references="/0/testSequence/%/%/%/%/%/%/%/collect.48">
- <details key="start" value="28140"/>
- <details key="end" value="28156"/>
+ <eAnnotations source="positions.2032" references="/0/testSequence/%/%/%/%/%/%/%/collect.51">
+ <details key="start" value="28433"/>
+ <details key="end" value="28455"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1976" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/reals">
- <details key="start" value="28140"/>
- <details key="end" value="28145"/>
+ <eAnnotations source="positions.2033" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/collections">
+ <details key="start" value="28433"/>
+ <details key="end" value="28444"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1977" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/%">
+ <eAnnotations source="positions.2034" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/%">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1978" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/%/temp1">
+ <eAnnotations source="positions.2035" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/%/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1979" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/temp62">
+ <eAnnotations source="positions.2036" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/temp66">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.1980" references="/0/testSequence/%/%/%/%/%/%/%/%.548">
- <details key="start" value="28158"/>
- <details key="end" value="28188"/>
+ <eAnnotations source="positions.2037" references="/0/testSequence/%/%/%/%/%/%/%/%.558">
+ <details key="start" value="28457"/>
+ <details key="end" value="28458"/>
<details key="line" value="411"/>
</eAnnotations>
- <eAnnotations source="positions.1981" references="/0/testSequence/%/%/%/%/%/%/%/collect.49">
- <details key="start" value="28189"/>
- <details key="end" value="28208"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1982" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/booleans">
- <details key="start" value="28189"/>
- <details key="end" value="28197"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1983" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/%">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1984" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1985" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/temp63">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1986" references="/0/testSequence/%/%/%/%/%/%/%/%.549">
- <details key="start" value="28210"/>
- <details key="end" value="28257"/>
- <details key="line" value="412"/>
- </eAnnotations>
- <eAnnotations source="positions.1987" references="/0/testSequence/%/%/%/%/%/%/%/collect.50">
- <details key="start" value="28258"/>
- <details key="end" value="28294"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1988" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect">
- <details key="start" value="28258"/>
- <details key="end" value="28277"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1989" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/eClasses">
- <details key="start" value="28258"/>
- <details key="end" value="28266"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1990" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/%">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1991" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1992" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/temp64">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1993" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/%">
- <details key="start" value="28289"/>
- <details key="end" value="28293"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1994" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/%/temp2">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1995" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/temp65">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1996" references="/0/testSequence/%/%/%/%/%/%/%/%.550">
- <details key="start" value="28296"/>
- <details key="end" value="28329"/>
- <details key="line" value="413"/>
- </eAnnotations>
- <eAnnotations source="positions.1997" references="/0/testSequence/%/%/%/%/%/%/%/collect.51">
- <details key="start" value="28330"/>
- <details key="end" value="28352"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1998" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/collections">
- <details key="start" value="28330"/>
- <details key="end" value="28341"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1999" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/%">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2000" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2001" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/temp66">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2002" references="/0/testSequence/%/%/%/%/%/%/%/%.551">
- <details key="start" value="28354"/>
- <details key="end" value="28355"/>
- <details key="line" value="414"/>
- </eAnnotations>
- <eAnnotations source="positions.2003" references="/0/testSequence/%/%/%/%/%/%/%/collections">
+ <eAnnotations source="positions.2038" references="/0/testSequence/%/%/%/%/%/%/%/collections">
<details key="start" value="540"/>
<details key="end" value="630"/>
<details key="line" value="12"/>
</eAnnotations>
- <eAnnotations source="positions.2004" references="/0/testSequence/%/%/%/%/%/%/%/collections/%">
+ <eAnnotations source="positions.2039" references="/0/testSequence/%/%/%/%/%/%/%/collections/%">
<details key="start" value="584"/>
<details key="end" value="631"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2005" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%/strings">
+ <eAnnotations source="positions.2040" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%/strings">
<details key="start" value="593"/>
<details key="end" value="600"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2006" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%">
+ <eAnnotations source="positions.2041" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%">
<details key="start" value="601"/>
<details key="end" value="622"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2007" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
+ <eAnnotations source="positions.2042" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
<details key="start" value="610"/>
<details key="end" value="613"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2008" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
+ <eAnnotations source="positions.2043" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
<details key="start" value="614"/>
<details key="end" value="617"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2009" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
+ <eAnnotations source="positions.2044" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
<details key="start" value="618"/>
<details key="end" value="621"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2010" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.2/strings">
+ <eAnnotations source="positions.2045" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.2/strings">
<details key="start" value="623"/>
<details key="end" value="630"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2011" references="/0/testSequence/%/%/%/%/%/%/eClasses">
+ <eAnnotations source="positions.2046" references="/0/testSequence/%/%/%/%/%/%/eClasses">
<details key="start" value="475"/>
<details key="end" value="533"/>
<details key="line" value="11"/>
</eAnnotations>
- <eAnnotations source="positions.2012" references="/0/testSequence/%/%/%/%/%/%/eClasses/%">
+ <eAnnotations source="positions.2047" references="/0/testSequence/%/%/%/%/%/%/eClasses/%">
<details key="start" value="506"/>
<details key="end" value="534"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2013" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%">
+ <eAnnotations source="positions.2048" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%">
<details key="start" value="506"/>
<details key="end" value="520"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2014" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%/p">
+ <eAnnotations source="positions.2049" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%/p">
<details key="start" value="506"/>
<details key="end" value="507"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2015" references="/0/testSequence/%/%/%/%/%/booleans">
+ <eAnnotations source="positions.2050" references="/0/testSequence/%/%/%/%/%/booleans">
<details key="start" value="410"/>
<details key="end" value="468"/>
<details key="line" value="10"/>
</eAnnotations>
- <eAnnotations source="positions.2016" references="/0/testSequence/%/%/%/%/%/booleans/%">
+ <eAnnotations source="positions.2051" references="/0/testSequence/%/%/%/%/%/booleans/%">
<details key="start" value="442"/>
<details key="end" value="469"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2017" references="/0/testSequence/%/%/%/%/%/booleans/%/%/%">
+ <eAnnotations source="positions.2052" references="/0/testSequence/%/%/%/%/%/booleans/%/%/%">
<details key="start" value="451"/>
<details key="end" value="455"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2018" references="/0/testSequence/%/%/%/%/%/booleans/%/%.1/%">
+ <eAnnotations source="positions.2053" references="/0/testSequence/%/%/%/%/%/booleans/%/%.1/%">
<details key="start" value="457"/>
<details key="end" value="462"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2019" references="/0/testSequence/%/%/%/%/%/booleans/%/%.2/%">
+ <eAnnotations source="positions.2054" references="/0/testSequence/%/%/%/%/%/booleans/%/%.2/%">
<details key="start" value="464"/>
<details key="end" value="468"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2020" references="/0/testSequence/%/%/%/%/reals">
+ <eAnnotations source="positions.2055" references="/0/testSequence/%/%/%/%/reals">
<details key="start" value="357"/>
<details key="end" value="403"/>
<details key="line" value="9"/>
</eAnnotations>
- <eAnnotations source="positions.2021" references="/0/testSequence/%/%/%/%/reals/%">
+ <eAnnotations source="positions.2056" references="/0/testSequence/%/%/%/%/reals/%">
<details key="start" value="383"/>
<details key="end" value="404"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2022" references="/0/testSequence/%/%/%/%/reals/%/%/%">
+ <eAnnotations source="positions.2057" references="/0/testSequence/%/%/%/%/reals/%/%/%">
<details key="start" value="392"/>
<details key="end" value="395"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2023" references="/0/testSequence/%/%/%/%/reals/%/%.1/%">
+ <eAnnotations source="positions.2058" references="/0/testSequence/%/%/%/%/reals/%/%.1/%">
<details key="start" value="396"/>
<details key="end" value="399"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2024" references="/0/testSequence/%/%/%/%/reals/%/%.2/%">
+ <eAnnotations source="positions.2059" references="/0/testSequence/%/%/%/%/reals/%/%.2/%">
<details key="start" value="400"/>
<details key="end" value="403"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2025" references="/0/testSequence/%/%/%/integers">
+ <eAnnotations source="positions.2060" references="/0/testSequence/%/%/%/integers">
<details key="start" value="304"/>
<details key="end" value="350"/>
<details key="line" value="8"/>
</eAnnotations>
- <eAnnotations source="positions.2026" references="/0/testSequence/%/%/%/integers/%">
+ <eAnnotations source="positions.2061" references="/0/testSequence/%/%/%/integers/%">
<details key="start" value="336"/>
<details key="end" value="351"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2027" references="/0/testSequence/%/%/%/integers/%/%/%">
+ <eAnnotations source="positions.2062" references="/0/testSequence/%/%/%/integers/%/%/%">
<details key="start" value="345"/>
<details key="end" value="346"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2028" references="/0/testSequence/%/%/%/integers/%/%.1/%">
+ <eAnnotations source="positions.2063" references="/0/testSequence/%/%/%/integers/%/%.1/%">
<details key="start" value="347"/>
<details key="end" value="348"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2029" references="/0/testSequence/%/%/%/integers/%/%.2/%">
+ <eAnnotations source="positions.2064" references="/0/testSequence/%/%/%/integers/%/%.2/%">
<details key="start" value="349"/>
<details key="end" value="350"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2030" references="/0/testSequence/%/%/strings">
+ <eAnnotations source="positions.2065" references="/0/testSequence/%/%/strings">
<details key="start" value="247"/>
<details key="end" value="297"/>
<details key="line" value="7"/>
</eAnnotations>
- <eAnnotations source="positions.2031" references="/0/testSequence/%/%/strings/%">
+ <eAnnotations source="positions.2066" references="/0/testSequence/%/%/strings/%">
<details key="start" value="277"/>
<details key="end" value="298"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2032" references="/0/testSequence/%/%/strings/%/%/%">
+ <eAnnotations source="positions.2067" references="/0/testSequence/%/%/strings/%/%/%">
<details key="start" value="286"/>
<details key="end" value="289"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2033" references="/0/testSequence/%/%/strings/%/%.1/%">
+ <eAnnotations source="positions.2068" references="/0/testSequence/%/%/strings/%/%.1/%">
<details key="start" value="290"/>
<details key="end" value="293"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2034" references="/0/testSequence/%/%/strings/%/%.2/%">
+ <eAnnotations source="positions.2069" references="/0/testSequence/%/%/strings/%/%.2/%">
<details key="start" value="294"/>
<details key="end" value="297"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2035" references="/0/testSequence/%/%.1">
+ <eAnnotations source="positions.2070" references="/0/testSequence/%/%.1">
<details key="start" value="139"/>
<details key="end" value="153"/>
<details key="line" value="0"/>
</eAnnotations>
- <eAnnotations source="positions.2036" references="/0/testSequence/p">
+ <eAnnotations source="positions.2071" references="/0/testSequence/p">
<details key="start" value="100"/>
<details key="end" value="112"/>
<details key="line" value="3"/>
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl
index c59a809..f306ee1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl
@@ -359,6 +359,10 @@
@Test Sequence{p,'test',true,1,2.2} -> filter(EPackage) -> first() = p => [Sequence{p, 'test', true, 1, 2.2}->filter(ecore::EPackage)->first() = p/]
@Test Sequence{p,'test',true,1,2.2} -> filter(EClass) -> size() => [Sequence{p, 'test', true, 1, 2.2}->filter(ecore::EClass)->size()/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(String) => [Sequence{p, 'test', true, 1, 2.2}->filter(String)/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(Integer) => [Sequence{p, 'test', true, 1, 2.2}->filter(Integer)/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(Boolean) => [Sequence{p, 'test', true, 1, 2.2}->filter(Boolean)/]
+ @Test Sequence{p,'test',true,1,2.2} -> filter(Real) => [Sequence{p, 'test', true, 1, 2.2}->filter(Real)/]
@Test strings -> subSequence(1,2) => [strings->subSequence(1, 2)/]
@Test integers -> subSequence(1,2) => [integers->subSequence(1, 2)/]