Move common jvm classes from :core:descriptors.jvm to :core:compiler.common.jvm

This commit is contained in:
Dmitriy Novozhilov
2020-09-01 17:59:45 +03:00
parent 9806a85cc1
commit 6906e0d82d
67 changed files with 347 additions and 321 deletions
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.deserialization
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSettings
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSignatures
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
@@ -211,7 +211,7 @@ private val ARRAY_CLASSES: Set<Name> = setOf(
private val JAVA_IO_SERIALIZABLE = ClassId.topLevel(FqName("java.io.Serializable"))
private fun FirRegularClassBuilder.addSerializableIfNeeded(classId: ClassId) {
if (!JvmBuiltInsSettings.isSerializableInJava(classId.asSingleFqName().toUnsafe())) return
if (!JvmBuiltInsSignatures.isSerializableInJava(classId.asSingleFqName().toUnsafe())) return
superTypeRefs += buildResolvedTypeRef {
type = ConeClassLikeTypeImpl(
ConeClassLikeLookupTagImpl(JAVA_IO_SERIALIZABLE),
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.fir.scopes.jvm
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSettings
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSignatures
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
import org.jetbrains.kotlin.fir.scopes.*
@@ -114,7 +114,7 @@ class JvmMappedScope(
val signaturePrefix = klass.symbol.classId.toString()
val whiteListSignaturesByName = mutableMapOf<Name, MutableSet<String>>()
JvmBuiltInsSettings.WHITE_LIST_METHOD_SIGNATURES.filter { signature ->
JvmBuiltInsSignatures.WHITE_LIST_METHOD_SIGNATURES.filter { signature ->
signature.startsWith(signaturePrefix)
}.map { signature ->
// +1 to delete dot before function name
@@ -124,7 +124,7 @@ class JvmMappedScope(
}
val constructorBlackList =
(JvmBuiltInsSettings.BLACK_LIST_CONSTRUCTOR_SIGNATURES + additionalConstructorBlackList)
(JvmBuiltInsSignatures.BLACK_LIST_CONSTRUCTOR_SIGNATURES + additionalConstructorBlackList)
.filter { it.startsWith(signaturePrefix) }
.mapTo(mutableSetOf()) { it.substring(signaturePrefix.length + 1) }
@@ -28,11 +28,11 @@ import java.io.FileNotFoundException
import java.io.IOException
class VirtualFileKotlinClass private constructor(
val file: VirtualFile,
className: ClassId,
classVersion: Int,
classHeader: KotlinClassHeader,
innerClasses: InnerClassesInfo
val file: VirtualFile,
className: ClassId,
classVersion: Int,
classHeader: KotlinClassHeader,
innerClasses: InnerClassesInfo
) : FileBasedKotlinClass(className, classVersion, classHeader, innerClasses) {
override val location: String
@@ -6,7 +6,11 @@ plugins {
dependencies {
api(project(":compiler:resolution.common"))
api(project(":core:compiler.common.jvm"))
api(project(":compiler:psi"))
implementation(project(":compiler:util"))
implementation(commonDep("io.javaslang","javaslang"))
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
compileOnly(intellijDep()) { includeJars("asm-all", "trove4j", "guava", rootProject = rootProject) }
}
sourceSets {
@@ -17,7 +17,6 @@
package org.jetbrains.kotlin.resolve.jvm;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
@@ -0,0 +1,32 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.util.javaslang
import javaslang.Tuple2
import javaslang.control.Option
internal typealias ImmutableMap<K, V> = javaslang.collection.Map<K, V>
internal typealias ImmutableHashMap<K, V> = javaslang.collection.HashMap<K, V>
internal typealias ImmutableSet<E> = javaslang.collection.Set<E>
internal typealias ImmutableHashSet<E> = javaslang.collection.HashSet<E>
internal typealias ImmutableLinkedHashSet<E> = javaslang.collection.LinkedHashSet<E>
internal operator fun <T> Tuple2<T, *>.component1(): T = _1()
internal operator fun <T> Tuple2<*, T>.component2(): T = _2()
internal fun <T> Option<T>.getOrNull(): T? = getOrElse(null as T?)
internal fun <K, V> ImmutableMap<K, V>.getOrNull(k: K): V? = get(k)?.getOrElse(null as V?)
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.serialization.builtins
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSettings
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSignatures
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.descriptors.resolveClassByFqName
@@ -39,11 +39,11 @@ class AdditionalBuiltInsMembersSignatureListsTest : KotlinTestWithEnvironment()
val module = JvmResolveUtil.analyze(environment).moduleDescriptor as ModuleDescriptorImpl
val blackList =
JvmBuiltInsSettings.BLACK_LIST_METHOD_SIGNATURES +
JvmBuiltInsSettings.MUTABLE_METHOD_SIGNATURES +
JvmBuiltInsSettings.BLACK_LIST_CONSTRUCTOR_SIGNATURES +
JvmBuiltInsSettings.WHITE_LIST_METHOD_SIGNATURES +
JvmBuiltInsSettings.WHITE_LIST_CONSTRUCTOR_SIGNATURES
JvmBuiltInsSignatures.BLACK_LIST_METHOD_SIGNATURES +
JvmBuiltInsSignatures.MUTABLE_METHOD_SIGNATURES +
JvmBuiltInsSignatures.BLACK_LIST_CONSTRUCTOR_SIGNATURES +
JvmBuiltInsSignatures.WHITE_LIST_METHOD_SIGNATURES +
JvmBuiltInsSignatures.WHITE_LIST_CONSTRUCTOR_SIGNATURES
val groupedByInternalName = blackList.groupBy({ it.split(".")[0] }) { it.split(".")[1] }