Move common classes to new :core:deserialization:deserialization.common module

This commit is contained in:
Dmitriy Novozhilov
2020-08-17 00:04:52 +03:00
parent 079a2dfe1e
commit 6f0cd14afa
11 changed files with 89 additions and 58 deletions
+1
View File
@@ -10,6 +10,7 @@ dependencies {
compile(project(":core:metadata"))
compile(project(":core:util.runtime"))
compile(project(":core:descriptors"))
compile(project(":core:deserialization:deserialization.common"))
compile(commonDep("javax.inject"))
}
@@ -0,0 +1,24 @@
plugins {
kotlin("jvm")
id("jps-compatible")
}
jvmTarget = "1.6"
javaHome = rootProject.extra["JDK_16"] as String
dependencies {
compile(project(":core:metadata"))
compile(project(":core:util.runtime"))
compile(project(":core:descriptors"))
compile(commonDep("javax.inject"))
}
sourceSets {
"main" { projectDefault() }
"test" {}
}
tasks.withType<JavaCompile> {
sourceCompatibility = "1.6"
targetCompatibility = "1.6"
}
@@ -0,0 +1,16 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.serialization.deserialization
import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion
import org.jetbrains.kotlin.name.ClassId
data class IncompatibleVersionErrorData<out T : BinaryVersion>(
val actualVersion: T,
val expectedVersion: T,
val filePath: String,
val classId: ClassId
)
@@ -0,0 +1,25 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.serialization.deserialization.descriptors
import org.jetbrains.kotlin.descriptors.SourceElement
import org.jetbrains.kotlin.serialization.deserialization.IncompatibleVersionErrorData
interface DeserializedContainerSource : SourceElement {
// Non-null if this container is loaded from a class with an incompatible binary version
val incompatibility: IncompatibleVersionErrorData<*>?
// True iff this is container is "invisible" because it's loaded from a pre-release class and this compiler is a release
val isPreReleaseInvisible: Boolean
// True iff this container was compiled by the new IR backend, this compiler is not using the IR backend right now,
// and no additional flags to override this behavior were specified.
val isInvisibleIrDependency: Boolean
// This string should only be used in error messages
val presentableString: String
}
@@ -1,27 +0,0 @@
/*
* Copyright 2010-2016 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.serialization.deserialization
import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion
import org.jetbrains.kotlin.name.ClassId
data class IncompatibleVersionErrorData<out T : BinaryVersion>(
val actualVersion: T,
val expectedVersion: T,
val filePath: String,
val classId: ClassId
)
@@ -45,21 +45,6 @@ interface DeserializedMemberDescriptor : DeserializedDescriptor, MemberDescripto
}
}
interface DeserializedContainerSource : SourceElement {
// Non-null if this container is loaded from a class with an incompatible binary version
val incompatibility: IncompatibleVersionErrorData<*>?
// True iff this is container is "invisible" because it's loaded from a pre-release class and this compiler is a release
val isPreReleaseInvisible: Boolean
// True iff this container was compiled by the new IR backend, this compiler is not using the IR backend right now,
// and no additional flags to override this behavior were specified.
val isInvisibleIrDependency: Boolean
// This string should only be used in error messages
val presentableString: String
}
interface DeserializedCallableMemberDescriptor : DeserializedMemberDescriptor, CallableMemberDescriptor
class DeserializedSimpleFunctionDescriptor(