File tree Expand file tree Collapse file tree 1 file changed +5
-0
lines changed
utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util Expand file tree Collapse file tree 1 file changed +5
-0
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import com.intellij.psi.PsiModifier
66import com.intellij.psi.SyntheticElement
77import com.intellij.refactoring.util.classMembers.MemberInfo
88import com.intellij.testIntegration.TestIntegrationUtils
9+ import org.jetbrains.kotlin.asJava.elements.KtLightMember
910import org.jetbrains.kotlin.asJava.elements.KtLightMethod
1011import org.jetbrains.kotlin.asJava.elements.isGetter
1112import org.jetbrains.kotlin.asJava.elements.isSetter
@@ -23,6 +24,9 @@ private val PsiMember.isKotlinGetterOrSetter: Boolean
2324 return isGetter || isSetter
2425 }
2526
27+ private val PsiMember .isKotlinAndProtected: Boolean
28+ get() = this is KtLightMember <* > && this .hasModifierProperty(PsiModifier .PROTECTED )
29+
2630// By now, we think that method in Kotlin is autogenerated iff navigation to its declaration leads to its declaring class
2731// rather than the method itself (because such methods don't have bodies that we can navigate to)
2832private val PsiMember .isKotlinAutogeneratedMethod: Boolean
@@ -34,6 +38,7 @@ fun Iterable<MemberInfo>.filterTestableMethods(): List<MemberInfo> = this
3438 }
3539 .filterNot { it.member.isAbstract }
3640 .filterNot { it.member.isKotlinGetterOrSetter }
41+ .filterNot { it.member.isKotlinAndProtected }
3742
3843private val PsiClass .isPrivateOrProtected: Boolean
3944 get() = this .modifierList?.let {
You can’t perform that action at this time.
0 commit comments