From 018afe57ef52b8040934319cac848437a2ba0163 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 21 Oct 2013 22:05:28 +0200 Subject: [PATCH] genlib/record: support passing params in same object --- migen/genlib/record.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/migen/genlib/record.py b/migen/genlib/record.py index 10e3a43c..521dcb2c 100644 --- a/migen/genlib/record.py +++ b/migen/genlib/record.py @@ -56,11 +56,21 @@ def layout_partial(layout, *elements): insert_ref.append(layout_get(copy_ref, last)) return r +class LayoutP: + def __init__(self, layout, **layout_dict): + self.layout = layout + self.layout_dict = layout_dict + class Record: def __init__(self, layout, name=None, **layout_dict): self.name = get_obj_var_name(name, "") - self.layout = layout - self.layout_dict = layout_dict + if isinstance(layout, LayoutP): + self.layout = layout.layout + self.layout_dict = layout.layout_dict + assert(not layout_dict) + else: + self.layout = layout + self.layout_dict = layout_dict if self.name: prefix = self.name + "_" -- 2.30.2