Returns the type corresponding to a type element
and actual type arguments, given a
containing type
of which it is a member.
The parameterized type
Outer<String>.Inner<Number>
,
for example, may be constructed by first using
Types.getDeclaredType(TypeElement, TypeMirror...)
to get the type
Outer<String>
, and then invoking
this method.
If the containing type is a parameterized type,
the number of type arguments must equal the
number of typeElem
's formal type parameters.
If it is not parameterized or if it is null
, this method is
equivalent to getDeclaredType(typeElem, typeArgs)
.
Returns:
the type corresponding to the type element and
actual type arguments, contained within the given type
Parameters:
- containing - the containing type, or {@code null} if none
- typeElem - the type element
- typeArgs - the actual type arguments
Throws:
- IllegalArgumentException - if too many or too few
type arguments are given, or if an inappropriate type
argument, type element, or containing type is provided