@Override public Type<?> visitTypeParameter(final Type<?> type, final TypeBindings bindings) { if (bindings.containsGenericParameter(type)) { return bindings.getBoundType(type); } final Type<?> upperBound = type.getExtendsBound(); final Type<?> newUpperBound = visit(upperBound, bindings); if (newUpperBound != upperBound) { if (type.getDeclaringMethod() != null) { return new GenericParameter( type.getFullName(), (MethodInfo) type.getDeclaringMethod(), newUpperBound, type.getGenericParameterPosition() ); } return new GenericParameter( type.getFullName(), type.getDeclaringType(), newUpperBound, type.getGenericParameterPosition() ); } return type; }
@Override public Type<?> visitTypeParameter(final Type<?> type, final TypeBindings bindings) { if (bindings.containsGenericParameter(type)) { return bindings.getBoundType(type); } final Type<?> upperBound = type.getExtendsBound(); final Type<?> newUpperBound = visit(upperBound, bindings); if (newUpperBound != upperBound) { if (type.getDeclaringMethod() != null) { return new GenericParameter( type.getFullName(), (MethodInfo) type.getDeclaringMethod(), newUpperBound, type.getGenericParameterPosition() ); } return new GenericParameter( type.getFullName(), type.getDeclaringType(), newUpperBound, type.getGenericParameterPosition() ); } return type; }
return new GenericParameter( type.getFullName(), (MethodInfo) type.getDeclaringMethod(), return new GenericParameter( type.getFullName(), type.getDeclaringType(),
new GenericParameter( typeVariable.getName(), currentType,
new GenericParameter( typeVariable.getName(), currentType,
new GenericParameter( typeVariable.getName(), currentType,
final GenericParameter genericParameter = new GenericParameter(typeVariable.getName(), typeVariable, i);
final GenericParameter genericParameter = new GenericParameter(typeVariable.getName(), typeVariable, i);
final GenericParameter genericParameter = new GenericParameter(typeVariable.getName(), typeVariable, i);