
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