/** * {@inheritDoc} */ public TypeList.Generic getTypeVariables() { return bridgeTarget.getTypeVariables(); }
/** * {@inheritDoc} */ public TypeList.Generic getTypeVariables() { return methodDescription.getTypeVariables().accept(visitor).filter(ElementMatchers.ofSort(TypeDefinition.Sort.VARIABLE)); }
/** * {@inheritDoc} */ public MethodDefinition.ImplementationDefinition<S> define(MethodDescription methodDescription) { MethodDefinition.ParameterDefinition.Initial<S> initialParameterDefinition = methodDescription.isConstructor() ? defineConstructor(methodDescription.getModifiers()) : defineMethod(methodDescription.getInternalName(), methodDescription.getReturnType(), methodDescription.getModifiers()); ParameterList<?> parameterList = methodDescription.getParameters(); MethodDefinition.ExceptionDefinition<S> exceptionDefinition; if (parameterList.hasExplicitMetaData()) { MethodDefinition.ParameterDefinition<S> parameterDefinition = initialParameterDefinition; for (ParameterDescription parameter : parameterList) { parameterDefinition = parameterDefinition.withParameter(parameter.getType(), parameter.getName(), parameter.getModifiers()); } exceptionDefinition = parameterDefinition; } else { exceptionDefinition = initialParameterDefinition.withParameters(parameterList.asTypeList()); } MethodDefinition.TypeVariableDefinition<S> typeVariableDefinition = exceptionDefinition.throwing(methodDescription.getExceptionTypes()); for (TypeDescription.Generic typeVariable : methodDescription.getTypeVariables()) { typeVariableDefinition = typeVariableDefinition.typeVariable(typeVariable.getSymbol(), typeVariable.getUpperBounds()); } return typeVariableDefinition; }
annotationValueFilter, AnnotationAppender.ForTypeAnnotations.VARIABLE_ON_INVOKEABLE, methodDescription.getTypeVariables()); for (AnnotationDescription annotation : methodDescription.getDeclaredAnnotations().filter(not(annotationType(nameStartsWith("jdk.internal."))))) { annotationAppender = annotationAppender.append(annotation, annotationValueFilter);
/** * Append a method signature * * @param method Method to append signature of * @param output Output to append to * @param <A> Type of output * @return Supplied output to append to */ public <A extends Appendable> A appendMethodSignature(MethodDescription method, A output) { try { if (!method.getTypeVariables().isEmpty()) { appendTypeParameters(method.getTypeVariables(), output); } output.append('('); for (ParameterDescription parameter : method.getParameters()) { Nullness nullable = this.nullability.getParameterNullability(parameter); appendJavaTypeSignature(parameter.getType(), nullable, output); } output.append(')'); Nullness nullable = this.nullability.getReturnValueNullability(method); appendJavaTypeSignature(method.getReturnType(), nullable, output); return output; } catch (Exception e) { throw new RuntimeException(String.format("Could not write method signature %s", method)); } }
/** * Append a method signature * * @param method Method to append signature of * @param output Output to append to * @param <A> Type of output * @return Supplied output to append to */ public <A extends Appendable> A appendMethodSignature(MethodDescription method, A output) { try { if (!method.getTypeVariables().isEmpty()) { appendTypeParameters(method.getTypeVariables(), output); } output.append('('); for (ParameterDescription parameter : method.getParameters()) { Nullness nullable = this.nullability.getParameterNullability(parameter); appendJavaTypeSignature(parameter.getType(), nullable, output); } output.append(')'); Nullness nullable = this.nullability.getReturnValueNullability(method); appendJavaTypeSignature(method.getReturnType(), nullable, output); return output; } catch (Exception e) { throw new RuntimeException(String.format("Could not write method signature %s", method)); } }