Skip to content

Commit 5c15902

Browse files
authored
Get PsiClass' package by declaration in containingFile and not by its directory #1081 (#1111)
1 parent 31a2f7d commit 5c15902

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ object UtTestsDialogProcessor {
271271
val name = qualifiedName
272272
?.substringAfter("$packageName.")
273273
?.replace(".", "$")
274-
?: ""
274+
?: error("Unable to get canonical name for $this")
275275
"$packageName.$name"
276276
}
277277
}

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/GenerateTestsModel.kt

+10-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ import com.intellij.openapi.projectRoots.JavaSdkVersion
1717
import com.intellij.openapi.vfs.VirtualFile
1818
import com.intellij.openapi.vfs.newvfs.impl.FakeVirtualFile
1919
import com.intellij.psi.PsiClass
20+
import com.intellij.psi.PsiJavaFile
2021
import com.intellij.refactoring.util.classMembers.MemberInfo
21-
import org.jetbrains.kotlin.idea.core.getPackage
22+
import org.jetbrains.kotlin.psi.KtFile
2223
import org.utbot.framework.plugin.api.JavaDocCommentStyle
2324
import org.utbot.framework.util.ConflictTriggers
2425
import org.utbot.intellij.plugin.ui.utils.jdkVersion
@@ -84,4 +85,11 @@ data class GenerateTestsModel(
8485
}
8586
}
8687

87-
val PsiClass.packageName: String get() = this.containingFile.containingDirectory.getPackage()?.qualifiedName ?: ""
88+
val PsiClass.packageName: String
89+
get() {
90+
return when (val currentFile = containingFile) {
91+
is PsiJavaFile -> currentFile.packageName
92+
is KtFile -> currentFile.packageFqName.asString()
93+
else -> error("Can't find package name for $this: it should be located either in Java or Kt file")
94+
}
95+
}

0 commit comments

Comments
 (0)