Source code fix: exposed visibility in object members

This commit is contained in:
Mikhail Glukhikh
2016-01-25 18:00:38 +03:00
parent 22c0ddaa48
commit 0368631aa3
5 changed files with 15 additions and 12 deletions
@@ -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() {
@@ -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
@@ -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