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:
Alexey Tsvetkov
2016-09-06 15:55:03 +03:00
parent 5534350fd6
commit 6ebb50751c
25 changed files with 377 additions and 78 deletions
@@ -24,13 +24,10 @@ import org.jetbrains.kotlin.modules.TargetId
class IncrementalCompilationComponentsImpl(
private val caches: Map<TargetId, IncrementalCache>,
private val lookupTracker: LookupTracker,
private val sourceRetentionAnnotationHandler: SourceRetentionAnnotationHandler?
private val lookupTracker: LookupTracker
): IncrementalCompilationComponents {
override fun getIncrementalCache(target: TargetId): IncrementalCache =
caches[target] ?: throw Exception("Incremental cache for target ${target.name} not found")
override fun getLookupTracker(): LookupTracker = lookupTracker
override fun getSourceRetentionAnnotationHandler() = sourceRetentionAnnotationHandler
}
@@ -67,24 +67,21 @@ fun makeModuleFile(name: String, isTest: Boolean, outputDir: File, sourcesToComp
return scriptFile
}
fun makeCompileServices(
incrementalCaches: Map<TargetId, IncrementalCache>,
lookupTracker: LookupTracker,
compilationCanceledStatus: CompilationCanceledStatus?
) = makeCompileServices(incrementalCaches, lookupTracker, compilationCanceledStatus, null)
fun makeCompileServices(
incrementalCaches: Map<TargetId, IncrementalCache>,
lookupTracker: LookupTracker,
compilationCanceledStatus: CompilationCanceledStatus?,
sourceRetentionAnnotationHandler: SourceRetentionAnnotationHandler?
sourceRetentionAnnotationHandler: SourceRetentionAnnotationHandler? = null
): Services =
with(Services.Builder()) {
register(IncrementalCompilationComponents::class.java,
IncrementalCompilationComponentsImpl(incrementalCaches, lookupTracker, sourceRetentionAnnotationHandler))
IncrementalCompilationComponentsImpl(incrementalCaches, lookupTracker))
compilationCanceledStatus?.let {
register(CompilationCanceledStatus::class.java, it)
}
sourceRetentionAnnotationHandler?.let {
register(SourceRetentionAnnotationHandler::class.java, it)
}
build()
}