diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_module_state_modification.txt new file mode 100644 index 00000000000..a0c13990fa1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_module_state_modification.txt @@ -0,0 +1,10 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_source_module_state_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_source_module_state_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.global_source_out_of_block_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt new file mode 100644 index 00000000000..f4f025fb360 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt @@ -0,0 +1,22 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: G + +// MODULE: E +// WILDCARD_MODIFICATION_EVENT + +// MODULE: D + +// MODULE: B(D, E) + +// MODULE: F(L1, B) + +// MODULE: C(F, G, L2) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.module_out_of_block_modification.txt new file mode 100644 index 00000000000..2677e6ffdac --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.module_out_of_block_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +E +F diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.module_state_modification.txt new file mode 100644 index 00000000000..2677e6ffdac --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.module_state_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +E +F diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_module_state_modification.txt new file mode 100644 index 00000000000..a0c13990fa1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_module_state_modification.txt @@ -0,0 +1,10 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_source_module_state_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_source_module_state_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.global_source_out_of_block_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt new file mode 100644 index 00000000000..f2af79afc59 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt @@ -0,0 +1,22 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: G + +// MODULE: F(L1) + +// MODULE: E + +// MODULE: D + +// MODULE: C(F, G, L2) + +// MODULE: B(D, E) + +// MODULE: A(B, C) +// WILDCARD_MODIFICATION_EVENT diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.module_out_of_block_modification.txt new file mode 100644 index 00000000000..55e7f489cd2 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.module_out_of_block_modification.txt @@ -0,0 +1,2 @@ +Module names of invalidated sessions: +A diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.module_state_modification.txt new file mode 100644 index 00000000000..55e7f489cd2 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.module_state_modification.txt @@ -0,0 +1,2 @@ +Module names of invalidated sessions: +A diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_module_state_modification.txt new file mode 100644 index 00000000000..a0c13990fa1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_module_state_modification.txt @@ -0,0 +1,10 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_source_module_state_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_source_module_state_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.global_source_out_of_block_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt new file mode 100644 index 00000000000..21cefae3c3f --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt @@ -0,0 +1,23 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: G + +// MODULE: F(L1) + +// MODULE: E + +// MODULE: D +// WILDCARD_MODIFICATION_EVENT + +// MODULE: C(F, G, L2) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: B(D, E) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.module_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.module_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_module_state_modification.txt new file mode 100644 index 00000000000..a0c13990fa1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_module_state_modification.txt @@ -0,0 +1,10 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_source_module_state_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_source_module_state_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.global_source_out_of_block_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt new file mode 100644 index 00000000000..6c40bbdd5ac --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt @@ -0,0 +1,22 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: G + +// MODULE: F(L1) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: E + +// MODULE: D + +// MODULE: C(F, G, L2) + +// MODULE: B(D, E) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.module_out_of_block_modification.txt new file mode 100644 index 00000000000..4e371f2ba89 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.module_out_of_block_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +C +F diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.module_state_modification.txt new file mode 100644 index 00000000000..4e371f2ba89 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.module_state_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +C +F diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_module_state_modification.txt new file mode 100644 index 00000000000..a0c13990fa1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_module_state_modification.txt @@ -0,0 +1,10 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_source_module_state_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_source_module_state_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.global_source_out_of_block_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt new file mode 100644 index 00000000000..59430f4aea1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt @@ -0,0 +1,22 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// WILDCARD_MODIFICATION_EVENT +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: G + +// MODULE: F(L1) + +// MODULE: E + +// MODULE: D + +// MODULE: C(F, G, L2) + +// MODULE: B(D, E) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.module_out_of_block_modification.txt new file mode 100644 index 00000000000..1d2d1b14ba1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.module_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +C +F +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.module_state_modification.txt new file mode 100644 index 00000000000..1d2d1b14ba1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +C +F +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_module_state_modification.txt new file mode 100644 index 00000000000..a0c13990fa1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_module_state_modification.txt @@ -0,0 +1,10 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_source_module_state_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_source_module_state_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..5d6be6190f9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.global_source_out_of_block_modification.txt @@ -0,0 +1,8 @@ +Module names of invalidated sessions: +A +B +C +D +E +F +G diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt new file mode 100644 index 00000000000..392cf201f7b --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt @@ -0,0 +1,22 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// WILDCARD_MODIFICATION_EVENT +// FILE: l2.kt + +// MODULE: G + +// MODULE: F(L1) + +// MODULE: E + +// MODULE: D + +// MODULE: C(F, G, L2) + +// MODULE: B(D, E) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.module_out_of_block_modification.txt new file mode 100644 index 00000000000..8ca21d68835 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.module_out_of_block_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +C +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.module_state_modification.txt new file mode 100644 index 00000000000..8ca21d68835 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.module_state_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +C +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_module_state_modification.txt new file mode 100644 index 00000000000..19dd69dca25 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_module_state_modification.txt @@ -0,0 +1 @@ +Module names of invalidated sessions: diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_source_module_state_modification.txt new file mode 100644 index 00000000000..19dd69dca25 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_source_module_state_modification.txt @@ -0,0 +1 @@ +Module names of invalidated sessions: diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..19dd69dca25 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.global_source_out_of_block_modification.txt @@ -0,0 +1 @@ +Module names of invalidated sessions: diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt new file mode 100644 index 00000000000..be046613af1 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt @@ -0,0 +1,21 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: G + +// MODULE: F(L1) + +// MODULE: E + +// MODULE: D + +// MODULE: C(F, G, L2) + +// MODULE: B(D, E) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.module_out_of_block_modification.txt new file mode 100644 index 00000000000..19dd69dca25 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.module_out_of_block_modification.txt @@ -0,0 +1 @@ +Module names of invalidated sessions: diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.module_state_modification.txt new file mode 100644 index 00000000000..19dd69dca25 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.module_state_modification.txt @@ -0,0 +1 @@ +Module names of invalidated sessions: diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_module_state_modification.txt new file mode 100644 index 00000000000..0d23e3ff7ea --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +E +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_source_module_state_modification.txt new file mode 100644 index 00000000000..4ccb3b7dd23 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_source_module_state_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +D +E diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..4ccb3b7dd23 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.global_source_out_of_block_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +D +E diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt new file mode 100644 index 00000000000..fac9a02420d --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt @@ -0,0 +1,14 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: E(L1) + +// MODULE: D(E) + +// MODULE: C(D) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: B(C) + +// MODULE: A(B) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.module_out_of_block_modification.txt new file mode 100644 index 00000000000..54df4bab8c8 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.module_out_of_block_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +B +C diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.module_state_modification.txt new file mode 100644 index 00000000000..54df4bab8c8 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.module_state_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +B +C diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_module_state_modification.txt new file mode 100644 index 00000000000..0d23e3ff7ea --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +E +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_source_module_state_modification.txt new file mode 100644 index 00000000000..4ccb3b7dd23 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_source_module_state_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +D +E diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..4ccb3b7dd23 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.global_source_out_of_block_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +D +E diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt new file mode 100644 index 00000000000..64a63f6283f --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt @@ -0,0 +1,14 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// WILDCARD_MODIFICATION_EVENT +// FILE: l1.kt + +// MODULE: E(L1) + +// MODULE: D(E) + +// MODULE: C(D) + +// MODULE: B(C) + +// MODULE: A(B) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.module_out_of_block_modification.txt new file mode 100644 index 00000000000..0d23e3ff7ea --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.module_out_of_block_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +E +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.module_state_modification.txt new file mode 100644 index 00000000000..0d23e3ff7ea --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +E +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_module_state_modification.txt new file mode 100644 index 00000000000..478c75f27de --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_source_module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_source_module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.global_source_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt new file mode 100644 index 00000000000..dd9ab6e0737 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt @@ -0,0 +1,17 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: D(L1) + +// MODULE: C(D, L2) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: B(D) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.module_out_of_block_modification.txt new file mode 100644 index 00000000000..54df4bab8c8 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.module_out_of_block_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +B +C diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.module_state_modification.txt new file mode 100644 index 00000000000..54df4bab8c8 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.module_state_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +B +C diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_module_state_modification.txt new file mode 100644 index 00000000000..478c75f27de --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_source_module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_source_module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.global_source_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt new file mode 100644 index 00000000000..04e46e0f249 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt @@ -0,0 +1,17 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: D(L1) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: C(D, L2) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: B(D) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.module_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.module_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_module_state_modification.txt new file mode 100644 index 00000000000..478c75f27de --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_source_module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_source_module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.global_source_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt new file mode 100644 index 00000000000..e0769ff2539 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt @@ -0,0 +1,16 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: D(L1) +// WILDCARD_MODIFICATION_EVENT + +// MODULE: C(D, L2) + +// MODULE: B(D) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.module_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.module_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_module_state_modification.txt new file mode 100644 index 00000000000..478c75f27de --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_source_module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_source_module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.global_source_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt new file mode 100644 index 00000000000..de575703d2e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt @@ -0,0 +1,16 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// WILDCARD_MODIFICATION_EVENT +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// FILE: l2.kt + +// MODULE: D(L1) + +// MODULE: C(D, L2) + +// MODULE: B(D) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.module_out_of_block_modification.txt new file mode 100644 index 00000000000..8bfa6966ace --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.module_out_of_block_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +D +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.module_state_modification.txt new file mode 100644 index 00000000000..8bfa6966ace --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.module_state_modification.txt @@ -0,0 +1,6 @@ +Module names of invalidated sessions: +A +B +C +D +L1 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_module_state_modification.txt new file mode 100644 index 00000000000..478c75f27de --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_module_state_modification.txt @@ -0,0 +1,7 @@ +Module names of invalidated sessions: +A +B +C +D +L1 +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_source_module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_source_module_state_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_source_module_state_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_source_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_source_out_of_block_modification.txt new file mode 100644 index 00000000000..0b567ab0b7e --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.global_source_out_of_block_modification.txt @@ -0,0 +1,5 @@ +Module names of invalidated sessions: +A +B +C +D diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt new file mode 100644 index 00000000000..5ba3c3263a0 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt @@ -0,0 +1,16 @@ +// MODULE: L1 +// MODULE_KIND: LibraryBinary +// FILE: l1.kt + +// MODULE: L2 +// MODULE_KIND: LibraryBinary +// WILDCARD_MODIFICATION_EVENT +// FILE: l2.kt + +// MODULE: D(L1) + +// MODULE: C(D, L2) + +// MODULE: B(D) + +// MODULE: A(B, C) diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.module_out_of_block_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.module_out_of_block_modification.txt new file mode 100644 index 00000000000..8ca21d68835 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.module_out_of_block_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +C +L2 diff --git a/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.module_state_modification.txt b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.module_state_modification.txt new file mode 100644 index 00000000000..8ca21d68835 --- /dev/null +++ b/analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.module_state_modification.txt @@ -0,0 +1,4 @@ +Module names of invalidated sessions: +A +C +L2 diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/AbstractSessionInvalidationTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/AbstractSessionInvalidationTest.kt new file mode 100644 index 00000000000..0aeaa88d359 --- /dev/null +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/AbstractSessionInvalidationTest.kt @@ -0,0 +1,113 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.low.level.api.fir.sessions + +import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator +import org.jetbrains.kotlin.analysis.project.structure.KtModule +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest +import org.jetbrains.kotlin.analysis.test.framework.directives.ModificationEventKind +import org.jetbrains.kotlin.analysis.test.framework.directives.publishWildcardModificationEventsByDirective +import org.jetbrains.kotlin.analysis.test.framework.project.structure.ktModuleProvider +import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator +import org.jetbrains.kotlin.test.services.TestModuleStructure +import org.jetbrains.kotlin.test.services.TestServices +import org.jetbrains.kotlin.test.services.assertions + +/** + * Checks that sessions are invalidated after publishing modification events. The type of published modification event depends on the value + * of [modificationEventKind]. This allows [AbstractSessionInvalidationTest] to check all modification event kinds with the same original + * test data. + * + * See also `AbstractSessionInvalidationTest` on the IDE side, which is still required to check session invalidation in module structures + * with cyclic dependencies. + */ +abstract class AbstractSessionInvalidationTest : AbstractAnalysisApiBasedTest() { + protected abstract val modificationEventKind: ModificationEventKind + + override fun doTestByModuleStructure(moduleStructure: TestModuleStructure, testServices: TestServices) { + val allKtModules = testServices.ktModuleProvider.getModuleStructure().allKtModules() + + val sessionsBeforeModification = getSessionsFor(allKtModules) + moduleStructure.publishWildcardModificationEventsByDirective(modificationEventKind, testServices) + val sessionsAfterModification = getSessionsFor(allKtModules) + + val invalidatedSessions = buildSet { + addAll(sessionsBeforeModification) + removeAll(sessionsAfterModification) + } + + checkInvalidatedModules(moduleStructure, invalidatedSessions, testServices) + checkSessionsMarkedInvalid(invalidatedSessions, testServices) + } + + private fun getSessionsFor(modules: List): List { + val project = modules.first().project + val sessionCache = LLFirSessionCache.getInstance(project) + return modules.map { sessionCache.getSession(it) } + } + + private fun checkInvalidatedModules( + testModuleStructure: TestModuleStructure, + invalidatedSessions: Set, + testServices: TestServices, + ) { + val testModuleNames = testModuleStructure.modules.map { it.name } + + val invalidatedModuleDescriptions = invalidatedSessions + .map { it.ktModule.toString() } + .filter { + // We only want to include test modules in the output. Otherwise, it might include libraries from the test infrastructure. + it in testModuleNames + } + .distinct() + .sorted() + + val actualText = buildString { + appendLine("Module names of invalidated sessions:") + invalidatedModuleDescriptions.forEach { appendLine(it) } + } + + testServices.assertions.assertEqualsToTestDataFileSibling(actualText, extension = ".${modificationEventKind.name.lowercase()}.txt") + } + + private fun checkSessionsMarkedInvalid( + invalidatedSessions: Set, + testServices: TestServices, + ) { + invalidatedSessions.forEach { session -> + testServices.assertions.assertFalse(session.isValid) { + "The invalidated session `${session}` should have been marked invalid." + } + } + } + + override val configurator: AnalysisApiTestConfigurator = AnalysisApiFirSourceTestConfigurator(analyseInDependentSession = false) +} + +abstract class AbstractModuleStateModificationSessionInvalidationTest : AbstractSessionInvalidationTest() { + override val modificationEventKind: ModificationEventKind + get() = ModificationEventKind.MODULE_STATE_MODIFICATION +} + +abstract class AbstractModuleOutOfBlockModificationSessionInvalidationTest : AbstractSessionInvalidationTest() { + override val modificationEventKind: ModificationEventKind + get() = ModificationEventKind.MODULE_OUT_OF_BLOCK_MODIFICATION +} + +abstract class AbstractGlobalModuleStateModificationSessionInvalidationTest : AbstractSessionInvalidationTest() { + override val modificationEventKind: ModificationEventKind + get() = ModificationEventKind.GLOBAL_MODULE_STATE_MODIFICATION +} + +abstract class AbstractGlobalSourceModuleStateModificationSessionInvalidationTest : AbstractSessionInvalidationTest() { + override val modificationEventKind: ModificationEventKind + get() = ModificationEventKind.GLOBAL_SOURCE_MODULE_STATE_MODIFICATION +} + +abstract class AbstractGlobalSourceOutOfBlockModificationSessionInvalidationTest : AbstractSessionInvalidationTest() { + override val modificationEventKind: ModificationEventKind + get() = ModificationEventKind.GLOBAL_SOURCE_OUT_OF_BLOCK_MODIFICATION +} diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalModuleStateModificationSessionInvalidationTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalModuleStateModificationSessionInvalidationTestGenerated.java new file mode 100644 index 00000000000..54faf83b9bc --- /dev/null +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalModuleStateModificationSessionInvalidationTestGenerated.java @@ -0,0 +1,109 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.low.level.api.fir.sessions; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("analysis/low-level-api-fir/testData/sessionInvalidation") +@TestDataPath("$PROJECT_ROOT") +public class GlobalModuleStateModificationSessionInvalidationTestGenerated extends AbstractGlobalModuleStateModificationSessionInvalidationTest { + @Test + public void testAllFilesPresentInSessionInvalidation() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/sessionInvalidation"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("binaryTreeAdditionalEdge.kt") + public void testBinaryTreeAdditionalEdge() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateA.kt") + public void testBinaryTreeInvalidateA() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateCD.kt") + public void testBinaryTreeInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateF.kt") + public void testBinaryTreeInvalidateF() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL1.kt") + public void testBinaryTreeInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL2.kt") + public void testBinaryTreeInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateNone.kt") + public void testBinaryTreeInvalidateNone() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt"); + } + + @Test + @TestMetadata("linearInvalidateC.kt") + public void testLinearInvalidateC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt"); + } + + @Test + @TestMetadata("linearInvalidateL1.kt") + public void testLinearInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateBC.kt") + public void testRhombusInvalidateBC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateCD.kt") + public void testRhombusInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateD.kt") + public void testRhombusInvalidateD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL1.kt") + public void testRhombusInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL2.kt") + public void testRhombusInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt"); + } +} diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalSourceModuleStateModificationSessionInvalidationTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalSourceModuleStateModificationSessionInvalidationTestGenerated.java new file mode 100644 index 00000000000..ca35a2637b9 --- /dev/null +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalSourceModuleStateModificationSessionInvalidationTestGenerated.java @@ -0,0 +1,109 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.low.level.api.fir.sessions; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("analysis/low-level-api-fir/testData/sessionInvalidation") +@TestDataPath("$PROJECT_ROOT") +public class GlobalSourceModuleStateModificationSessionInvalidationTestGenerated extends AbstractGlobalSourceModuleStateModificationSessionInvalidationTest { + @Test + public void testAllFilesPresentInSessionInvalidation() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/sessionInvalidation"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("binaryTreeAdditionalEdge.kt") + public void testBinaryTreeAdditionalEdge() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateA.kt") + public void testBinaryTreeInvalidateA() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateCD.kt") + public void testBinaryTreeInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateF.kt") + public void testBinaryTreeInvalidateF() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL1.kt") + public void testBinaryTreeInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL2.kt") + public void testBinaryTreeInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateNone.kt") + public void testBinaryTreeInvalidateNone() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt"); + } + + @Test + @TestMetadata("linearInvalidateC.kt") + public void testLinearInvalidateC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt"); + } + + @Test + @TestMetadata("linearInvalidateL1.kt") + public void testLinearInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateBC.kt") + public void testRhombusInvalidateBC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateCD.kt") + public void testRhombusInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateD.kt") + public void testRhombusInvalidateD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL1.kt") + public void testRhombusInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL2.kt") + public void testRhombusInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt"); + } +} diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalSourceOutOfBlockModificationSessionInvalidationTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalSourceOutOfBlockModificationSessionInvalidationTestGenerated.java new file mode 100644 index 00000000000..3b972cbac7a --- /dev/null +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/GlobalSourceOutOfBlockModificationSessionInvalidationTestGenerated.java @@ -0,0 +1,109 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.low.level.api.fir.sessions; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("analysis/low-level-api-fir/testData/sessionInvalidation") +@TestDataPath("$PROJECT_ROOT") +public class GlobalSourceOutOfBlockModificationSessionInvalidationTestGenerated extends AbstractGlobalSourceOutOfBlockModificationSessionInvalidationTest { + @Test + public void testAllFilesPresentInSessionInvalidation() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/sessionInvalidation"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("binaryTreeAdditionalEdge.kt") + public void testBinaryTreeAdditionalEdge() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateA.kt") + public void testBinaryTreeInvalidateA() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateCD.kt") + public void testBinaryTreeInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateF.kt") + public void testBinaryTreeInvalidateF() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL1.kt") + public void testBinaryTreeInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL2.kt") + public void testBinaryTreeInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateNone.kt") + public void testBinaryTreeInvalidateNone() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt"); + } + + @Test + @TestMetadata("linearInvalidateC.kt") + public void testLinearInvalidateC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt"); + } + + @Test + @TestMetadata("linearInvalidateL1.kt") + public void testLinearInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateBC.kt") + public void testRhombusInvalidateBC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateCD.kt") + public void testRhombusInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateD.kt") + public void testRhombusInvalidateD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL1.kt") + public void testRhombusInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL2.kt") + public void testRhombusInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt"); + } +} diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/ModuleOutOfBlockModificationSessionInvalidationTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/ModuleOutOfBlockModificationSessionInvalidationTestGenerated.java new file mode 100644 index 00000000000..964fae9729f --- /dev/null +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/ModuleOutOfBlockModificationSessionInvalidationTestGenerated.java @@ -0,0 +1,109 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.low.level.api.fir.sessions; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("analysis/low-level-api-fir/testData/sessionInvalidation") +@TestDataPath("$PROJECT_ROOT") +public class ModuleOutOfBlockModificationSessionInvalidationTestGenerated extends AbstractModuleOutOfBlockModificationSessionInvalidationTest { + @Test + public void testAllFilesPresentInSessionInvalidation() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/sessionInvalidation"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("binaryTreeAdditionalEdge.kt") + public void testBinaryTreeAdditionalEdge() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateA.kt") + public void testBinaryTreeInvalidateA() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateCD.kt") + public void testBinaryTreeInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateF.kt") + public void testBinaryTreeInvalidateF() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL1.kt") + public void testBinaryTreeInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL2.kt") + public void testBinaryTreeInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateNone.kt") + public void testBinaryTreeInvalidateNone() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt"); + } + + @Test + @TestMetadata("linearInvalidateC.kt") + public void testLinearInvalidateC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt"); + } + + @Test + @TestMetadata("linearInvalidateL1.kt") + public void testLinearInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateBC.kt") + public void testRhombusInvalidateBC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateCD.kt") + public void testRhombusInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateD.kt") + public void testRhombusInvalidateD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL1.kt") + public void testRhombusInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL2.kt") + public void testRhombusInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt"); + } +} diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/ModuleStateModificationSessionInvalidationTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/ModuleStateModificationSessionInvalidationTestGenerated.java new file mode 100644 index 00000000000..db7dc457611 --- /dev/null +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/ModuleStateModificationSessionInvalidationTestGenerated.java @@ -0,0 +1,109 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.low.level.api.fir.sessions; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("analysis/low-level-api-fir/testData/sessionInvalidation") +@TestDataPath("$PROJECT_ROOT") +public class ModuleStateModificationSessionInvalidationTestGenerated extends AbstractModuleStateModificationSessionInvalidationTest { + @Test + public void testAllFilesPresentInSessionInvalidation() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/sessionInvalidation"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("binaryTreeAdditionalEdge.kt") + public void testBinaryTreeAdditionalEdge() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeAdditionalEdge.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateA.kt") + public void testBinaryTreeInvalidateA() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateA.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateCD.kt") + public void testBinaryTreeInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateCD.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateF.kt") + public void testBinaryTreeInvalidateF() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateF.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL1.kt") + public void testBinaryTreeInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL1.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateL2.kt") + public void testBinaryTreeInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateL2.kt"); + } + + @Test + @TestMetadata("binaryTreeInvalidateNone.kt") + public void testBinaryTreeInvalidateNone() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/binaryTreeInvalidateNone.kt"); + } + + @Test + @TestMetadata("linearInvalidateC.kt") + public void testLinearInvalidateC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateC.kt"); + } + + @Test + @TestMetadata("linearInvalidateL1.kt") + public void testLinearInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/linearInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateBC.kt") + public void testRhombusInvalidateBC() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateBC.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateCD.kt") + public void testRhombusInvalidateCD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateCD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateD.kt") + public void testRhombusInvalidateD() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateD.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL1.kt") + public void testRhombusInvalidateL1() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL1.kt"); + } + + @Test + @TestMetadata("rhombusInvalidateL2.kt") + public void testRhombusInvalidateL2() { + runTest("analysis/low-level-api-fir/testData/sessionInvalidation/rhombusInvalidateL2.kt"); + } +} diff --git a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/firLowLevel.kt b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/firLowLevel.kt index d3c22b1f061..bac94fb5d40 100644 --- a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/firLowLevel.kt +++ b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/firLowLevel.kt @@ -26,6 +26,11 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractScriptWho import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractSourceLazyDeclarationResolveScopeBasedTest import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractSourceWholeFileResolvePhaseTest import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.extensions.AbstractResolveExtensionDisposalAfterModificationEventTest +import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.AbstractGlobalModuleStateModificationSessionInvalidationTest +import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.AbstractGlobalSourceModuleStateModificationSessionInvalidationTest +import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.AbstractGlobalSourceOutOfBlockModificationSessionInvalidationTest +import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.AbstractModuleOutOfBlockModificationSessionInvalidationTest +import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.AbstractModuleStateModificationSessionInvalidationTest import org.jetbrains.kotlin.generators.TestGroup import org.jetbrains.kotlin.generators.TestGroupSuite import org.jetbrains.kotlin.generators.util.TestGeneratorUtil @@ -286,6 +291,26 @@ internal fun TestGroupSuite.generateFirLowLevelApiTests() { testClass { model("resolveExtensionDisposal") } + + testClass { + model("sessionInvalidation") + } + + testClass { + model("sessionInvalidation") + } + + testClass { + model("sessionInvalidation") + } + + testClass { + model("sessionInvalidation") + } + + testClass { + model("sessionInvalidation") + } } testGroup("analysis/low-level-api-fir/tests", "analysis/analysis-api/testData") {