Exemple #1
0
 /**
  * Returns the type of an element when that element is viewed as a member of, or otherwise
  * directly contained by, a given type. For example, when viewed as a member of the parameterized
  * type {@code Set<String>}, the {@code Set.add} method is an {@code ExecutableType} whose
  * parameter is of type {@code String}.
  *
  * @param containing the containing type
  * @param element the element
  * @return the type of the element as viewed from the containing type
  * @throws IllegalArgumentException if the element is not a valid one for the given type
  */
 public TypeMirror asMemberOf(DeclaredType containing, Element element) {
   Type site = (Type) containing;
   Symbol sym = (Symbol) element;
   if (types.asSuper(site, sym.getEnclosingElement()) == null)
     throw new IllegalArgumentException(sym + "@" + site);
   return types.memberType(site, sym);
 }