summaryrefslogtreecommitdiff
path: root/src/python/m5
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2019-01-25 12:12:38 +0000
committerAndreas Sandberg <andreas.sandberg@arm.com>2019-02-12 17:36:12 +0000
commit5cd4248672e5cd62cfec4753bd6d6ce666694f1f (patch)
tree7b0379ee8f0ff44a76895ff50922becda6a16d40 /src/python/m5
parent5cf312eb5bec50ab2142ce4c7df05d673cd9a716 (diff)
downloadgem5-5cd4248672e5cd62cfec4753bd6d6ce666694f1f.tar.xz
python: Replace dict.has_key with 'key in dict'
Python 3 has removed dict.has_key in favour of 'key in dict'. Change-Id: I9852a5f57d672bea815308eb647a0ce45624fad5 Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/15987 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Diffstat (limited to 'src/python/m5')
-rw-r--r--src/python/m5/SimObject.py22
-rw-r--r--src/python/m5/params.py12
-rw-r--r--src/python/m5/util/multidict.py2
3 files changed, 18 insertions, 18 deletions
diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py
index 97cf6d096..f553fd664 100644
--- a/src/python/m5/SimObject.py
+++ b/src/python/m5/SimObject.py
@@ -534,7 +534,7 @@ class MetaSimObject(type):
cls._new_port(key, val)
# init-time-only keywords
- elif cls.init_keywords.has_key(key):
+ elif key in cls.init_keywords:
cls._set_keyword(key, val, cls.init_keywords[key])
# default: use normal path (ends up in __setattr__)
@@ -613,11 +613,11 @@ class MetaSimObject(type):
type.__setattr__(cls, attr, value)
return
- if cls.keywords.has_key(attr):
+ if attr in cls.keywords:
cls._set_keyword(attr, value, cls.keywords[attr])
return
- if cls._ports.has_key(attr):
+ if attr in cls._ports:
cls._cls_get_port_ref(attr).connect(value)
return
@@ -652,10 +652,10 @@ class MetaSimObject(type):
if attr == 'cxx_namespaces':
return cls.cxx_class_path[:-1]
- if cls._values.has_key(attr):
+ if attr in cls._values:
return cls._values[attr]
- if cls._children.has_key(attr):
+ if attr in cls._children:
return cls._children[attr]
raise AttributeError(
@@ -1158,7 +1158,7 @@ class SimObject(object):
# create a new dict and use that.
memo_dict = {}
kwargs['_memo'] = memo_dict
- elif memo_dict.has_key(self):
+ elif self in memo_dict:
# clone already done & memoized
return memo_dict[self]
return self.__class__(_ancestor = self, **kwargs)
@@ -1174,13 +1174,13 @@ class SimObject(object):
return ref
def __getattr__(self, attr):
- if self._ports.has_key(attr):
+ if attr in self._ports:
return self._get_port_ref(attr)
- if self._values.has_key(attr):
+ if attr in self._values:
return self._values[attr]
- if self._children.has_key(attr):
+ if attr in self._children:
return self._children[attr]
# If the attribute exists on the C++ object, transparently
@@ -1206,7 +1206,7 @@ class SimObject(object):
object.__setattr__(self, attr, value)
return
- if self._ports.has_key(attr):
+ if attr in self._ports:
# set up port connection
self._get_port_ref(attr).connect(value)
return
@@ -1294,7 +1294,7 @@ class SimObject(object):
if child.has_parent():
warn("add_child('%s'): child '%s' already has parent", name,
child.get_name())
- if self._children.has_key(name):
+ if name in self._children:
# This code path had an undiscovered bug that would make it fail
# at runtime. It had been here for a long time and was only
# exposed by a buggy script. Changes here will probably not be
diff --git a/src/python/m5/params.py b/src/python/m5/params.py
index 0a563b8f2..09aaa5af7 100644
--- a/src/python/m5/params.py
+++ b/src/python/m5/params.py
@@ -157,12 +157,12 @@ class ParamDesc(object):
else:
raise TypeError('too many arguments')
- if kwargs.has_key('desc'):
+ if 'desc' in kwargs:
assert(not hasattr(self, 'desc'))
self.desc = kwargs['desc']
del kwargs['desc']
- if kwargs.has_key('default'):
+ if 'default' in kwargs:
assert(not hasattr(self, 'default'))
self.default = kwargs['default']
del kwargs['default']
@@ -1224,14 +1224,14 @@ class MetaEnum(MetaParamValue):
return cls
def __init__(cls, name, bases, init_dict):
- if init_dict.has_key('map'):
+ if 'map' in init_dict:
if not isinstance(cls.map, dict):
raise TypeError("Enum-derived class attribute 'map' " \
"must be of type dict")
# build list of value strings from map
cls.vals = cls.map.keys()
cls.vals.sort()
- elif init_dict.has_key('vals'):
+ elif 'vals' in init_dict:
if not isinstance(cls.vals, list):
raise TypeError("Enum-derived class attribute 'vals' " \
"must be of type list")
@@ -1855,7 +1855,7 @@ class PortRef(object):
"cannot splice in new peers\n", self)
def clone(self, simobj, memo):
- if memo.has_key(self):
+ if self in memo:
return memo[self]
newRef = copy.copy(self)
memo[self] = newRef
@@ -1978,7 +1978,7 @@ class VectorPortRef(object):
self._get_next().connect(other)
def clone(self, simobj, memo):
- if memo.has_key(self):
+ if self in memo:
return memo[self]
newRef = copy.copy(self)
memo[self] = newRef
diff --git a/src/python/m5/util/multidict.py b/src/python/m5/util/multidict.py
index 28090a251..58898a5d2 100644
--- a/src/python/m5/util/multidict.py
+++ b/src/python/m5/util/multidict.py
@@ -43,7 +43,7 @@ class multidict(object):
return `dict(self.items())`
def __contains__(self, key):
- return self.local.has_key(key) or self.parent.has_key(key)
+ return key in self.local or key in self.parent
def __delitem__(self, key):
try: