Hide java.lang.CharSequence::isEmpty from Kotlin built-in class
Also, prohibit using it as a synthetic property ^KT-42467 In progress
This commit is contained in:
+2
@@ -162,6 +162,7 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager, private val l
|
|||||||
return descriptor.valueParameters.isEmpty()
|
return descriptor.valueParameters.isEmpty()
|
||||||
&& descriptor.typeParameters.isEmpty()
|
&& descriptor.typeParameters.isEmpty()
|
||||||
&& descriptor.visibility.isVisibleOutside()
|
&& descriptor.visibility.isVisibleOutside()
|
||||||
|
&& !descriptor.isHiddenForResolutionEverywhereBesideSupercalls
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun isGoodSetMethod(descriptor: FunctionDescriptor, getMethod: FunctionDescriptor): Boolean {
|
private fun isGoodSetMethod(descriptor: FunctionDescriptor, getMethod: FunctionDescriptor): Boolean {
|
||||||
@@ -178,6 +179,7 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager, private val l
|
|||||||
return parameter.varargElementType == null
|
return parameter.varargElementType == null
|
||||||
&& descriptor.typeParameters.isEmpty()
|
&& descriptor.typeParameters.isEmpty()
|
||||||
&& descriptor.visibility.isVisibleOutside()
|
&& descriptor.visibility.isVisibleOutside()
|
||||||
|
&& !descriptor.isHiddenForResolutionEverywhereBesideSupercalls
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun FunctionDescriptor.findOverridden(condition: (FunctionDescriptor) -> Boolean): FunctionDescriptor? {
|
private fun FunctionDescriptor.findOverridden(condition: (FunctionDescriptor) -> Boolean): FunctionDescriptor? {
|
||||||
|
|||||||
+2
-1
@@ -76,6 +76,7 @@ class AdditionalBuiltInsMembersSignatureListsTest : KotlinTestWithEnvironment()
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val LATE_JDK_SIGNATURES = mapOf(
|
private val LATE_JDK_SIGNATURES = mapOf(
|
||||||
"java/lang/String" to setOf("isBlank()Z", "lines()Ljava/util/stream/Stream;", "repeat(I)Ljava/lang/String;")
|
"java/lang/String" to setOf("isBlank()Z", "lines()Ljava/util/stream/Stream;", "repeat(I)Ljava/lang/String;"),
|
||||||
|
"java/lang/CharSequence" to setOf("isEmpty()Z"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -51,7 +51,9 @@ object JvmBuiltInsSignatures {
|
|||||||
inJavaLang("Double", "isInfinite()Z", "isNaN()Z") +
|
inJavaLang("Double", "isInfinite()Z", "isNaN()Z") +
|
||||||
inJavaLang("Float", "isInfinite()Z", "isNaN()Z") +
|
inJavaLang("Float", "isInfinite()Z", "isNaN()Z") +
|
||||||
|
|
||||||
inJavaLang("Enum", "getDeclaringClass()Ljava/lang/Class;", "finalize()V")
|
inJavaLang("Enum", "getDeclaringClass()Ljava/lang/Class;", "finalize()V") +
|
||||||
|
inJavaLang("CharSequence", "isEmpty()Z")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun buildPrimitiveValueMethodsSet(): Set<String> =
|
private fun buildPrimitiveValueMethodsSet(): Set<String> =
|
||||||
|
|||||||
Reference in New Issue
Block a user