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: FqName = FqName("kotlin.jvm.JvmMultifileClass")
|
||||||
val JVM_MULTIFILE_CLASS_SHORT = JVM_MULTIFILE_CLASS.shortName().asString()
|
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)
|
if (jvmFileClassAnnotations != null)
|
||||||
getFileClassInfoForAnnotation(file, jvmFileClassAnnotations)
|
getFileClassInfoForAnnotation(file, jvmFileClassAnnotations)
|
||||||
else
|
else
|
||||||
getDefaultFileClassInfo(file)
|
getDefaultFileClassInfo(file)
|
||||||
|
|
||||||
@JvmStatic fun getFileClassInfoForAnnotation(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): JvmFileClassInfo =
|
private fun getFileClassInfoForAnnotation(file: KtFile, jvmFileClassAnnotations: ParsedJvmFileClassAnnotations): JvmFileClassInfo =
|
||||||
if (jvmFileClassAnnotations.multipleFiles)
|
if (jvmFileClassAnnotations.multipleFiles)
|
||||||
JvmMultifileClassPartInfo(getHiddenPartFqName(file, jvmFileClassAnnotations),
|
JvmMultifileClassPartInfo(getHiddenPartFqName(file, jvmFileClassAnnotations),
|
||||||
getFacadeFqName(file, jvmFileClassAnnotations))
|
getFacadeFqName(file, jvmFileClassAnnotations))
|
||||||
@@ -49,7 +49,7 @@ object JvmFileClassUtil {
|
|||||||
@JvmStatic fun getDefaultFileClassInfo(file: KtFile): JvmFileClassInfo =
|
@JvmStatic fun getDefaultFileClassInfo(file: KtFile): JvmFileClassInfo =
|
||||||
JvmSimpleFileClassInfo(PackagePartClassUtils.getPackagePartFqName(file.packageFqName, file.name), false)
|
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))
|
file.packageFqName.child(Name.identifier(jvmFileClassAnnotations.name))
|
||||||
|
|
||||||
@JvmStatic fun getPartFqNameForDeserializedCallable(callable: DeserializedCallableMemberDescriptor): FqName {
|
@JvmStatic fun getPartFqNameForDeserializedCallable(callable: DeserializedCallableMemberDescriptor): FqName {
|
||||||
@@ -61,7 +61,7 @@ object JvmFileClassUtil {
|
|||||||
@JvmStatic fun getImplClassName(callable: DeserializedCallableMemberDescriptor): Name? =
|
@JvmStatic fun getImplClassName(callable: DeserializedCallableMemberDescriptor): Name? =
|
||||||
callable.getImplClassNameForDeserialized()
|
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)))
|
file.packageFqName.child(Name.identifier(manglePartName(jvmFileClassAnnotations.name, file.name)))
|
||||||
|
|
||||||
@JvmStatic fun manglePartName(facadeName: String, fileName: String): String =
|
@JvmStatic fun manglePartName(facadeName: String, fileName: String): String =
|
||||||
@@ -70,7 +70,7 @@ object JvmFileClassUtil {
|
|||||||
@JvmStatic fun getFileClassInfoNoResolve(file: KtFile): JvmFileClassInfo =
|
@JvmStatic fun getFileClassInfoNoResolve(file: KtFile): JvmFileClassInfo =
|
||||||
getFileClassInfo(file, parseJvmNameOnFileNoResolve(file))
|
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 jvmName = findAnnotationEntryOnFileNoResolve(file, JVM_NAME_SHORT) ?: return null
|
||||||
val nameExpr = jvmName.valueArguments.firstOrNull()?.getArgumentExpression() ?: return null
|
val nameExpr = jvmName.valueArguments.firstOrNull()?.getArgumentExpression() ?: return null
|
||||||
val name = getLiteralStringFromRestrictedConstExpression(nameExpr) ?: 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
|
val KtFile.javaFileFacadeFqName: FqName
|
||||||
get() {
|
get() {
|
||||||
|
|||||||
+1
-1
@@ -28,5 +28,5 @@ object RuntimeSourceElementFactory : JavaSourceElementFactory {
|
|||||||
override fun getContainingFile(): SourceFile = SourceFile.NO_SOURCE_FILE
|
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;
|
if (!BUILT_INS_PACKAGE_NAME.equals(first(segments))) return false;
|
||||||
|
|
||||||
String shortName = last(segments).asString();
|
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
|
@Nullable
|
||||||
|
|||||||
+4
-1
@@ -35,7 +35,7 @@ class BuiltInFictitiousFunctionClassFactory(
|
|||||||
private data class KindWithArity(val kind: Kind, val arity: Int)
|
private data class KindWithArity(val kind: Kind, val arity: Int)
|
||||||
|
|
||||||
companion object {
|
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 kind = FunctionClassDescriptor.Kind.byPackage(packageFqName) ?: return null
|
||||||
|
|
||||||
val prefix = kind.classNamePrefix
|
val prefix = kind.classNamePrefix
|
||||||
@@ -47,6 +47,9 @@ class BuiltInFictitiousFunctionClassFactory(
|
|||||||
return KindWithArity(kind, arity)
|
return KindWithArity(kind, arity)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@JvmStatic fun isFunctionClassName(className: String, packageFqName: FqName) =
|
||||||
|
parseClassName(className, packageFqName) != null
|
||||||
|
|
||||||
private fun toInt(s: String): Int? {
|
private fun toInt(s: String): Int? {
|
||||||
if (s.isEmpty()) return null
|
if (s.isEmpty()) return null
|
||||||
|
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ object KindWeigher : LookupElementWeigher("kotlin.kind") {
|
|||||||
packages
|
packages
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun weigh(element: LookupElement): Weight {
|
override fun weigh(element: LookupElement): Comparable<*> {
|
||||||
val o = element.`object`
|
val o = element.`object`
|
||||||
|
|
||||||
return when (o) {
|
return when (o) {
|
||||||
@@ -144,7 +144,7 @@ object VariableOrFunctionWeigher : LookupElementWeigher("kotlin.variableOrFuncti
|
|||||||
function
|
function
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun weigh(element: LookupElement): Weight? {
|
override fun weigh(element: LookupElement): Comparable<*>? {
|
||||||
val descriptor = (element.`object` as? DeclarationLookupObject)?.descriptor ?: return null
|
val descriptor = (element.`object` as? DeclarationLookupObject)?.descriptor ?: return null
|
||||||
return when (descriptor) {
|
return when (descriptor) {
|
||||||
is VariableDescriptor -> Weight.variable
|
is VariableDescriptor -> Weight.variable
|
||||||
@@ -169,7 +169,7 @@ object PreferMatchingItemWeigher : LookupElementWeigher("kotlin.preferMatching",
|
|||||||
notExactMatch
|
notExactMatch
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun weigh(element: LookupElement, context: WeighingContext): Weight {
|
override fun weigh(element: LookupElement, context: WeighingContext): Comparable<*> {
|
||||||
val prefix = context.itemPattern(element)
|
val prefix = context.itemPattern(element)
|
||||||
if (element.lookupString != prefix) {
|
if (element.lookupString != prefix) {
|
||||||
return Weight.notExactMatch
|
return Weight.notExactMatch
|
||||||
|
|||||||
Reference in New Issue
Block a user