params.py (13663:9b64aeabf9a5) | params.py (13675:afeab32b3655) |
---|---|
1# Copyright (c) 2012-2014, 2017, 2018 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 143 unchanged lines hidden (view full) --- 152 if len(args) == 1: 153 self.desc = args[0] 154 elif len(args) == 2: 155 self.default = args[0] 156 self.desc = args[1] 157 else: 158 raise TypeError('too many arguments') 159 | 1# Copyright (c) 2012-2014, 2017, 2018 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 143 unchanged lines hidden (view full) --- 152 if len(args) == 1: 153 self.desc = args[0] 154 elif len(args) == 2: 155 self.default = args[0] 156 self.desc = args[1] 157 else: 158 raise TypeError('too many arguments') 159 |
160 if kwargs.has_key('desc'): | 160 if 'desc' in kwargs: |
161 assert(not hasattr(self, 'desc')) 162 self.desc = kwargs['desc'] 163 del kwargs['desc'] 164 | 161 assert(not hasattr(self, 'desc')) 162 self.desc = kwargs['desc'] 163 del kwargs['desc'] 164 |
165 if kwargs.has_key('default'): | 165 if 'default' in kwargs: |
166 assert(not hasattr(self, 'default')) 167 self.default = kwargs['default'] 168 del kwargs['default'] 169 170 if kwargs: 171 raise TypeError('extra unknown kwargs %s' % kwargs) 172 173 if not hasattr(self, 'desc'): --- 1045 unchanged lines hidden (view full) --- 1219 def __new__(mcls, name, bases, dict): 1220 assert name not in allEnums 1221 1222 cls = super(MetaEnum, mcls).__new__(mcls, name, bases, dict) 1223 allEnums[name] = cls 1224 return cls 1225 1226 def __init__(cls, name, bases, init_dict): | 166 assert(not hasattr(self, 'default')) 167 self.default = kwargs['default'] 168 del kwargs['default'] 169 170 if kwargs: 171 raise TypeError('extra unknown kwargs %s' % kwargs) 172 173 if not hasattr(self, 'desc'): --- 1045 unchanged lines hidden (view full) --- 1219 def __new__(mcls, name, bases, dict): 1220 assert name not in allEnums 1221 1222 cls = super(MetaEnum, mcls).__new__(mcls, name, bases, dict) 1223 allEnums[name] = cls 1224 return cls 1225 1226 def __init__(cls, name, bases, init_dict): |
1227 if init_dict.has_key('map'): | 1227 if 'map' in init_dict: |
1228 if not isinstance(cls.map, dict): 1229 raise TypeError("Enum-derived class attribute 'map' " \ 1230 "must be of type dict") 1231 # build list of value strings from map 1232 cls.vals = cls.map.keys() 1233 cls.vals.sort() | 1228 if not isinstance(cls.map, dict): 1229 raise TypeError("Enum-derived class attribute 'map' " \ 1230 "must be of type dict") 1231 # build list of value strings from map 1232 cls.vals = cls.map.keys() 1233 cls.vals.sort() |
1234 elif init_dict.has_key('vals'): | 1234 elif 'vals' in init_dict: |
1235 if not isinstance(cls.vals, list): 1236 raise TypeError("Enum-derived class attribute 'vals' " \ 1237 "must be of type list") 1238 # build string->value map from vals sequence 1239 cls.map = {} 1240 for idx,val in enumerate(cls.vals): 1241 cls.map[val] = idx 1242 else: --- 607 unchanged lines hidden (view full) --- 1850 old_peer.peer = new_master_peer 1851 new_slave_peer.connect(self) 1852 new_master_peer.connect(old_peer) 1853 else: 1854 panic("Port %s has unknown role, "+\ 1855 "cannot splice in new peers\n", self) 1856 1857 def clone(self, simobj, memo): | 1235 if not isinstance(cls.vals, list): 1236 raise TypeError("Enum-derived class attribute 'vals' " \ 1237 "must be of type list") 1238 # build string->value map from vals sequence 1239 cls.map = {} 1240 for idx,val in enumerate(cls.vals): 1241 cls.map[val] = idx 1242 else: --- 607 unchanged lines hidden (view full) --- 1850 old_peer.peer = new_master_peer 1851 new_slave_peer.connect(self) 1852 new_master_peer.connect(old_peer) 1853 else: 1854 panic("Port %s has unknown role, "+\ 1855 "cannot splice in new peers\n", self) 1856 1857 def clone(self, simobj, memo): |
1858 if memo.has_key(self): | 1858 if self in memo: |
1859 return memo[self] 1860 newRef = copy.copy(self) 1861 memo[self] = newRef 1862 newRef.simobj = simobj 1863 assert(isSimObject(newRef.simobj)) 1864 if self.peer and not proxy.isproxy(self.peer): 1865 peerObj = self.peer.simobj(_memo=memo) 1866 newRef.peer = self.peer.clone(peerObj, memo) --- 106 unchanged lines hidden (view full) --- 1973 # or if it should replace the current vector. 1974 for ref in other: 1975 self._get_next().connect(ref) 1976 else: 1977 # scalar assignment to plain VectorPort is implicit append 1978 self._get_next().connect(other) 1979 1980 def clone(self, simobj, memo): | 1859 return memo[self] 1860 newRef = copy.copy(self) 1861 memo[self] = newRef 1862 newRef.simobj = simobj 1863 assert(isSimObject(newRef.simobj)) 1864 if self.peer and not proxy.isproxy(self.peer): 1865 peerObj = self.peer.simobj(_memo=memo) 1866 newRef.peer = self.peer.clone(peerObj, memo) --- 106 unchanged lines hidden (view full) --- 1973 # or if it should replace the current vector. 1974 for ref in other: 1975 self._get_next().connect(ref) 1976 else: 1977 # scalar assignment to plain VectorPort is implicit append 1978 self._get_next().connect(other) 1979 1980 def clone(self, simobj, memo): |
1981 if memo.has_key(self): | 1981 if self in memo: |
1982 return memo[self] 1983 newRef = copy.copy(self) 1984 memo[self] = newRef 1985 newRef.simobj = simobj 1986 assert(isSimObject(newRef.simobj)) 1987 newRef.elements = [el.clone(simobj, memo) for el in self.elements] 1988 return newRef 1989 --- 117 unchanged lines hidden --- | 1982 return memo[self] 1983 newRef = copy.copy(self) 1984 memo[self] = newRef 1985 newRef.simobj = simobj 1986 assert(isSimObject(newRef.simobj)) 1987 newRef.elements = [el.clone(simobj, memo) for el in self.elements] 1988 return newRef 1989 --- 117 unchanged lines hidden --- |