Add import-shape graph fixtures
- SHA
d74308e32fc65534025abe72696f9ad6ad4b3f4d- Parents
-
101543d - Tree
7525b4c
d74308e
d74308e32fc65534025abe72696f9ad6ad4b3f4d101543d
7525b4cfixtures/README.mdmodified@@ -28,4 +28,5 @@ Sprint 7 begins carving authored module graphs into `fixtures/modules/` so the | |||
| 28 | bench can model ordered multi-file inputs instead of only isolated sources. | 28 | bench can model ordered multi-file inputs instead of only isolated sources. |
| 29 | That corpus now covers module-use chains, renaming, module procedures, and an | 29 | That corpus now covers module-use chains, renaming, module procedures, and an |
| 30 | early submodule probe, plus visibility, fan-in, re-export, and diamond-style | 30 | early submodule probe, plus visibility, fan-in, re-export, and diamond-style |
| 31 | -dependency graph families, along with rename-across-hop export-surface probes. | 31 | +dependency graph families, along with rename-across-hop export-surface probes |
| 32 | +and mixed-ONLY/collision graph shapes. | ||
fixtures/modules/collision_shadow/left_values.f90added@@ -0,0 +1,4 @@ | |||
| 1 | +module collision_left_values | ||
| 2 | + implicit none | ||
| 3 | + integer, parameter :: payload = 3 | ||
| 4 | +end module collision_left_values | ||
fixtures/modules/collision_shadow/main_aliases.f90added@@ -0,0 +1,8 @@ | |||
| 1 | +! CHECK: 11 | ||
| 2 | +program main | ||
| 3 | + use collision_left_values, only: left_value => payload | ||
| 4 | + use collision_right_values, only: right_value => payload | ||
| 5 | + implicit none | ||
| 6 | + | ||
| 7 | + print *, left_value + right_value | ||
| 8 | +end program main | ||
fixtures/modules/collision_shadow/main_ambiguous.f90added@@ -0,0 +1,7 @@ | |||
| 1 | +program main | ||
| 2 | + use collision_left_values, only: payload | ||
| 3 | + use collision_right_values, only: payload | ||
| 4 | + implicit none | ||
| 5 | + | ||
| 6 | + print *, payload | ||
| 7 | +end program main | ||
fixtures/modules/collision_shadow/right_values.f90added@@ -0,0 +1,4 @@ | |||
| 1 | +module collision_right_values | ||
| 2 | + implicit none | ||
| 3 | + integer, parameter :: payload = 8 | ||
| 4 | +end module collision_right_values | ||
fixtures/modules/mixed_only/base_values.f90added@@ -0,0 +1,5 @@ | |||
| 1 | +module mixed_only_values | ||
| 2 | + implicit none | ||
| 3 | + integer, parameter :: alpha = 4 | ||
| 4 | + integer, parameter :: beta = 9 | ||
| 5 | +end module mixed_only_values | ||
fixtures/modules/mixed_only/bridge_values.f90added@@ -0,0 +1,4 @@ | |||
| 1 | +module mixed_only_bridge | ||
| 2 | + use mixed_only_values, only: kept => alpha, beta | ||
| 3 | + implicit none | ||
| 4 | +end module mixed_only_bridge | ||
fixtures/modules/mixed_only/main_alias.f90added@@ -0,0 +1,7 @@ | |||
| 1 | +! CHECK: 13 | ||
| 2 | +program main | ||
| 3 | + use mixed_only_bridge, only: chosen => kept, beta | ||
| 4 | + implicit none | ||
| 5 | + | ||
| 6 | + print *, chosen + beta | ||
| 7 | +end program main | ||