Lines Matching refs:bitset

81     def __init__(self, bitset, case, name):  argument
82 self.bitset = bitset # leaf bitset
86 def fields(self, bitset=None): argument
87 if bitset is None:
88 bitset = self.bitset
92 for case in bitset.cases:
94 expr = bitset.isa.expressions[case.expr]
108 expr = bitset.isa.expressions[field.expr]
116 if bitset.extends is not None:
117 yield from self.fields(isa.bitsets[bitset.extends])
122 def __init__(self, bitset, case): argument
123 self.bitset = bitset # leaf bitset
129 self.append_forced(bitset)
133 def append_forced(self, bitset): argument
134 if bitset.encode is not None:
135 for name, val in bitset.encode.forced.items():
137 if bitset.extends is not None:
138 self.append_forced(isa.bitsets[bitset.extends])
157 yield DisplayField(self.bitset, self, fieldname)
159 def assert_cases(self, bitset=None): argument
160 if bitset is None:
161 bitset = self.bitset
162 for case in bitset.cases:
166 if bitset.extends is not None:
167 yield from self.assert_cases(isa.bitsets[bitset.extends])
175 def bitset_cases(self, bitset, leaf_bitset=None): argument
177 leaf_bitset = bitset;
178 for case in bitset.cases:
182 if case.expr is None and bitset.extends is not None:
183 parent_bitset = isa.bitsets[bitset.extends]
204 def case_name(self, bitset, name): argument
205 …return bitset.encode.case_prefix + name.upper().replace('.', '_').replace('-', '_').replace('#', '…
220 def bitset_used_exprs(self, bitset): argument
221 for case in bitset.cases:
227 if bitset.extends is not None:
228 yield from self.bitset_used_exprs(self.isa.bitsets[bitset.extends])
230 def extractor_impl(self, bitset, name): argument
231 if bitset.encode is not None:
232 if name in bitset.encode.maps:
233 return bitset.encode.maps[name]
234 if bitset.extends is not None:
235 return self.extractor_impl(self.isa.bitsets[bitset.extends], name)
241 def extractor_fallback(self, bitset, name): argument
242 extr_name = bitset.name + '.' + name
244 print('WARNING: no encode mapping for {}.{}'.format(bitset.name, name))
248 def extractor(self, bitset, name): argument
249 extr = self.extractor_impl(bitset, name)
252 return self.extractor_fallback(bitset, name)
258 def expr_extractor(self, bitset, name, p): argument
259 extr = self.extractor_impl(bitset, name)
260 field = self.resolve_simple_field(bitset, name)
263 return self.expr_name(bitset.get_root(), expr) + '(s, p, src)'
268 extr = self.extractor_fallback(bitset, name)
279 def resolve_simple_field(self, bitset, name): argument
281 for case in bitset.cases:
286 if bitset.extends is not None:
287 return self.resolve_simple_field(isa.bitsets[bitset.extends], name)
290 def encode_type(self, bitset): argument
291 if bitset.encode is not None:
292 if bitset.encode.type is not None:
293 return bitset.encode.type
294 if bitset.extends is not None:
295 return self.encode_type(isa.bitsets[bitset.extends])