我想检查是否有任何带注释的类的祖先实际上是android.support.v4.app.Fragment
.
目前我写了一个递归方法来做到这一点。
我想知道是否有更好的方法来做到这一点?
主要目的是限制我的注释被添加到任何类中。
我也用squareup.javapoet
.
private boolean isSubClass(TypeElement typeElement, ClassName superClassName) {
TypeElement superTypeElement = (TypeElement) ((DeclaredType) typeElement.getSuperclass()).asElement();
if (superTypeElement.toString().equals(Object.class.getName())) {
return false;
} else if (superTypeElement.toString().equals(superClassName.reflectionName())) {
return true;
}
return isSubClass(superTypeElement, superClassName);
}