Skip to content

Commit a7adac3

Browse files
committed
corrected ClassId.isAccessibleFrom behavior on arrays #743
1 parent 4a34d82 commit a7adac3

File tree

1 file changed

+6
-2
lines changed
  • utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/util

1 file changed

+6
-2
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/util/ClassIdUtil.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package org.utbot.framework.codegen.model.util
22

33
import org.utbot.framework.plugin.api.ClassId
44
import org.utbot.framework.plugin.api.util.id
5+
import org.utbot.framework.plugin.api.util.isArray
56

67
/**
78
* For now we will count class accessible if it is:
@@ -13,13 +14,16 @@ import org.utbot.framework.plugin.api.util.id
1314
* @param packageName name of the package we check accessibility from
1415
*/
1516
infix fun ClassId.isAccessibleFrom(packageName: String): Boolean {
17+
val isContainedElementsClassAccessible = elementClassId?.isAccessibleFrom(packageName) ?: true
18+
19+
// TODO: isNested checks that jClass.enclosingClass != null, outerClass returns jClass.enclosingClass, maybe simplify this?
1620
val isOuterClassAccessible = if (isNested) {
1721
outerClass!!.id.isAccessibleFrom(packageName)
1822
} else {
1923
true
2024
}
2125

22-
val isAccessibleFromPackageByModifiers = isPublic || (this.packageName == packageName && (isPackagePrivate || isProtected))
26+
val isAccessibleFromPackageByModifiers = isArray || isPublic || (this.packageName == packageName && (isPackagePrivate || isProtected))
2327

24-
return isOuterClassAccessible && isAccessibleFromPackageByModifiers && !isLocal && !isSynthetic
28+
return isContainedElementsClassAccessible && isOuterClassAccessible && isAccessibleFromPackageByModifiers && !isLocal && !isSynthetic
2529
}

0 commit comments

Comments
 (0)