@@ -968,12 +968,31 @@ def test_origins(self):
968
968
self .assertIs (frag .origins [1 ], elab2 )
969
969
self .assertIs (frag .origins [2 ], m )
970
970
971
+ def test_origins_transformed_elaboratable (self ):
972
+ renamed = DomainRenamer ("sync" )(elab1 := ElaboratesTo (elab2 := ElaboratesTo (m := Module ())))
973
+ frag = Fragment .get (renamed , platform = None )
974
+ self .assertEqual (len (frag .origins ), 4 )
975
+ self .assertIsInstance (frag .origins , tuple )
976
+ self .assertIs (frag .origins [0 ], renamed )
977
+ self .assertIs (frag .origins [1 ], elab1 )
978
+ self .assertIs (frag .origins [2 ], elab2 )
979
+ self .assertIs (frag .origins [3 ], m )
980
+
981
+ renamed_nested = ElaboratesTo (elab2 := ElaboratesTo (renamed := DomainRenamer ("sync" )(m := Module ())))
982
+ frag = Fragment .get (renamed_nested , platform = None )
983
+ self .assertEqual (len (frag .origins ), 4 )
984
+ self .assertIsInstance (frag .origins , tuple )
985
+ self .assertIs (frag .origins [0 ], renamed_nested )
986
+ self .assertIs (frag .origins [1 ], elab2 )
987
+ self .assertIs (frag .origins [2 ], renamed )
988
+ self .assertIs (frag .origins [3 ], m )
989
+
971
990
def test_origins_disable (self ):
972
991
inst = Instance ("test" )
973
992
del inst .origins
974
993
elab = ElaboratesTo (inst )
975
994
frag = Fragment .get (elab , platform = None )
976
- self .assertFalse (hasattr (frag , "_origins " ))
995
+ self .assertFalse (hasattr (frag , "origins " ))
977
996
978
997
979
998
class IOBufferTestCase (FHDLTestCase ):
0 commit comments