private static List<? extends TypeMirror> getInterceptors(RouterRegex regex) { try { regex.interceptors(); } catch (MirroredTypesException mte) { return mte.getTypeMirrors(); } return null; }
protected RuntimeException generateException() { return new MirroredTypesException(types); } }
protected RuntimeException generateException() { return new MirroredTypesException(types); } }
private static List<? extends TypeMirror> getInterface(RouterService service) { try { service.interfaces(); } catch (MirroredTypesException mte) { return mte.getTypeMirrors(); } return null; }
protected RuntimeException generateException() { return new MirroredTypesException(types); }
private static List<? extends TypeMirror> getInterceptors(RouterUri scheme) { try { scheme.interceptors(); } catch (MirroredTypesException mte) { return mte.getTypeMirrors(); } return null; }
protected RuntimeException generateException() { return new MirroredTypesException(types); }
private static List<? extends TypeMirror> getInterceptors(RouterPage page) { try { page.interceptors(); } catch (MirroredTypesException mte) { return mte.getTypeMirrors(); } return null; }
throw new MirroredTypesException(mirrors);
private void parseParams(Set<? extends Element> elements, Set<String> viewClassSet) { for (Element element : elements) { checkAnnotationValid(element, BGABadge.class); TypeElement classElement = (TypeElement) element; // 获取该注解的值 BGABadge badgeAnnotation = classElement.getAnnotation(BGABadge.class); try { badgeAnnotation.value(); } catch (MirroredTypesException e) { List<? extends TypeMirror> typeMirrors = e.getTypeMirrors(); for (TypeMirror typeMirror : typeMirrors) { DeclaredType classTypeMirror = (DeclaredType) typeMirror; TypeElement classTypeElement = (TypeElement) classTypeMirror.asElement(); String qualifiedName = classTypeElement.getQualifiedName().toString(); viewClassSet.add(qualifiedName); } } } }
throw new MirroredTypesException(mirrors);
private static Matcher<Tree> shouldAllow(RestrictedApi api) { try { return Matchers.hasAnyAnnotation(api.whitelistAnnotations()); } catch (MirroredTypesException e) { return Matchers.hasAnyAnnotation(e.getTypeMirrors()); } }
throw new MirroredTypesException(mirrors);
private static Matcher<Tree> shouldAllowWithWarning(RestrictedApi api) { try { return Matchers.hasAnyAnnotation(api.whitelistWithWarningAnnotations()); } catch (MirroredTypesException e) { return Matchers.hasAnyAnnotation(e.getTypeMirrors()); } } }
throw new MirroredTypesException(mirrors);
private TypeName[] combineInterceptors(TypeElement type) { ArrayList<TypeName> interceptors = new ArrayList<>(); RouteInterceptors routeInterceptors = type.getAnnotation(RouteInterceptors.class); if (routeInterceptors != null) { try { Class[] value = routeInterceptors.value(); for (Class item : value) { interceptors.add(ClassName.get(item)); } } catch (MirroredTypesException mirrored) { List<? extends TypeMirror> typeMirrors = mirrored.getTypeMirrors(); for (TypeMirror mirror : typeMirrors) { interceptors.add(ClassName.get(mirror)); } } } return interceptors.toArray(new TypeName[interceptors.size()]); }
throw new MirroredTypesException(mirrors);
@SuppressWarnings("unchecked") public List<DeclaredType> getClassArrayFromAnnotationMethod(Supplier<Class<?>[]> supplier) { // JDK suggested way of getting type mirrors, do not waste time here, // just move on try { supplier.get(); } catch (MirroredTypesException e) { // types WILL be declared return (List<DeclaredType>) e.getTypeMirrors(); } return Collections.emptyList(); }
throw new MirroredTypesException(mirrors);
public TypeMirror[] getValueTypeMirrors(Consumer<A> fieldAccessor) { try { fieldAccessor.accept(originAnnotation); } catch (javax.lang.model.type.MirroredTypesException mte) { List<? extends TypeMirror> typeMirrors = mte.getTypeMirrors(); TypeMirror[] result = new TypeMirror[typeMirrors.size()]; for (int i = 0; i < typeMirrors.size(); i++) { result[i] = typeMirrors.get(i); } return result; } return null; }