Kapt: Remove kapt1 from Kotlin compiler
This commit is contained in:
@@ -31,7 +31,7 @@ public class ClassBuilderFactories {
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassBuilderMode getClassBuilderMode() {
|
||||
return ClassBuilderMode.full(false);
|
||||
return ClassBuilderMode.FULL;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -56,21 +56,15 @@ public class ClassBuilderFactories {
|
||||
}
|
||||
};
|
||||
|
||||
public static ClassBuilderFactory TEST = new TestClassBuilderFactory(false);
|
||||
public static ClassBuilderFactory TEST = new TestClassBuilderFactory();
|
||||
|
||||
public static ClassBuilderFactory TEST_WITH_SOURCE_RETENTION_ANNOTATIONS = new TestClassBuilderFactory(true);
|
||||
|
||||
public static class TestClassBuilderFactory implements ClassBuilderFactory {
|
||||
private final boolean generateSourceRetentionAnnotations;
|
||||
|
||||
public TestClassBuilderFactory(boolean generateSourceRetentionAnnotations) {
|
||||
this.generateSourceRetentionAnnotations = generateSourceRetentionAnnotations;
|
||||
}
|
||||
public TestClassBuilderFactory() {}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassBuilderMode getClassBuilderMode() {
|
||||
return ClassBuilderMode.full(generateSourceRetentionAnnotations);
|
||||
return ClassBuilderMode.FULL;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -101,37 +95,33 @@ public class ClassBuilderFactories {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static ClassBuilderFactory binaries(boolean generateSourceRetentionAnnotations) {
|
||||
return new ClassBuilderFactory() {
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassBuilderMode getClassBuilderMode() {
|
||||
return ClassBuilderMode.full(generateSourceRetentionAnnotations);
|
||||
}
|
||||
public static ClassBuilderFactory BINARIES = new ClassBuilderFactory() {
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassBuilderMode getClassBuilderMode() {
|
||||
return ClassBuilderMode.FULL;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassBuilder newClassBuilder(@NotNull JvmDeclarationOrigin origin) {
|
||||
return new AbstractClassBuilder.Concrete(new BinaryClassWriter());
|
||||
}
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassBuilder newClassBuilder(@NotNull JvmDeclarationOrigin origin) {
|
||||
return new AbstractClassBuilder.Concrete(new BinaryClassWriter());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String asText(ClassBuilder builder) {
|
||||
throw new UnsupportedOperationException("BINARIES generator asked for text");
|
||||
}
|
||||
@Override
|
||||
public String asText(ClassBuilder builder) {
|
||||
throw new UnsupportedOperationException("BINARIES generator asked for text");
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] asBytes(ClassBuilder builder) {
|
||||
ClassWriter visitor = (ClassWriter) builder.getVisitor();
|
||||
return visitor.toByteArray();
|
||||
}
|
||||
@Override
|
||||
public byte[] asBytes(ClassBuilder builder) {
|
||||
ClassWriter visitor = (ClassWriter) builder.getVisitor();
|
||||
return visitor.toByteArray();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
@Override
|
||||
public void close() {}
|
||||
};
|
||||
|
||||
private ClassBuilderFactories() {
|
||||
}
|
||||
|
||||
@@ -35,15 +35,11 @@ public class ClassBuilderMode {
|
||||
this.generateSourceRetentionAnnotations = generateSourceRetentionAnnotations;
|
||||
this.generateMultiFileFacadePartClasses = generateMultiFileFacadePartClasses;
|
||||
}
|
||||
|
||||
public static ClassBuilderMode full(boolean generateSourceRetentionAnnotations) {
|
||||
return generateSourceRetentionAnnotations ? KAPT : FULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Full function bodies
|
||||
*/
|
||||
private final static ClassBuilderMode FULL = new ClassBuilderMode(
|
||||
public final static ClassBuilderMode FULL = new ClassBuilderMode(
|
||||
/* bodies = */ true,
|
||||
/* metadata = */ true,
|
||||
/* sourceRetention = */ false,
|
||||
@@ -57,15 +53,6 @@ public class ClassBuilderMode {
|
||||
/* metadata = */ false,
|
||||
/* sourceRetention = */ true,
|
||||
/* generateMultiFileFacadePartClasses = */ false);
|
||||
|
||||
/**
|
||||
* Function signatures + metadata (to support incremental compilation with kapt)
|
||||
*/
|
||||
public final static ClassBuilderMode KAPT = new ClassBuilderMode(
|
||||
/* bodies = */ false,
|
||||
/* metadata = */ true,
|
||||
/* sourceRetention = */ true,
|
||||
/* generateMultiFileFacadePartClasses = */ false);
|
||||
|
||||
/**
|
||||
* Function signatures + metadata (to support incremental compilation with kapt)
|
||||
|
||||
+1
-1
@@ -196,7 +196,7 @@ public class JvmSerializerExtension extends SerializerExtension {
|
||||
|
||||
@Override
|
||||
public void serializeErrorType(@NotNull KotlinType type, @NotNull ProtoBuf.Type.Builder builder) {
|
||||
if (classBuilderMode == ClassBuilderMode.KAPT || classBuilderMode == ClassBuilderMode.KAPT3) {
|
||||
if (classBuilderMode == ClassBuilderMode.KAPT3) {
|
||||
builder.setClassName(stringTable.getStringIndex(TypeSignatureMappingKt.NON_EXISTENT_CLASS_NAME));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -37,13 +37,10 @@ dependencies {
|
||||
sourceSets {
|
||||
"main" {
|
||||
projectDefault()
|
||||
java.srcDirs("../../plugins/annotation-collector/src",
|
||||
"../builtins-serializer/src",
|
||||
java.srcDirs("../builtins-serializer/src",
|
||||
"../javac-wrapper/src")
|
||||
}
|
||||
"test" {
|
||||
java.srcDirs("../../plugins/annotation-collector/test")
|
||||
}
|
||||
"test" { }
|
||||
}
|
||||
|
||||
testsJar {}
|
||||
|
||||
@@ -16,17 +16,15 @@
|
||||
|
||||
package org.jetbrains.kotlin.cli.jvm
|
||||
|
||||
import org.jetbrains.kotlin.annotation.AnnotationCollectorCommandLineProcessor
|
||||
import org.jetbrains.kotlin.annotation.AnnotationCollectorComponentRegistrar
|
||||
import org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
|
||||
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
|
||||
|
||||
object BundledCompilerPlugins {
|
||||
|
||||
val componentRegistrars: List<ComponentRegistrar>
|
||||
get() = listOf(AnnotationCollectorComponentRegistrar())
|
||||
get() = emptyList()
|
||||
|
||||
val commandLineProcessors: List<CommandLineProcessor>
|
||||
get() = listOf(AnnotationCollectorCommandLineProcessor())
|
||||
get() = emptyList()
|
||||
|
||||
}
|
||||
+1
-2
@@ -420,10 +420,9 @@ object KotlinToJVMBytecodeCompiler {
|
||||
sourceFiles: List<KtFile>,
|
||||
module: Module?
|
||||
): GenerationState {
|
||||
val isKapt2Enabled = environment.project.getUserData(IS_KAPT2_ENABLED_KEY) ?: false
|
||||
val generationState = GenerationState.Builder(
|
||||
environment.project,
|
||||
ClassBuilderFactories.binaries(isKapt2Enabled),
|
||||
ClassBuilderFactories.BINARIES,
|
||||
result.moduleDescriptor,
|
||||
result.bindingContext,
|
||||
sourceFiles,
|
||||
|
||||
+1
-2
@@ -422,10 +422,9 @@ object KotlinToJVMBytecodeCompiler {
|
||||
sourceFiles: List<KtFile>,
|
||||
module: Module?
|
||||
): GenerationState {
|
||||
val isKapt2Enabled = environment.project.getUserData(IS_KAPT2_ENABLED_KEY) ?: false
|
||||
val generationState = GenerationState.Builder(
|
||||
environment.project,
|
||||
ClassBuilderFactories.binaries(isKapt2Enabled),
|
||||
ClassBuilderFactories.BINARIES,
|
||||
result.moduleDescriptor,
|
||||
result.bindingContext,
|
||||
sourceFiles,
|
||||
|
||||
+1
-2
@@ -422,10 +422,9 @@ object KotlinToJVMBytecodeCompiler {
|
||||
sourceFiles: List<KtFile>,
|
||||
module: Module?
|
||||
): GenerationState {
|
||||
val isKapt2Enabled = environment.project.getUserData(IS_KAPT2_ENABLED_KEY) ?: false
|
||||
val generationState = GenerationState.Builder(
|
||||
environment.project,
|
||||
ClassBuilderFactories.binaries(isKapt2Enabled),
|
||||
ClassBuilderFactories.BINARIES,
|
||||
result.moduleDescriptor,
|
||||
result.bindingContext,
|
||||
sourceFiles,
|
||||
|
||||
@@ -1,21 +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.cli.jvm.config
|
||||
|
||||
import com.intellij.openapi.util.Key
|
||||
|
||||
val IS_KAPT2_ENABLED_KEY = Key<Boolean>("IsKapt2EnabledKey")
|
||||
@@ -89,7 +89,7 @@ open class GenericReplCompiler(disposable: Disposable,
|
||||
|
||||
val generationState = GenerationState.Builder(
|
||||
psiFile.project,
|
||||
ClassBuilderFactories.binaries(false),
|
||||
ClassBuilderFactories.BINARIES,
|
||||
compilerState.analyzerEngine.module,
|
||||
compilerState.analyzerEngine.trace.bindingContext,
|
||||
listOf(psiFile),
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ import java.io.File
|
||||
|
||||
abstract class AbstractKapt3BuilderModeBytecodeShapeTest : CodegenTestCase() {
|
||||
private companion object {
|
||||
var TEST_LIGHT_ANALYSIS: ClassBuilderFactory = object : ClassBuilderFactories.TestClassBuilderFactory(false) {
|
||||
var TEST_LIGHT_ANALYSIS: ClassBuilderFactory = object : ClassBuilderFactories.TestClassBuilderFactory() {
|
||||
override fun getClassBuilderMode() = ClassBuilderMode.KAPT3
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ import java.io.File
|
||||
|
||||
abstract class AbstractLightAnalysisModeTest : CodegenTestCase() {
|
||||
private companion object {
|
||||
var TEST_LIGHT_ANALYSIS: ClassBuilderFactory = object : ClassBuilderFactories.TestClassBuilderFactory(false) {
|
||||
var TEST_LIGHT_ANALYSIS: ClassBuilderFactory = object : ClassBuilderFactories.TestClassBuilderFactory() {
|
||||
override fun getClassBuilderMode() = ClassBuilderMode.LIGHT_ANALYSIS_FOR_TESTS
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user