Make code compilable
diff --git a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/declarations/KotlinStandaloneDeclarationProvider.kt b/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/declarations/KotlinStandaloneDeclarationProvider.kt
index 27877de..7164cb4 100644
--- a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/declarations/KotlinStandaloneDeclarationProvider.kt
+++ b/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/declarations/KotlinStandaloneDeclarationProvider.kt
@@ -16,10 +16,12 @@
import com.intellij.psi.PsiManager
import com.intellij.psi.SingleRootFileViewProvider
import com.intellij.psi.search.GlobalSearchScope
+import com.intellij.psi.stubs.IStubElementType
import com.intellij.psi.stubs.PsiFileStub
import com.intellij.psi.stubs.StubElement
import com.intellij.psi.stubs.StubInputStream
import com.intellij.psi.stubs.StubOutputStream
+import com.intellij.psi.tree.StubFileElementType
import com.intellij.util.indexing.FileContentImpl
import com.intellij.util.io.AbstractStringEnumerator
import com.intellij.util.io.StringRef
@@ -571,23 +573,25 @@
)
is PsiFileStub -> {
- val serializer = originalStub.type
- serializer.serialize(originalStub, StubOutputStream(buffer, storage))
+ @Suppress("UNCHECKED_CAST") val serializer = originalStub.type as StubFileElementType<T>
+ @Suppress("UNCHECKED_CAST")
+ serializer.serialize(originalStub as (T), StubOutputStream(buffer, storage))
serializer.deserialize(StubInputStream(buffer.toInputStream(), storage), copyParentStub)
}
else -> {
- val serializer = originalStub.stubType
- serializer.serialize(originalStub, StubOutputStream(buffer, storage))
+ @Suppress("UNCHECKED_CAST") val serializer = originalStub.stubType as IStubElementType<T, *>
+ @Suppress("UNCHECKED_CAST")
+ serializer.serialize(originalStub as (T), StubOutputStream(buffer, storage))
serializer.deserialize(StubInputStream(buffer.toInputStream(), storage), copyParentStub)
}
}
for (originalChild in originalStub.childrenStubs) {
- cloneStubRecursively(originalStub = originalChild, copyParentStub = copyStub, buffer = buffer, storage = storage)
+ cloneStubRecursively(originalStub = originalChild, copyParentStub = copyStub as StubElement<*>?, buffer = buffer, storage = storage)
}
- return copyStub
+ return copyStub as StubElement<*>
}
private class StringEnumerator : AbstractStringEnumerator {
diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt
index 3ee2f40..a09aba4f 100644
--- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt
+++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt
@@ -65,7 +65,7 @@
override fun getTypeParameters(): Array<PsiTypeParameter> = _typeParameters.toArrayIfNotEmptyOrDefault(PsiTypeParameter.EMPTY_ARRAY)
- override fun getTypeParameterIndex(typeParameter: PsiTypeParameter?): Int = _typeParameters.indexOf(typeParameter)
+ override fun getTypeParameterIndex(typeParameter: PsiTypeParameter): Int = _typeParameters.indexOf(typeParameter)
override fun toString(): String = "SymbolLightTypeParameterList"
diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt
index 55611dc..e2cbf53 100644
--- a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt
+++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt
@@ -29,7 +29,7 @@
override fun findExternalAnnotationsFiles(listOwner: PsiModifierListOwner): List<PsiFile>? = null
override fun findExternalAnnotation(listOwner: PsiModifierListOwner, annotationFQN: String): PsiAnnotation? = null
- override fun findExternalAnnotations(listOwner: PsiModifierListOwner): Array<out PsiAnnotation>? = null
+ override fun findExternalAnnotations(listOwner: PsiModifierListOwner): Array<out PsiAnnotation> = emptyArray()
override fun annotateExternally(
listOwner: PsiModifierListOwner,
diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt
index ae3c971..73ab13d 100644
--- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt
+++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt
@@ -332,8 +332,8 @@
val roots = context.projectDescriptor.buildRootIndex.getTargetRoots(jpsModuleBuildTarget, context)
val result = mutableListOf<JvmSourceRoot>()
for (root in roots) {
- val file = root.rootFile
- val filePath = file.toPath()
+ val filePath = root.rootFile
+ val file = filePath.toFile()
val prefix = root.packagePrefix
if (Files.exists(filePath) && (Files.isDirectory(filePath) || file.extension == "java")) {
result.add(JvmSourceRoot(file, prefix.ifEmpty { null }))