Remove source annotations when copy class with kapt2
Writing source annotations enables incremental compilation for kapt2. However they are not needed in bytecode, so we remove them when copying classes. # Conflicts: # compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt # compiler/frontend.java/src/org/jetbrains/kotlin/config/JVMConfigurationKeys.java
This commit is contained in:
@@ -414,16 +414,20 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
||||
sourceRetentionAnnotationHandler: SourceRetentionAnnotationHandler?,
|
||||
context: CompileContext
|
||||
): CompilerEnvironment {
|
||||
val compilerServices = Services.Builder()
|
||||
.register(IncrementalCompilationComponents::class.java,
|
||||
IncrementalCompilationComponentsImpl(incrementalCaches.mapKeys { TargetId(it.key) },
|
||||
lookupTracker, sourceRetentionAnnotationHandler))
|
||||
.register(CompilationCanceledStatus::class.java, object : CompilationCanceledStatus {
|
||||
override fun checkCanceled() {
|
||||
if (context.cancelStatus.isCanceled) throw CompilationCanceledException()
|
||||
}
|
||||
})
|
||||
.build()
|
||||
val compilerServices = with(Services.Builder()) {
|
||||
register(IncrementalCompilationComponents::class.java,
|
||||
IncrementalCompilationComponentsImpl(incrementalCaches.mapKeys { TargetId(it.key) },
|
||||
lookupTracker))
|
||||
register(CompilationCanceledStatus::class.java, object : CompilationCanceledStatus {
|
||||
override fun checkCanceled() {
|
||||
if (context.cancelStatus.isCanceled) throw CompilationCanceledException()
|
||||
}
|
||||
})
|
||||
sourceRetentionAnnotationHandler?.let {
|
||||
register(SourceRetentionAnnotationHandler::class.java, it)
|
||||
}
|
||||
build()
|
||||
}
|
||||
|
||||
return CompilerEnvironment.getEnvironmentFor(
|
||||
PathUtil.getKotlinPathsForJpsPluginOrJpsTests(),
|
||||
|
||||
Reference in New Issue
Block a user