Source code fix: exposed visibility in object members
This commit is contained in:
@@ -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() {
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
+4
-1
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user