[gem5-dev] Change in gem5/gem5[master]: python: Replace dict.has_key with 'key in dict'
Andreas Sandberg has submitted this change and it was merged. ( https://gem5-review.googlesource.com/c/public/gem5/+/15987 ) Change subject: python: Replace dict.has_key with 'key in dict' .. 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 Reviewed-on: https://gem5-review.googlesource.com/c/15987 Reviewed-by: Giacomo Travaglini --- M src/SConscript M src/arch/isa_parser.py M src/arch/x86/isa/macroop.isa M src/mem/slicc/ast/PeekStatementAST.py M src/mem/slicc/symbols/StateMachine.py M src/python/m5/SimObject.py M src/python/m5/params.py M src/python/m5/util/multidict.py M src/unittest/genini.py 9 files changed, 26 insertions(+), 26 deletions(-) Approvals: Giacomo Travaglini: Looks good to me, approved Andreas Sandberg: Looks good to me, approved diff --git a/src/SConscript b/src/SConscript index dcb08a3..81b6cd3 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1338,7 +1338,7 @@ ext = t.split('.')[-1] if ext in target_types: return ext -if obj2target.has_key(ext): +if ext in obj2target: return obj2target[ext] match = re.search(r'/tests/([^/]+)/', t) if match and match.group(1) in target_types: diff --git a/src/arch/isa_parser.py b/src/arch/isa_parser.py index 16004c0..48bc23f 100755 --- a/src/arch/isa_parser.py +++ b/src/arch/isa_parser.py @@ -142,7 +142,7 @@ del myDict['snippets'] snippetLabels = [l for l in labelRE.findall(template) - if d.snippets.has_key(l)] + if l in d.snippets] snippets = dict([(s, self.parser.mungeSnippet(d.snippets[s])) for s in snippetLabels]) diff --git a/src/arch/x86/isa/macroop.isa b/src/arch/x86/isa/macroop.isa index 33e559c..7d72961 100644 --- a/src/arch/x86/isa/macroop.isa +++ b/src/arch/x86/isa/macroop.isa @@ -333,7 +333,7 @@ noModRMString = "env.setSeg(machInst);\n" def genMacroop(Name, env): blocks = OutputBlocks() -if not macroopDict.has_key(Name): +if not Name in macroopDict: raise Exception, "Unrecognized instruction: %s" % Name macroop = macroopDict[Name] if not macroop.declared: diff --git a/src/mem/slicc/ast/PeekStatementAST.py b/src/mem/slicc/ast/PeekStatementAST.py index 00d26e9..6cadb31 100644 --- a/src/mem/slicc/ast/PeekStatementAST.py +++ b/src/mem/slicc/ast/PeekStatementAST.py @@ -71,7 +71,7 @@ } ''') -if self.pairs.has_key("block_on"): +if "block_on" in self.pairs: address_field = self.pairs['block_on'] code(''' if (m_is_blocking && @@ -82,7 +82,7 @@ } ''') -if self.pairs.has_key("wake_up"): +if "wake_up" in self.pairs: address_field = self.pairs['wake_up'] code(''' if (m_waiting_buffers.count(in_msg_ptr->m_$address_field) > 0) { diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index 330cc03..03e624b 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -239,7 +239,7 @@ if param.rvalue is not None: dflt_str = str(param.rvalue.inline()) + ', ' -if python_class_map.has_key(param.type_ast.type.c_ident): +if param.type_ast.type.c_ident in python_class_map: python_type = python_class_map[param.type_ast.type.c_ident] code('${{param.ident}} = Param.${{python_type}}(${dflt_str}"")') @@ -1109,7 +1109,7 @@ for port in self.in_ports: code.indent() code('// ${ident}InPort $port') -if port.pairs.has_key("rank"): +if "rank" in port.pairs: code('m_cur_in_port = ${{port.pairs["rank"]}};') else: code('m_cur_in_port = 0;') diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py index 97cf6d0..f553fd6 100644 --- a/src/python/m5/SimObject.py +++ b/src/python/m5/SimObject.py @@ -534,7 +534,7 @@ 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 @@ 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
[gem5-dev] Change in gem5/gem5[master]: python: Replace dict.has_key with 'key in dict'
Hello Jason Lowe-Power, Juha Jäykkä, Giacomo Travaglini, Ciro Santilli, I'd like you to reexamine a change. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/15987 to look at the new patch set (#6). Change subject: python: Replace dict.has_key with 'key in dict' .. 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 --- M src/SConscript M src/arch/isa_parser.py M src/arch/x86/isa/macroop.isa M src/mem/slicc/ast/PeekStatementAST.py M src/mem/slicc/symbols/StateMachine.py M src/python/m5/SimObject.py M src/python/m5/params.py M src/python/m5/util/multidict.py M src/unittest/genini.py 9 files changed, 26 insertions(+), 26 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/15987 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I9852a5f57d672bea815308eb647a0ce45624fad5 Gerrit-Change-Number: 15987 Gerrit-PatchSet: 6 Gerrit-Owner: Andreas Sandberg Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Ciro Santilli Gerrit-Reviewer: Giacomo Travaglini Gerrit-Reviewer: Jason Lowe-Power Gerrit-Reviewer: Juha Jäykkä Gerrit-MessageType: newpatchset ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Change in gem5/gem5[master]: python: Replace dict.has_key with 'key in dict'
Andreas Sandberg has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/15987 Change subject: python: Replace dict.has_key with 'key in dict' .. python: Replace dict.has_key with 'key in dict' Change-Id: I9852a5f57d672bea815308eb647a0ce45624fad5 Signed-off-by: Andreas Sandberg --- M src/python/m5/SimObject.py M src/python/m5/params.py M src/python/m5/util/multidict.py 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py index 1aa8dbe..722b665 100644 --- a/src/python/m5/SimObject.py +++ b/src/python/m5/SimObject.py @@ -537,7 +537,7 @@ 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__) @@ -616,11 +616,11 @@ 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 @@ -655,10 +655,10 @@ 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( @@ -1161,7 +1161,7 @@ # 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) @@ -1177,13 +1177,13 @@ 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 @@ -1209,7 +1209,7 @@ 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 @@ -1297,7 +1297,7 @@ 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 f76d7ae..742fb6b 100644 --- a/src/python/m5/params.py +++ b/src/python/m5/params.py @@ -161,12 +161,12 @@ 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'] @@ -1228,14 +1228,14 @@ 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") @@ -1859,7 +1859,7 @@ "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 @@