diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt index 4bb43d7368b..d3e3259bb95 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt @@ -33,13 +33,13 @@ object JvmFileClassUtil { val JVM_MULTIFILE_CLASS: FqName = FqName("kotlin.jvm.JvmMultifileClass") val JVM_MULTIFILE_CLASS_SHORT = JVM_MULTIFILE_CLASS.shortName().asString() - @JvmStatic fun getFileClassInfo(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations?): JvmFileClassInfo = + internal fun getFileClassInfo(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations?): JvmFileClassInfo = if (jvmFileClassAnnotations != null) getFileClassInfoForAnnotation(file, jvmFileClassAnnotations) else getDefaultFileClassInfo(file) - @JvmStatic fun getFileClassInfoForAnnotation(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): JvmFileClassInfo = + private fun getFileClassInfoForAnnotation(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): JvmFileClassInfo = if (jvmFileClassAnnotations.multipleFiles) JvmMultifileClassPartInfo(getHiddenPartFqName(file, jvmFileClassAnnotations), getFacadeFqName(file, jvmFileClassAnnotations)) @@ -49,7 +49,7 @@ object JvmFileClassUtil { @JvmStatic fun getDefaultFileClassInfo(file: KtFile): JvmFileClassInfo = JvmSimpleFileClassInfo(PackagePartClassUtils.getPackagePartFqName(file.packageFqName, file.name), false) - @JvmStatic fun getFacadeFqName(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): FqName = + private fun getFacadeFqName(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): FqName = file.packageFqName.child(Name.identifier(jvmFileClassAnnotations.name)) @JvmStatic fun getPartFqNameForDeserializedCallable(callable: DeserializedCallableMemberDescriptor): FqName { @@ -61,7 +61,7 @@ object JvmFileClassUtil { @JvmStatic fun getImplClassName(callable: DeserializedCallableMemberDescriptor): Name? = callable.getImplClassNameForDeserialized() - @JvmStatic fun getHiddenPartFqName(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): FqName = + private fun getHiddenPartFqName(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): FqName = file.packageFqName.child(Name.identifier(manglePartName(jvmFileClassAnnotations.name, file.name))) @JvmStatic fun manglePartName(facadeName: String, fileName: String): String = @@ -70,7 +70,7 @@ object JvmFileClassUtil { @JvmStatic fun getFileClassInfoNoResolve(file: KtFile): JvmFileClassInfo = getFileClassInfo(file, parseJvmNameOnFileNoResolve(file)) - @JvmStatic fun parseJvmNameOnFileNoResolve(file: KtFile): ParsedJvmFileClassAnnotations? { + internal fun parseJvmNameOnFileNoResolve(file: KtFile): ParsedJvmFileClassAnnotations? { val jvmName = findAnnotationEntryOnFileNoResolve(file, JVM_NAME_SHORT) ?: return null val nameExpr = jvmName.valueArguments.firstOrNull()?.getArgumentExpression() ?: return null val name = getLiteralStringFromRestrictedConstExpression(nameExpr) ?: return null @@ -94,7 +94,7 @@ object JvmFileClassUtil { } } -private class ParsedJvmFileClassAnnotations(val name: String, val multipleFiles: Boolean) +internal class ParsedJvmFileClassAnnotations(val name: String, val multipleFiles: Boolean) val KtFile.javaFileFacadeFqName: FqName get() { diff --git a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/components/RuntimeSourceElementFactory.kt b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/components/RuntimeSourceElementFactory.kt index 75c60758783..4cd53b907db 100644 --- a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/components/RuntimeSourceElementFactory.kt +++ b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/components/RuntimeSourceElementFactory.kt @@ -28,5 +28,5 @@ object RuntimeSourceElementFactory : JavaSourceElementFactory { override fun getContainingFile(): SourceFile = SourceFile.NO_SOURCE_FILE } - override fun source(javaElement: JavaElement) = RuntimeSourceElement(javaElement as ReflectJavaElement) + override fun source(javaElement: JavaElement): JavaSourceElement = RuntimeSourceElement(javaElement as ReflectJavaElement) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java index 6416a374dc9..1b701cfc6eb 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java @@ -937,7 +937,7 @@ public abstract class KotlinBuiltIns { if (!BUILT_INS_PACKAGE_NAME.equals(first(segments))) return false; String shortName = last(segments).asString(); - return BuiltInFictitiousFunctionClassFactory.parseClassName(shortName, BUILT_INS_PACKAGE_FQ_NAME) != null; + return BuiltInFictitiousFunctionClassFactory.isFunctionClassName(shortName, BUILT_INS_PACKAGE_FQ_NAME); } @Nullable diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt index abc1952f645..5736598864e 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/BuiltInFictitiousFunctionClassFactory.kt @@ -35,7 +35,7 @@ class BuiltInFictitiousFunctionClassFactory( private data class KindWithArity(val kind: Kind, val arity: Int) companion object { - @JvmStatic fun parseClassName(className: String, packageFqName: FqName): KindWithArity? { + private fun parseClassName(className: String, packageFqName: FqName): KindWithArity? { val kind = FunctionClassDescriptor.Kind.byPackage(packageFqName) ?: return null val prefix = kind.classNamePrefix @@ -47,6 +47,9 @@ class BuiltInFictitiousFunctionClassFactory( return KindWithArity(kind, arity) } + @JvmStatic fun isFunctionClassName(className: String, packageFqName: FqName) = + parseClassName(className, packageFqName) != null + private fun toInt(s: String): Int? { if (s.isEmpty()) return null diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt index 657fe5ac05c..70a44527252 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt @@ -112,7 +112,7 @@ object KindWeigher : LookupElementWeigher("kotlin.kind") { packages } - override fun weigh(element: LookupElement): Weight { + override fun weigh(element: LookupElement): Comparable<*> { val o = element.`object` return when (o) { @@ -144,7 +144,7 @@ object VariableOrFunctionWeigher : LookupElementWeigher("kotlin.variableOrFuncti function } - override fun weigh(element: LookupElement): Weight? { + override fun weigh(element: LookupElement): Comparable<*>? { val descriptor = (element.`object` as? DeclarationLookupObject)?.descriptor ?: return null return when (descriptor) { is VariableDescriptor -> Weight.variable @@ -169,7 +169,7 @@ object PreferMatchingItemWeigher : LookupElementWeigher("kotlin.preferMatching", notExactMatch } - override fun weigh(element: LookupElement, context: WeighingContext): Weight { + override fun weigh(element: LookupElement, context: WeighingContext): Comparable<*> { val prefix = context.itemPattern(element) if (element.lookupString != prefix) { return Weight.notExactMatch