Minor NPE Bugfix. Fixed use of "experimental API". Upgraded dependencies.
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package de.platon42.intellij.plugins.cajon
|
||||
|
||||
import com.intellij.lang.jvm.JvmModifier
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager
|
||||
@@ -33,7 +32,7 @@ fun PsiElement.findOutmostMethodCall(): PsiMethodCallExpression? {
|
||||
fun PsiElement.findStaticMethodCall(): PsiMethodCallExpression? {
|
||||
var elem: PsiElement? = this
|
||||
while (elem != null) {
|
||||
if ((elem is PsiMethodCallExpression) && (elem.resolveMethod()?.hasModifier(JvmModifier.STATIC) == true)) {
|
||||
if ((elem is PsiMethodCallExpression) && (elem.resolveMethod()?.hasModifierProperty(PsiModifier.STATIC) == true)) {
|
||||
return elem
|
||||
}
|
||||
elem = elem.firstChild
|
||||
|
||||
+1
-3
@@ -92,9 +92,7 @@ class AssertThatGuavaOptionalInspection : AbstractAssertJInspection() {
|
||||
}
|
||||
|
||||
private fun checkPreconditions(staticMethodCall: PsiMethodCallExpression): Boolean {
|
||||
val assertThatGuava = GUAVA_ASSERT_THAT_ANY.test(staticMethodCall)
|
||||
|
||||
if (ASSERT_THAT_ANY.test(staticMethodCall) || assertThatGuava) {
|
||||
if (CallMatcher.anyOf(ASSERT_THAT_ANY, GUAVA_ASSERT_THAT_ANY).test(staticMethodCall)) {
|
||||
JavaPsiFacade.getInstance(staticMethodCall.project)
|
||||
.findClass(AssertJClassNames.GUAVA_ASSERTIONS_CLASSNAME, GlobalSearchScope.allScope(staticMethodCall.project)) ?: return false
|
||||
return true
|
||||
|
||||
+2
-2
@@ -34,9 +34,9 @@ class AssertThatObjectExpressionInspection : AbstractMoveOutInspection() {
|
||||
override fun visitExpressionStatement(statement: PsiExpressionStatement) {
|
||||
super.visitExpressionStatement(statement)
|
||||
if (!statement.hasAssertThat()) return
|
||||
|
||||
|
||||
val staticMethodCall = statement.findStaticMethodCall() ?: return
|
||||
val assertThatArgument = staticMethodCall.firstArg as? PsiMethodCallExpression ?: return
|
||||
val assertThatArgument = staticMethodCall.getArgOrNull(0) as? PsiMethodCallExpression ?: return
|
||||
if (OBJECT_HASHCODE.test(assertThatArgument)) {
|
||||
val expectedCallExpression = statement.findOutmostMethodCall() ?: return
|
||||
val isEqualTo = staticMethodCall.findFluentCallTo(IS_EQUAL_TO_INT) ?: return
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
package de.platon42.intellij.plugins.cajon.references
|
||||
|
||||
import com.intellij.lang.jvm.JvmModifier
|
||||
import com.intellij.openapi.util.TextRange
|
||||
import com.intellij.patterns.PlatformPatterns
|
||||
import com.intellij.psi.*
|
||||
@@ -30,7 +29,7 @@ class ExtractorReferenceContributor : PsiReferenceContributor() {
|
||||
val matchedGetter = PropertyUtilBase.findPropertyGetter(containingClass, partName, false, true)
|
||||
val fieldResult = PropertyUtilBase.findPropertyField(containingClass, partName, false)
|
||||
val textRange = TextRange(startOffset + 1, nextOffset)
|
||||
val matchedBareMethod = containingClass.allMethods.find { (it.name == partName) && !it.hasModifier(JvmModifier.STATIC) }
|
||||
val matchedBareMethod = containingClass.allMethods.find { (it.name == partName) && !it.hasModifierProperty(PsiModifier.STATIC) }
|
||||
val targets = listOfNotNull<PsiElement>(fieldResult, matchedGetter, matchedBareMethod)
|
||||
if (targets.isNotEmpty()) {
|
||||
val results = listOf(textRange to targets)
|
||||
@@ -44,7 +43,7 @@ class ExtractorReferenceContributor : PsiReferenceContributor() {
|
||||
}
|
||||
|
||||
private fun lookupMethod(containingClass: PsiClass, methodName: String): List<Pair<TextRange, List<PsiElement>>>? {
|
||||
val matchedMethod = containingClass.allMethods.find { (it.name == methodName) && !it.hasModifier(JvmModifier.STATIC) } ?: return null
|
||||
val matchedMethod = containingClass.allMethods.find { (it.name == methodName) && !it.hasModifierProperty(PsiModifier.STATIC) } ?: return null
|
||||
val textRange = TextRange(1, methodName.length + 1)
|
||||
return listOf(textRange to listOf(matchedMethod))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user