Replace ReadOnly/Mutable usages in the compiler

Replace ones from org.jetbrains.kotlin package with new annotations from kotlin.annotations.jvm.
No need to copy them to compile kotlin-reflect anymore.
Then simplify reflect project more: no sources — no need to pack its direct output.
This commit is contained in:
Ilya Gorbunov
2017-12-05 17:30:29 +03:00
parent 1bfb75a51b
commit 2a598e0ac4
29 changed files with 31 additions and 42 deletions
+1
View File
@@ -7,6 +7,7 @@ plugins {
jvmTarget = "1.6" jvmTarget = "1.6"
dependencies { dependencies {
compile(project(":kotlin-annotations-jvm"))
compile(project(":compiler:util")) compile(project(":compiler:util"))
compile(project(":compiler:backend-common")) compile(project(":compiler:backend-common"))
compile(project(":compiler:frontend")) compile(project(":compiler:frontend"))
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.codegen.context; package org.jetbrains.kotlin.codegen.context;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.codegen.*; import org.jetbrains.kotlin.codegen.*;
import org.jetbrains.kotlin.codegen.binding.MutableClosure; import org.jetbrains.kotlin.codegen.binding.MutableClosure;
import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.GenerationState;
@@ -18,9 +18,9 @@ package org.jetbrains.kotlin.codegen.inline;
import com.google.common.base.Objects; import com.google.common.base.Objects;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.annotations.TestOnly; import org.jetbrains.annotations.TestOnly;
import org.jetbrains.org.objectweb.asm.Label; import org.jetbrains.org.objectweb.asm.Label;
import org.jetbrains.org.objectweb.asm.Opcodes; import org.jetbrains.org.objectweb.asm.Opcodes;
+1
View File
@@ -7,6 +7,7 @@ plugins {
jvmTarget = "1.6" jvmTarget = "1.6"
dependencies { dependencies {
compile(project(":kotlin-annotations-jvm"))
compile(project(":core:descriptors")) compile(project(":core:descriptors"))
compile(project(":core:deserialization")) compile(project(":core:deserialization"))
compile(project(":compiler:util")) compile(project(":compiler:util"))
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.descriptors; package org.jetbrains.kotlin.descriptors;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.resolve.scopes.LexicalScope; import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
import java.util.Collection; import java.util.Collection;
@@ -7,9 +7,9 @@ package org.jetbrains.kotlin.resolve;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.annotations.TestOnly; import org.jetbrains.annotations.TestOnly;
import org.jetbrains.kotlin.cfg.LeakingThisDescriptor; import org.jetbrains.kotlin.cfg.LeakingThisDescriptor;
import org.jetbrains.kotlin.cfg.TailRecursionKind; import org.jetbrains.kotlin.cfg.TailRecursionKind;
@@ -16,10 +16,10 @@
package org.jetbrains.kotlin.resolve; package org.jetbrains.kotlin.resolve;
import org.jetbrains.annotations.Mutable; import kotlin.annotations.jvm.Mutable;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo; import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo;
@@ -17,9 +17,9 @@
package org.jetbrains.kotlin.resolve.calls.util; package org.jetbrains.kotlin.resolve.calls.util;
import com.intellij.lang.ASTNode; import com.intellij.lang.ASTNode;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.scopes.receivers.Receiver; import org.jetbrains.kotlin.resolve.scopes.receivers.Receiver;
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
@@ -19,10 +19,10 @@ package org.jetbrains.kotlin.resolve.lazy;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.intellij.openapi.project.Project; import com.intellij.openapi.project.Project;
import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.ContainerUtil;
import kotlin.annotations.jvm.ReadOnly;
import kotlin.jvm.functions.Function1; import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.config.LanguageVersionSettings; import org.jetbrains.kotlin.config.LanguageVersionSettings;
import org.jetbrains.kotlin.context.GlobalContext; import org.jetbrains.kotlin.context.GlobalContext;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
@@ -17,9 +17,9 @@
package org.jetbrains.kotlin.resolve.lazy.data; package org.jetbrains.kotlin.resolve.lazy.data;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.descriptors.ClassKind; import org.jetbrains.kotlin.descriptors.ClassKind;
import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
@@ -7,11 +7,11 @@ package org.jetbrains.kotlin.resolve.lazy.descriptors;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiNameIdentifierOwner; import com.intellij.psi.PsiNameIdentifierOwner;
import kotlin.annotations.jvm.ReadOnly;
import kotlin.collections.CollectionsKt; import kotlin.collections.CollectionsKt;
import kotlin.jvm.functions.Function1; import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.config.LanguageFeature; import org.jetbrains.kotlin.config.LanguageFeature;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
@@ -17,9 +17,9 @@
package org.jetbrains.kotlin.psi; package org.jetbrains.kotlin.psi;
import com.intellij.lang.ASTNode; import com.intellij.lang.ASTNode;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.lexer.KtTokens; import org.jetbrains.kotlin.lexer.KtTokens;
import org.jetbrains.kotlin.resolve.scopes.receivers.Receiver; import org.jetbrains.kotlin.resolve.scopes.receivers.Receiver;
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
@@ -20,9 +20,9 @@ import com.intellij.lang.ASTNode;
import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiModifiableCodeBlock; import com.intellij.psi.PsiModifiableCodeBlock;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.lexer.KtTokens; import org.jetbrains.kotlin.lexer.KtTokens;
import java.util.Arrays; import java.util.Arrays;
@@ -16,8 +16,8 @@
package org.jetbrains.kotlin.psi; package org.jetbrains.kotlin.psi;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.ReadOnly;
import java.util.List; import java.util.List;
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.psi; package org.jetbrains.kotlin.psi;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import java.util.List; import java.util.List;
+1
View File
@@ -7,6 +7,7 @@ jvmTarget = "1.6"
javaHome = rootProject.extra["JDK_16"] as String javaHome = rootProject.extra["JDK_16"] as String
dependencies { dependencies {
compile(project(":kotlin-annotations-jvm"))
compile(project(":core:descriptors")) compile(project(":core:descriptors"))
compile(project(":core:deserialization")) compile(project(":core:deserialization"))
compile(project(":core:metadata.jvm")) compile(project(":core:metadata.jvm"))
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.load.java; package org.jetbrains.kotlin.load.java;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.load.java.structure.JavaClass; import org.jetbrains.kotlin.load.java.structure.JavaClass;
import org.jetbrains.kotlin.load.java.structure.JavaPackage; import org.jetbrains.kotlin.load.java.structure.JavaPackage;
import org.jetbrains.kotlin.name.ClassId; import org.jetbrains.kotlin.name.ClassId;
+1
View File
@@ -9,6 +9,7 @@ javaHome = rootProject.extra["JDK_16"] as String
dependencies { dependencies {
compile(project(":core:util.runtime")) compile(project(":core:util.runtime"))
compile(projectDist(":kotlin-stdlib")) compile(projectDist(":kotlin-stdlib"))
compile(project(":kotlin-annotations-jvm"))
} }
sourceSets { sourceSets {
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.descriptors; package org.jetbrains.kotlin.descriptors;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
import java.util.Collection; import java.util.Collection;
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.descriptors; package org.jetbrains.kotlin.descriptors;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.resolve.scopes.MemberScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.SimpleType; import org.jetbrains.kotlin.types.SimpleType;
import org.jetbrains.kotlin.types.TypeProjection; import org.jetbrains.kotlin.types.TypeProjection;
@@ -16,8 +16,8 @@
package org.jetbrains.kotlin.descriptors; package org.jetbrains.kotlin.descriptors;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.ReadOnly;
import java.util.List; import java.util.List;
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.descriptors.impl; package org.jetbrains.kotlin.descriptors.impl;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
@@ -18,10 +18,10 @@ package org.jetbrains.kotlin.resolve;
import kotlin.Pair; import kotlin.Pair;
import kotlin.Unit; import kotlin.Unit;
import kotlin.annotations.jvm.Mutable;
import kotlin.collections.CollectionsKt; import kotlin.collections.CollectionsKt;
import kotlin.jvm.functions.Function1; import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2; import kotlin.jvm.functions.Function2;
import org.jetbrains.annotations.Mutable;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
@@ -16,10 +16,10 @@
package org.jetbrains.kotlin.types; package org.jetbrains.kotlin.types;
import org.jetbrains.annotations.Mutable; import kotlin.annotations.jvm.Mutable;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
import org.jetbrains.kotlin.descriptors.SourceElement; import org.jetbrains.kotlin.descriptors.SourceElement;
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.types; package org.jetbrains.kotlin.types;
import kotlin.annotations.jvm.ReadOnly;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor; import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
+1 -19
View File
@@ -34,15 +34,9 @@ pill {
} }
val core = "$rootDir/core" val core = "$rootDir/core"
val annotationsSrc = "$buildDir/annotations"
val relocatedCoreSrc = "$buildDir/core-relocated" val relocatedCoreSrc = "$buildDir/core-relocated"
val libsDir = property("libsDir") val libsDir = property("libsDir")
sourceSets {
"main" {
java.srcDir(annotationsSrc)
}
}
val proguardDeps by configurations.creating val proguardDeps by configurations.creating
val shadows by configurations.creating { val shadows by configurations.creating {
@@ -55,6 +49,7 @@ dependencies {
compile(projectDist(":kotlin-stdlib")) compile(projectDist(":kotlin-stdlib"))
proguardDeps(project(":kotlin-stdlib")) proguardDeps(project(":kotlin-stdlib"))
proguardDeps(project(":kotlin-annotations-jvm"))
proguardDeps(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar", jdkHome = File(property("JDK_16") as String)))) proguardDeps(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar", jdkHome = File(property("JDK_16") as String))))
shadows(project(":kotlin-reflect-api")) shadows(project(":kotlin-reflect-api"))
@@ -69,18 +64,6 @@ dependencies {
shadows(project(":custom-dependencies:protobuf-lite", configuration = "default")) shadows(project(":custom-dependencies:protobuf-lite", configuration = "default"))
} }
val copyAnnotations by task<Sync> {
// copy just two missing annotations
from("$core/runtime.jvm/src") {
include("**/Mutable.java")
include("**/ReadOnly.java")
}
into(annotationsSrc)
includeEmptyDirs = false
}
tasks.getByName("compileJava").dependsOn(copyAnnotations)
class KotlinModuleShadowTransformer(private val logger: Logger) : Transformer { class KotlinModuleShadowTransformer(private val logger: Logger) : Transformer {
@Suppress("ArrayInDataClass") @Suppress("ArrayInDataClass")
private data class Entry(val path: String, val bytes: ByteArray) private data class Entry(val path: String, val bytes: ByteArray)
@@ -127,7 +110,6 @@ val reflectShadowJar by task<ShadowJar> {
version = null version = null
callGroovy("manifestAttributes", manifest, project, "Main", true) callGroovy("manifestAttributes", manifest, project, "Main", true)
from(mainSourceSet.output)
from(project(":core:descriptors.jvm").mainSourceSet.resources) { from(project(":core:descriptors.jvm").mainSourceSet.resources) {
include("META-INF/services/**") include("META-INF/services/**")
} }
+1
View File
@@ -63,6 +63,7 @@ dependencies {
proguardLibraryJars(projectDist(":kotlin-stdlib")) proguardLibraryJars(projectDist(":kotlin-stdlib"))
proguardLibraryJars(projectDist(":kotlin-script-runtime")) proguardLibraryJars(projectDist(":kotlin-script-runtime"))
proguardLibraryJars(projectDist(":kotlin-reflect")) proguardLibraryJars(projectDist(":kotlin-reflect"))
proguardLibraryJars(project(":kotlin-annotations-jvm"))
proguardLibraryJars(projectDist(":kotlin-scripting-common")) proguardLibraryJars(projectDist(":kotlin-scripting-common"))
proguardLibraryJars(projectDist(":kotlin-scripting-jvm")) proguardLibraryJars(projectDist(":kotlin-scripting-jvm"))
+1
View File
@@ -63,6 +63,7 @@ dependencies {
proguardLibraryJars(projectDist(":kotlin-stdlib")) proguardLibraryJars(projectDist(":kotlin-stdlib"))
proguardLibraryJars(projectDist(":kotlin-script-runtime")) proguardLibraryJars(projectDist(":kotlin-script-runtime"))
proguardLibraryJars(projectDist(":kotlin-reflect")) proguardLibraryJars(projectDist(":kotlin-reflect"))
proguardLibraryJars(project(":kotlin-annotations-jvm"))
proguardLibraryJars(projectDist(":kotlin-scripting-common")) proguardLibraryJars(projectDist(":kotlin-scripting-common"))
proguardLibraryJars(projectDist(":kotlin-scripting-jvm")) proguardLibraryJars(projectDist(":kotlin-scripting-jvm"))
+1
View File
@@ -63,6 +63,7 @@ dependencies {
proguardLibraryJars(projectDist(":kotlin-stdlib")) proguardLibraryJars(projectDist(":kotlin-stdlib"))
proguardLibraryJars(projectDist(":kotlin-script-runtime")) proguardLibraryJars(projectDist(":kotlin-script-runtime"))
proguardLibraryJars(projectDist(":kotlin-reflect")) proguardLibraryJars(projectDist(":kotlin-reflect"))
proguardLibraryJars(project(":kotlin-annotations-jvm"))
proguardLibraryJars(projectDist(":kotlin-scripting-common")) proguardLibraryJars(projectDist(":kotlin-scripting-common"))
proguardLibraryJars(projectDist(":kotlin-scripting-jvm")) proguardLibraryJars(projectDist(":kotlin-scripting-jvm"))