marcinmoskala
12/29/2022, 11:38 AMOA.kt
depends on A.kt
and `B.kt`:
◦ If we change A.kt
, then both A.kt
and B.kt
become dirty.
◦ If we change B.kt
, then both B.kt
and A.kt
become dirty.
• If 0A.kt
depends on A.kt
and B.kt
, 0B.kt
depends on B.kt
and C.kt
, OD.kt
depends on D.kt
and E.kt
.
◦ Change in A.kt
will make A.kt
, B.kt
and C.kt
dirty.
◦ Change in B.kt
will make A.kt
, B.kt
and C.kt
dirty.
◦ Change in C.kt
will make A.kt
, B.kt
and C.kt
dirty.
◦ Change in D.kt
will make D.kt
and E.kt
dirty.
◦ Change in E.kt
will make D.kt
and E.kt
dirty.
Dependency of aggregating files become dirty when any file changes.
I based on the description here, and my own experiments, but it wasn't easy to figure it out. If this is correct, I would love to see something like that in docs.Oliver.O
12/29/2022, 1:13 PMglureau
12/29/2022, 1:23 PM• So if output filedepends onOA.kt
and `B.kt`:A.kt
◦ If we changeNoob here, but I don't understand why B.kt would be dirty here. If A.kt has been changed and B.kt does not reference A.kt, then I presume only A.kt is dirty, and indeed will trigger the re-compute of 0A.kt, then bothA.kt
andA.kt
become dirty.B.kt
marcinmoskala
12/29/2022, 2:18 PMTing-Yuan Huang
01/05/2023, 1:09 AMOA
, A
and B
, if A
is changed, a processor will need both A
and B
to generate (an updated) OA
. Therefore B
is needed by the processor and considered dirty.