hdl.rec: accept Record(src_loc_at=...).
authorwhitequark <whitequark@whitequark.org>
Wed, 3 Jul 2019 14:35:48 +0000 (14:35 +0000)
committerwhitequark <whitequark@whitequark.org>
Wed, 3 Jul 2019 14:35:48 +0000 (14:35 +0000)
nmigen/hdl/rec.py

index 67c77c28953c11cbabd3881cad72c3dd84ce4e0a..be70af2792ce6153c4aa46602068a7938a6fa181 100644 (file)
@@ -86,12 +86,12 @@ class Record(Value):
             new_name = tracer.get_var_name(depth=2 + src_loc_at, default=None)
         return cls(other.layout, new_name)
 
-    def __init__(self, layout, name=None, *, fields=None):
+    def __init__(self, layout, name=None, src_loc_at=0, *, fields=None):
         if name is None:
-            name = tracer.get_var_name(default=None)
+            name = tracer.get_var_name(depth=2 + src_loc_at, default=None)
 
         self.name    = name
-        self.src_loc = tracer.get_src_loc()
+        self.src_loc = tracer.get_src_loc(src_loc_at)
 
         def concat(a, b):
             if a is None: