< prev index next >
src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java
Print this page
*** 44,54 ****
import sun.reflect.generics.tree.FieldTypeSignature;
import sun.reflect.generics.visitor.Reifier;
import sun.reflect.misc.ReflectUtil;
/**
! * Implementation of <tt>java.lang.reflect.TypeVariable</tt> interface
* for core reflection.
*/
public class TypeVariableImpl<D extends GenericDeclaration>
extends LazyReflectiveObjectGenerator implements TypeVariable<D> {
private final D genericDeclaration;
--- 44,54 ----
import sun.reflect.generics.tree.FieldTypeSignature;
import sun.reflect.generics.visitor.Reifier;
import sun.reflect.misc.ReflectUtil;
/**
! * Implementation of {@code java.lang.reflect.TypeVariable} interface
* for core reflection.
*/
public class TypeVariableImpl<D extends GenericDeclaration>
extends LazyReflectiveObjectGenerator implements TypeVariable<D> {
private final D genericDeclaration;
*** 97,121 ****
return new TypeVariableImpl<T>(decl, name, bs, f);
}
/**
! * Returns an array of <tt>Type</tt> objects representing the
* upper bound(s) of this type variable. Note that if no upper bound is
! * explicitly declared, the upper bound is <tt>Object</tt>.
*
* <p>For each upper bound B:
* <ul>
* <li>if B is a parameterized type or a type variable, it is created,
* (see {@link #ParameterizedType} for the details of the creation
* process for parameterized types).
* <li>Otherwise, B is resolved.
* </ul>
*
! * @throws <tt>TypeNotPresentException</tt> if any of the
* bounds refers to a non-existent type declaration
! * @throws <tt>MalformedParameterizedTypeException</tt> if any of the
* bounds refer to a parameterized type that cannot be instantiated
* for any reason
* @return an array of Types representing the upper bound(s) of this
* type variable
*/
--- 97,121 ----
return new TypeVariableImpl<T>(decl, name, bs, f);
}
/**
! * Returns an array of {@code Type} objects representing the
* upper bound(s) of this type variable. Note that if no upper bound is
! * explicitly declared, the upper bound is {@code Object}.
*
* <p>For each upper bound B:
* <ul>
* <li>if B is a parameterized type or a type variable, it is created,
* (see {@link #ParameterizedType} for the details of the creation
* process for parameterized types).
* <li>Otherwise, B is resolved.
* </ul>
*
! * @throws {@code TypeNotPresentException} if any of the
* bounds refers to a non-existent type declaration
! * @throws {@code MalformedParameterizedTypeException} if any of the
* bounds refer to a parameterized type that cannot be instantiated
* for any reason
* @return an array of Types representing the upper bound(s) of this
* type variable
*/
*** 127,137 ****
}
return (Type[])value.clone();
}
/**
! * Returns the <tt>GenericDeclaration</tt> object representing the
* generic declaration that declared this type variable.
*
* @return the generic declaration that declared this type variable.
*
* @since 1.5
--- 127,137 ----
}
return (Type[])value.clone();
}
/**
! * Returns the {@code GenericDeclaration} object representing the
* generic declaration that declared this type variable.
*
* @return the generic declaration that declared this type variable.
*
* @since 1.5
< prev index next >