use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method test_twoListParamsNoResult_03.
@Test
public void test_twoListParamsNoResult_03() {
JvmOperation twoListParamsNoResult = getMethodFromParameterizedMethods("twoListParamsNoResult(java.util.List,java.util.List)");
JvmFormalParameter firstParam = twoListParamsNoResult.getParameters().get(0);
JvmTypeReference paramType = firstParam.getParameterType();
JvmParameterizedTypeReference parameterized = (JvmParameterizedTypeReference) paramType;
assertEquals(1, parameterized.getArguments().size());
JvmTypeReference typeParameter = parameterized.getArguments().get(0);
JvmType referencedType = typeParameter.getType();
assertFalse(referencedType.eIsProxy());
assertTrue(referencedType instanceof JvmTypeParameter);
JvmTypeParameter typeVar = (JvmTypeParameter) referencedType;
assertEquals("T", typeVar.getName());
assertSame(twoListParamsNoResult, typeVar.getDeclarator());
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method test_twoListWildcardsNoResult_02.
@Test
public void test_twoListWildcardsNoResult_02() {
JvmOperation twoListWildcardsNoResult = getMethodFromParameterizedMethods("twoListWildcardsNoResult(java.util.List,java.util.List)");
JvmFormalParameter firstParam = twoListWildcardsNoResult.getParameters().get(0);
JvmTypeReference paramType = firstParam.getParameterType();
assertNotNull(paramType);
assertEquals("java.util.List<? extends java.lang.Object>", paramType.getIdentifier());
assertTrue(paramType instanceof JvmParameterizedTypeReference);
JvmParameterizedTypeReference parameterized = (JvmParameterizedTypeReference) paramType;
JvmType rawType = parameterized.getType();
assertFalse(rawType.eIsProxy());
assertEquals("java.util.List", rawType.getIdentifier());
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method doTestInnerType_WrappedIterator_02.
protected void doTestInnerType_WrappedIterator_02(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() == 3;
}
});
assertNotNull(constructor);
JvmFormalParameter firstParameter = constructor.getParameters().get(0);
assertEquals(1, firstParameter.getAnnotations().size());
assertEquals("java.lang.String", firstParameter.getParameterType().getIdentifier());
assertEquals(TestAnnotationWithDefaults.class.getName(), firstParameter.getAnnotations().get(0).getAnnotation().getQualifiedName());
JvmFormalParameter secondParameter = constructor.getParameters().get(1);
assertEquals(0, secondParameter.getAnnotations().size());
assertEquals("int", secondParameter.getParameterType().getIdentifier());
JvmFormalParameter thirdParameter = constructor.getParameters().get(2);
assertEquals(1, thirdParameter.getAnnotations().size());
assertEquals("java.util.Iterator<V>", thirdParameter.getParameterType().getIdentifier());
assertEquals(TestAnnotation.NestedAnnotation.class.getName(), thirdParameter.getAnnotations().get(0).getAnnotation().getQualifiedName());
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderTest method testFindTypeByName_AbstractMultimap_02.
@Test
public void testFindTypeByName_AbstractMultimap_02() {
String typeName = "com.google.common.collect.AbstractMultimap";
JvmGenericType type = (JvmGenericType) getTypeProvider().findTypeByName(typeName);
JvmOperation containsValue = (JvmOperation) Iterables.getOnlyElement(type.findAllFeaturesByName("containsValue"));
assertNotNull(containsValue);
JvmFormalParameter firstParam = containsValue.getParameters().get(0);
assertEquals(0, firstParam.getAnnotations().size());
}
use of org.eclipse.xtext.common.types.JvmFormalParameter in project xtext-eclipse by eclipse.
the class AbstractTypeProviderPerformanceTest method loadAndResolve.
protected JvmDeclaredType loadAndResolve(String name, boolean accessMembers, boolean accessAnnotations, boolean accessTypeParams, boolean accessParameter, boolean accessParameterNames) {
JvmDeclaredType type = (JvmDeclaredType) getTypeProvider().findTypeByName(name);
EcoreUtil.resolveAll(type.eResource());
EcoreUtil.resolveAll(type.eResource().getResourceSet());
Assert.assertNotNull(name, type);
if (accessAnnotations) {
type.getAnnotations();
}
if (accessMembers) {
EList<JvmMember> members = type.getMembers();
for (JvmMember member : members) {
if (accessAnnotations) {
member.getAnnotations();
}
if (member instanceof JvmExecutable) {
JvmExecutable operation = (JvmExecutable) member;
if (accessParameter) {
EList<JvmFormalParameter> parameters = operation.getParameters();
for (JvmFormalParameter jvmFormalParameter : parameters) {
if (accessAnnotations) {
jvmFormalParameter.getAnnotations();
}
if (accessParameterNames) {
jvmFormalParameter.getName();
}
}
}
}
}
}
return type;
}
Aggregations