bank/description/AutoReg: check that get_memories and get_registers are callable
authorSebastien Bourdeauducq <sebastien@milkymist.org>
Sun, 10 Mar 2013 17:11:29 +0000 (18:11 +0100)
committerSebastien Bourdeauducq <sebastien@milkymist.org>
Sun, 10 Mar 2013 17:11:29 +0000 (18:11 +0100)
migen/bank/description.py

index b68384cbb8367086e43c621d4d5385e7a1392290..016d830c70795cde931d07aa28be9f70f8665644 100644 (file)
@@ -67,7 +67,7 @@ class AutoReg:
                for k, v in self.__dict__.items():
                        if isinstance(v, Memory):
                                r.append(v)
-                       elif hasattr(v, "get_memories"):
+                       elif hasattr(v, "get_memories") and callable(v.get_memories):
                                r += memprefix(k + "_", v.get_memories())
                return sorted(r, key=lambda x: x.huid)
 
@@ -76,7 +76,7 @@ class AutoReg:
                for k, v in self.__dict__.items():
                        if isinstance(v, Register):
                                r.append(v)
-                       elif hasattr(v, "get_registers"):
+                       elif hasattr(v, "get_registers") and callable(v.get_registers):
                                r += regprefix(k + "_", v.get_registers())
                return sorted(r, key=lambda x: x.huid)