@Override public boolean mention(List<ResolvedTypeParameterDeclaration> typeParameters) { return typeParametersValues().stream().anyMatch(tp -> tp.mention(typeParameters)); }
@Override public boolean mention(List<ResolvedTypeParameterDeclaration> typeParameters) { return typeParametersValues().stream().anyMatch(tp -> tp.mention(typeParameters)); }
@Override public boolean mention(List<ResolvedTypeParameterDeclaration> typeParameters) { return typeParametersValues().stream().anyMatch(tp -> tp.mention(typeParameters)); }
/** * Execute a transformation on all the type parameters of this element. */ @Override public ResolvedType transformTypeParameters(ResolvedTypeTransformer transformer) { ResolvedType result = this; int i = 0; for (ResolvedType tp : this.typeParametersValues()) { ResolvedType transformedTp = transformer.transform(tp); // Identity comparison on purpose if (transformedTp != tp) { List<ResolvedType> typeParametersCorrected = result.asReferenceType().typeParametersValues(); typeParametersCorrected.set(i, transformedTp); result = create(typeDeclaration, typeParametersCorrected); } i++; } return result; }
/** * Execute a transformation on all the type parameters of this element. */ @Override public ResolvedType transformTypeParameters(ResolvedTypeTransformer transformer) { ResolvedType result = this; int i = 0; for (ResolvedType tp : this.typeParametersValues()) { ResolvedType transformedTp = transformer.transform(tp); // Identity comparison on purpose if (transformedTp != tp) { List<ResolvedType> typeParametersCorrected = result.asReferenceType().typeParametersValues(); typeParametersCorrected.set(i, transformedTp); result = create(typeDeclaration, typeParametersCorrected); } i++; } return result; }
/** * Execute a transformation on all the type parameters of this element. */ @Override public ResolvedType transformTypeParameters(ResolvedTypeTransformer transformer) { ResolvedType result = this; int i = 0; for (ResolvedType tp : this.typeParametersValues()) { ResolvedType transformedTp = transformer.transform(tp); // Identity comparison on purpose if (transformedTp != tp) { List<ResolvedType> typeParametersCorrected = result.asReferenceType().typeParametersValues(); typeParametersCorrected.set(i, transformedTp); result = create(typeDeclaration, typeParametersCorrected); } i++; } return result; }
@Test public void testDerivationOfTypeParameters() { ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ReferenceTypeImpl ref1 = new ReferenceTypeImpl(typeSolver.solveType(LinkedList.class.getCanonicalName()), typeSolver); assertEquals(1, ref1.typeParametersValues().size()); assertEquals(true, ref1.typeParametersValues().get(0).isTypeVariable()); assertEquals("E", ref1.typeParametersValues().get(0).asTypeParameter().getName()); }