K2: Refine how JDK members are mapped to built-in classes
Previously, the semantic was more-or-less correct for most of the cases but some corner one, like `sort` in MutableList didn't work properly. Namely, `sort` should be marked there in a way to forbid to call it everywhere beside super-calls. Also, overriding it should be allowed. Mostly, the logic was re-written to K2 model from K1-related JvmBuiltInsCustomizer. ^KT-57694 In progress ^KT-57269 Fixed
This commit is contained in:
committed by
Space Team
parent
161fe1d2ca
commit
2e5b783cc6
+2
-2
@@ -55,7 +55,7 @@ object FirCommonSessionFactory : FirAbstractSessionFactory() {
|
||||
registerExtraComponents = {
|
||||
registerExtraComponents(it)
|
||||
},
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider { _, declaredMemberScope, _, _, _ -> declaredMemberScope } },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
createProviders = { session, builtinsModuleData, kotlinScopeProvider ->
|
||||
listOfNotNull(
|
||||
MetadataSymbolProvider(
|
||||
@@ -109,7 +109,7 @@ object FirCommonSessionFactory : FirAbstractSessionFactory() {
|
||||
registerExtraComponents(it)
|
||||
},
|
||||
registerExtraCheckers = {},
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider { _, declaredMemberScope, _, _, _ -> declaredMemberScope } },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
createProviders = { session, kotlinScopeProvider, symbolProvider, syntheticFunctionalInterfaceProvider, generatedSymbolsProvider, dependencies ->
|
||||
var symbolProviderForBinariesFromIncrementalCompilation: MetadataSymbolProvider? = null
|
||||
incrementalCompilationContext?.let {
|
||||
|
||||
@@ -53,7 +53,7 @@ object FirJsSessionFactory : FirAbstractSessionFactory() {
|
||||
registerExtraComponents(session)
|
||||
},
|
||||
registerExtraCheckers = { it.registerJsCheckers() },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider { _, declaredMemberScope, _, _, _ -> declaredMemberScope } },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
createProviders = { session, kotlinScopeProvider, symbolProvider, generatedSymbolsProvider, syntheticFunctionInterfaceProvider, dependencies ->
|
||||
listOfNotNull(
|
||||
symbolProvider,
|
||||
@@ -91,7 +91,7 @@ object FirJsSessionFactory : FirAbstractSessionFactory() {
|
||||
it.registerJsSpecificComponents()
|
||||
registerExtraComponents(it)
|
||||
},
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider { _, declaredMemberScope, _, _, _ -> declaredMemberScope } },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
createProviders = { session, builtinsModuleData, kotlinScopeProvider ->
|
||||
listOfNotNull(
|
||||
KlibBasedSymbolProvider(session, moduleDataProvider, kotlinScopeProvider, resolvedLibraries),
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
registerExtraComponents = { session ->
|
||||
registerExtraComponents(session)
|
||||
},
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider { _, declaredMemberScope, _, _, _ -> declaredMemberScope } },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
createProviders = { session, builtinsModuleData, kotlinScopeProvider ->
|
||||
val forwardDeclarationsModuleData = BinaryModuleData.createDependencyModuleData(
|
||||
Name.special("<forward declarations>"),
|
||||
@@ -86,7 +86,7 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
registerExtraComponents(it)
|
||||
},
|
||||
registerExtraCheckers = { it.registerNativeCheckers() },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider { _, declaredMemberScope, _, _, _ -> declaredMemberScope } },
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
createProviders = { _, _, symbolProvider, generatedSymbolsProvider, syntheticFunctionInterfaceProvider, dependencies ->
|
||||
listOfNotNull(
|
||||
symbolProvider,
|
||||
|
||||
Reference in New Issue
Block a user