【发布时间】:2021-11-09 15:45:02
【问题描述】:
我创建了自己的 lint Detector.visitCallExpression(UCallExpression),我需要找到一种方法来检查传递给方法调用的 MyClass 类参数是否是 MyParent 类的子类?
//Example having this below code somewhere to be Lint scanned.
someObject.method(MyClass.class)
如何确定 MyClass.class 继承自 MyParent 类?
//Using the IntelliJ InheritanceUtil utility class
//Converts argument of MyClass.class -> psiClass
InheritanceUtil.isInheritor(psiClass, "com.somePackage.MyParent")
我从 MyClass.class 参数中得到的 PsiClass 被解析为基础 java.lang.Class 对象,所以 InheritanceUtil 检查总是返回 false~
【问题讨论】:
标签: intellij-plugin android-lint