thramp
04/24/2025, 3:34 PMYoussef Shoaib [MOD]
04/24/2025, 3:36 PMthramp
04/24/2025, 3:51 PMYoussef Shoaib [MOD]
04/24/2025, 3:56 PMdmitriy.novozhilov
04/25/2025, 6:46 AMX
was referenced during the analysis of file `Y`". And on the build tools side we compare metadata dumps of current and previous compilation to find all declarations which were actually change.dmitriy.novozhilov
04/25/2025, 6:53 AMfun test() {
// 1000 lines of code
foo {
println("hello") // change it to println("world")
}
}
If I got the concept right, on such a change from example only foo
call will be reanalyzed, and results for "1000 lines of code" would be taken from cache.
@dimonchik0036 correct me if I wrong.dimonchik0036
04/25/2025, 12:16 PMthe AA team works on even smarter algorithm, which will allow us to reanalyze only part of function body on change inside it:This is about KT-72357, and for now, we have plans only for partial analysis, not for partial invalidation, so your example transforms to
fun test() {
foo {
println("hello") // want to check whether `println` points to the `kotlin.io.println`
}
// 1000 lines of code
}
so we can analyze only the first statement from the function and leave the remaining body untouchedthramp
04/26/2025, 6:54 PMthramp
04/26/2025, 6:55 PM