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
6
6
import com.intellij.psi.SyntheticElement
7
7
import com.intellij.refactoring.util.classMembers.MemberInfo
8
8
import com.intellij.testIntegration.TestIntegrationUtils
9
+ import org.jetbrains.kotlin.asJava.elements.KtLightMember
9
10
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
10
11
import org.jetbrains.kotlin.asJava.elements.isGetter
11
12
import org.jetbrains.kotlin.asJava.elements.isSetter
@@ -23,6 +24,9 @@ private val PsiMember.isKotlinGetterOrSetter: Boolean
23
24
return isGetter || isSetter
24
25
}
25
26
27
+ private val PsiMember .isKotlinAndProtected: Boolean
28
+ get() = this is KtLightMember <* > && this .hasModifierProperty(PsiModifier .PROTECTED )
29
+
26
30
// By now, we think that method in Kotlin is autogenerated iff navigation to its declaration leads to its declaring class
27
31
// rather than the method itself (because such methods don't have bodies that we can navigate to)
28
32
private val PsiMember .isKotlinAutogeneratedMethod: Boolean
@@ -34,6 +38,7 @@ fun Iterable<MemberInfo>.filterTestableMethods(): List<MemberInfo> = this
34
38
}
35
39
.filterNot { it.member.isAbstract }
36
40
.filterNot { it.member.isKotlinGetterOrSetter }
41
+ .filterNot { it.member.isKotlinAndProtected }
37
42
38
43
private val PsiClass .isPrivateOrProtected: Boolean
39
44
get() = this .modifierList?.let {
You can’t perform that action at this time.
0 commit comments