@Override public List<ResolvedTypeParameterDeclaration> getTypeParameters() { try { if (ctConstructor.getGenericSignature() == null) { return Collections.emptyList(); } SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(ctConstructor.getGenericSignature()); return Arrays.stream(methodSignature.getTypeParameters()).map((jasTp) -> new JavassistTypeParameter(jasTp, this, typeSolver)).collect(Collectors.toList()); } catch (BadBytecode badBytecode) { throw new RuntimeException(badBytecode); } }
@Override public List<ResolvedTypeParameterDeclaration> getTypeParameters() { try { if (ctConstructor.getGenericSignature() == null) { return Collections.emptyList(); } SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(ctConstructor.getGenericSignature()); return Arrays.stream(methodSignature.getTypeParameters()).map((jasTp) -> new JavassistTypeParameter(jasTp, this, typeSolver)).collect(Collectors.toList()); } catch (BadBytecode badBytecode) { throw new RuntimeException(badBytecode); } }
@Override public List<ResolvedTypeParameterDeclaration> getTypeParameters() { try { if (ctMethod.getGenericSignature() == null) { return Collections.emptyList(); } SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(ctMethod.getGenericSignature()); return Arrays.stream(methodSignature.getTypeParameters()).map((jasTp) -> new JavassistTypeParameter(jasTp, this, typeSolver)).collect(Collectors.toList()); } catch (BadBytecode badBytecode) { throw new RuntimeException(badBytecode); } }
private String transformMethodSignature(SignatureAttribute signatureAttribute) throws BadBytecode { String originalSig = signatureAttribute.getSignature(); SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(originalSig); SignatureAttribute.ClassType returnType = new SignatureAttribute.ClassType("javax.ws.rs.core.Response"); SignatureAttribute.MethodSignature replacementSignature = new SignatureAttribute.MethodSignature( methodSignature.getTypeParameters(), methodSignature.getParameterTypes(), returnType, methodSignature.getExceptionTypes()); return replacementSignature.encode(); } }
@Override public List<ResolvedTypeParameterDeclaration> getTypeParameters() { try { if (ctMethod.getGenericSignature() == null) { return Collections.emptyList(); } SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(ctMethod.getGenericSignature()); return Arrays.stream(methodSignature.getTypeParameters()).map((jasTp) -> new JavassistTypeParameter(jasTp, this, typeSolver)).collect(Collectors.toList()); } catch (BadBytecode badBytecode) { throw new RuntimeException(badBytecode); } }
@Override Type getTypeBound(TypeVariable tv) { Type type = getTypeFromTypeParameters(tv, sig.getTypeParameters()); if (type != null) return type; type = getTypeFromTypeParameters(tv, classSig.getParameters()); if (type != null) return type; throw new IllegalStateException("No type parameter found called " + tv.getName() + " in " + sig + " or in " + classSig); } }
@Override Type getTypeBound(TypeVariable tv) { Type type = getTypeFromTypeParameters(tv, sig.getTypeParameters()); if (type != null) return type; type = getTypeFromTypeParameters(tv, classSig.getParameters()); if (type != null) return type; throw new IllegalStateException("No type parameter found called " + tv.getName() + " in " + sig + " or in " + classSig); } }
@Override public List<ResolvedTypeParameterDeclaration> getTypeParameters() { try { if (ctMethod.getGenericSignature() == null) { return Collections.emptyList(); } SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(ctMethod.getGenericSignature()); return Arrays.stream(methodSignature.getTypeParameters()).map((jasTp) -> new JavassistTypeParameter(jasTp, this, typeSolver)).collect(Collectors.toList()); } catch (BadBytecode badBytecode) { throw new RuntimeException(badBytecode); } }
@Override public List<ResolvedTypeParameterDeclaration> getTypeParameters() { try { if (ctConstructor.getGenericSignature() == null) { return Collections.emptyList(); } SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(ctConstructor.getGenericSignature()); return Arrays.stream(methodSignature.getTypeParameters()).map((jasTp) -> new JavassistTypeParameter(jasTp, this, typeSolver)).collect(Collectors.toList()); } catch (BadBytecode badBytecode) { throw new RuntimeException(badBytecode); } }