use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method doTestInnerType_WrappedIterator_01.
private void doTestInnerType_WrappedIterator_01(JvmGenericType wrappedIterator) {
assertEquals(2, Iterables.size(wrappedIterator.getDeclaredConstructors()));
// default constructor
assertTrue(Iterables.any(wrappedIterator.getMembers(), new Predicate<JvmMember>() {
@Override
public boolean apply(JvmMember input) {
return (input instanceof JvmConstructor) && input.getSimpleName().equals("Iter") && ((JvmConstructor) input).getParameters().size() == 0;
}
}));
// second constructor
JvmConstructor secondConstructor = (JvmConstructor) Iterables.find(wrappedIterator.getMembers(), new Predicate<JvmMember>() {
@Override
public boolean apply(JvmMember input) {
return (input instanceof JvmConstructor) && input.getSimpleName().equals("Iter") && ((JvmConstructor) input).getParameters().size() == 1;
}
});
assertNotNull(secondConstructor);
JvmFormalParameter firstParameter = secondConstructor.getParameters().get(0);
assertEquals("java.util.Iterator<V>", firstParameter.getParameterType().getIdentifier());
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method doTestInnerType_WrappedIterator_03.
protected void doTestInnerType_WrappedIterator_03(JvmGenericType wrappedIterator) {
assertEquals(3, Iterables.size(wrappedIterator.getDeclaredConstructors()));
JvmConstructor constructor = (JvmConstructor) Iterables.find(wrappedIterator.getMembers(), new Predicate<JvmMember>() {
@Override
public boolean apply(JvmMember input) {
return (input instanceof JvmConstructor) && input.getSimpleName().equals("WrappedIterator") && ((JvmConstructor) input).getParameters().size() == 4;
}
});
assertNotNull(constructor);
JvmFormalParameter firstParameter = constructor.getParameters().get(0);
assertEquals(0, firstParameter.getAnnotations().size());
assertEquals("int", firstParameter.getParameterType().getIdentifier());
JvmFormalParameter secondParameter = constructor.getParameters().get(1);
assertEquals(1, secondParameter.getAnnotations().size());
assertEquals("java.lang.String", secondParameter.getParameterType().getIdentifier());
assertEquals(TestAnnotationWithDefaults.class.getName(), secondParameter.getAnnotations().get(0).getAnnotation().getQualifiedName());
JvmFormalParameter thirdParameter = constructor.getParameters().get(2);
assertEquals(0, thirdParameter.getAnnotations().size());
assertEquals("int", thirdParameter.getParameterType().getIdentifier());
JvmFormalParameter forthParameter = constructor.getParameters().get(3);
assertEquals(1, forthParameter.getAnnotations().size());
assertEquals("java.lang.String", forthParameter.getParameterType().getIdentifier());
assertEquals(TestAnnotation.NestedAnnotation.class.getName(), forthParameter.getAnnotations().get(0).getAnnotation().getQualifiedName());
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method recomputeAndCheckIdentifiers.
protected void recomputeAndCheckIdentifiers(Resource resource) {
Iterator<JvmMember> iter = Iterators.filter(EcoreUtil.getAllContents(resource, false), JvmMember.class);
while (iter.hasNext()) {
JvmMember member = iter.next();
String identifier = member.getIdentifier();
member.internalSetIdentifier(null);
String computed = member.getIdentifier();
assertNotNull(String.valueOf(member), computed);
assertEquals(identifier, computed);
checkDeprecatedBitSet(member);
}
Iterator<JvmFormalParameter> params = Iterators.filter(EcoreUtil.getAllContents(resource, false), JvmFormalParameter.class);
while (params.hasNext()) {
JvmFormalParameter parameter = params.next();
assertNotNull(parameter.eContainer().toString(), parameter.getName());
}
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method test_twoListWildcardsNoResult_03.
@Test
public void test_twoListWildcardsNoResult_03() {
JvmOperation twoListWildcardsNoResult = getMethodFromParameterizedMethods("twoListWildcardsNoResult(java.util.List,java.util.List)");
JvmFormalParameter firstParam = twoListWildcardsNoResult.getParameters().get(0);
JvmTypeReference paramType = firstParam.getParameterType();
JvmParameterizedTypeReference parameterized = (JvmParameterizedTypeReference) paramType;
assertEquals(1, parameterized.getArguments().size());
JvmTypeReference typeParameter = parameterized.getArguments().get(0);
assertTrue(typeParameter instanceof JvmWildcardTypeReference);
JvmWildcardTypeReference wildcard = (JvmWildcardTypeReference) typeParameter;
assertEquals(1, wildcard.getConstraints().size());
assertTrue(wildcard.getConstraints().get(0) instanceof JvmUpperBound);
JvmUpperBound upperBound = (JvmUpperBound) wildcard.getConstraints().get(0);
assertNotNull(upperBound.getTypeReference());
JvmType upperBoundType = upperBound.getTypeReference().getType();
assertFalse(upperBoundType.eIsProxy());
assertEquals("java.lang.Object", upperBoundType.getIdentifier());
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method testEnum_04.
@Test
public void testEnum_04() throws Exception {
String typeName = TestEnum.class.getName();
JvmEnumerationType type = (JvmEnumerationType) getTypeProvider().findTypeByName(typeName);
List<JvmMember> members = type.getMembers();
boolean constructorFound = false;
for (JvmMember member : members) {
if (member instanceof JvmConstructor) {
assertFalse(constructorFound);
constructorFound = true;
List<JvmFormalParameter> parameters = ((JvmConstructor) member).getParameters();
// synthetic parameters are not returned
assertEquals(1, parameters.size());
}
}
assertTrue(constructorFound);
}
Aggregations