diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2019-01-25 12:12:38 +0000 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2019-02-12 17:36:12 +0000 |
commit | 5cd4248672e5cd62cfec4753bd6d6ce666694f1f (patch) | |
tree | 7b0379ee8f0ff44a76895ff50922becda6a16d40 /src/python/m5 | |
parent | 5cf312eb5bec50ab2142ce4c7df05d673cd9a716 (diff) | |
download | gem5-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.py | 22 | ||||
-rw-r--r-- | src/python/m5/params.py | 12 | ||||
-rw-r--r-- | src/python/m5/util/multidict.py | 2 |
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: |