Kapt: Write annotations with the "SOURCE" retention if kapt2 is enabled

(cherry picked from commit 6177b2b)
This commit is contained in:
Yan Zhulanow
2016-09-02 18:37:25 +03:00
committed by Yan Zhulanow
parent 00355f3c52
commit 471ddc5a93
32 changed files with 317 additions and 107 deletions
@@ -23,12 +23,15 @@ import org.jetbrains.org.objectweb.asm.Opcodes.*
import java.io.File
abstract class AbstractBytecodeListingTest : CodegenTestCase() {
protected open val classBuilderFactory: ClassBuilderFactory
get() = ClassBuilderFactories.TEST
override fun doTest(filename: String) {
createEnvironmentWithMockJdkAndIdeaAnnotations(ConfigurationKind.ALL)
loadFileByFullPath(filename)
val ktFile = File(filename)
val txtFile = File(ktFile.parentFile, ktFile.nameWithoutExtension + ".txt")
val generatedFiles = CodegenTestUtil.generateFiles(myEnvironment, myFiles)
val generatedFiles = CodegenTestUtil.generateFiles(myEnvironment, myFiles, classBuilderFactory)
.getClassFiles()
.sortedBy { it.relativePath }
.map {
@@ -46,13 +46,21 @@ public class CodegenTestUtil {
@NotNull
public static ClassFileFactory generateFiles(@NotNull KotlinCoreEnvironment environment, @NotNull CodegenTestFiles files) {
return generateFiles(environment, files, ClassBuilderFactories.TEST);
}
@NotNull
public static ClassFileFactory generateFiles(
@NotNull KotlinCoreEnvironment environment,
@NotNull CodegenTestFiles files,
@NotNull ClassBuilderFactory classBuilderFactory) {
AnalysisResult analysisResult = JvmResolveUtil.analyzeAndCheckForErrors(files.getPsiFiles(), environment);
analysisResult.throwIfError();
AnalyzingUtils.throwExceptionOnErrors(analysisResult.getBindingContext());
CompilerConfiguration configuration = environment.getConfiguration();
GenerationState state = new GenerationState(
environment.getProject(),
ClassBuilderFactories.TEST,
classBuilderFactory,
analysisResult.getModuleDescriptor(),
analysisResult.getBindingContext(),
files.getPsiFiles(),