sim: Use the canonical way of iterating over a dictionary
Instead of using a convoluted getattr call, use the conventional
iteritems() interface.
Change-Id: I6d6bbccf865f8a0e8ff0767914157a7460099b09
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/10782
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py
index 0c9e738..47e6474 100644
--- a/src/python/m5/SimObject.py
+++ b/src/python/m5/SimObject.py
@@ -1520,11 +1520,10 @@
yield # make this function a (null) generator
def recurseDeviceTree(self, state):
- for child in [getattr(self, c) for c in self._children]:
+ for child in self._children.itervalues():
for item in child: # For looping over SimObjectVectors
- if isinstance(item, SimObject):
- for dt in item.generateDeviceTree(state):
- yield dt
+ for dt in item.generateDeviceTree(state):
+ yield dt
# Function to provide to C++ so it can look up instances based on paths
def resolveSimObject(name):