common.py (709395f8f627808175307f0c298ce71614fa67d0) | common.py (56a4689582433125d7042ba506a081e08dc264d4) |
---|---|
1# 2# QAPI helper library 3# 4# Copyright IBM, Corp. 2011 5# Copyright (c) 2013-2018 Red Hat Inc. 6# 7# Authors: 8# Anthony Liguori <aliguori@us.ibm.com> --- 1075 unchanged lines hidden (view full) --- 1084 def check(self, schema): 1085 if isinstance(self._ifcond, QAPISchemaType): 1086 # inherit the condition from a type 1087 typ = self._ifcond 1088 typ.check(schema) 1089 self.ifcond = typ.ifcond 1090 else: 1091 self.ifcond = listify_cond(self._ifcond) | 1# 2# QAPI helper library 3# 4# Copyright IBM, Corp. 2011 5# Copyright (c) 2013-2018 Red Hat Inc. 6# 7# Authors: 8# Anthony Liguori <aliguori@us.ibm.com> --- 1075 unchanged lines hidden (view full) --- 1084 def check(self, schema): 1085 if isinstance(self._ifcond, QAPISchemaType): 1086 # inherit the condition from a type 1087 typ = self._ifcond 1088 typ.check(schema) 1089 self.ifcond = typ.ifcond 1090 else: 1091 self.ifcond = listify_cond(self._ifcond) |
1092 if self.info: 1093 self.module = os.path.relpath(self.info['file'], 1094 os.path.dirname(schema.fname)) |
|
1092 1093 def is_implicit(self): 1094 return not self.info 1095 1096 def visit(self, visitor): 1097 pass 1098 1099 --- 157 unchanged lines hidden (view full) --- 1257 self._element_type_name = element_type 1258 self.element_type = None 1259 1260 def check(self, schema): 1261 QAPISchemaType.check(self, schema) 1262 self.element_type = schema.lookup_type(self._element_type_name) 1263 assert self.element_type 1264 self.element_type.check(schema) | 1095 1096 def is_implicit(self): 1097 return not self.info 1098 1099 def visit(self, visitor): 1100 pass 1101 1102 --- 157 unchanged lines hidden (view full) --- 1260 self._element_type_name = element_type 1261 self.element_type = None 1262 1263 def check(self, schema): 1264 QAPISchemaType.check(self, schema) 1265 self.element_type = schema.lookup_type(self._element_type_name) 1266 assert self.element_type 1267 self.element_type.check(schema) |
1268 self.module = self.element_type.module |
|
1265 self.ifcond = self.element_type.ifcond 1266 1267 def is_implicit(self): 1268 return True 1269 1270 def c_type(self): 1271 return c_name(self.name) + pointer_suffix 1272 --- 325 unchanged lines hidden (view full) --- 1598 1599 def visit(self, visitor): 1600 visitor.visit_event(self.name, self.info, self.ifcond, 1601 self.arg_type, self.boxed) 1602 1603 1604class QAPISchema(object): 1605 def __init__(self, fname): | 1269 self.ifcond = self.element_type.ifcond 1270 1271 def is_implicit(self): 1272 return True 1273 1274 def c_type(self): 1275 return c_name(self.name) + pointer_suffix 1276 --- 325 unchanged lines hidden (view full) --- 1602 1603 def visit(self, visitor): 1604 visitor.visit_event(self.name, self.info, self.ifcond, 1605 self.arg_type, self.boxed) 1606 1607 1608class QAPISchema(object): 1609 def __init__(self, fname): |
1606 self._fname = fname | 1610 self.fname = fname |
1607 if sys.version_info[0] >= 3: 1608 f = open(fname, 'r', encoding='utf-8') 1609 else: 1610 f = open(fname, 'r') 1611 parser = QAPISchemaParser(f) 1612 exprs = check_exprs(parser.exprs) 1613 self.docs = parser.docs 1614 self._entity_list = [] --- 6 unchanged lines hidden (view full) --- 1621 1622 def _def_entity(self, ent): 1623 # Only the predefined types are allowed to not have info 1624 assert ent.info or self._predefining 1625 assert ent.name is None or ent.name not in self._entity_dict 1626 self._entity_list.append(ent) 1627 if ent.name is not None: 1628 self._entity_dict[ent.name] = ent | 1611 if sys.version_info[0] >= 3: 1612 f = open(fname, 'r', encoding='utf-8') 1613 else: 1614 f = open(fname, 'r') 1615 parser = QAPISchemaParser(f) 1616 exprs = check_exprs(parser.exprs) 1617 self.docs = parser.docs 1618 self._entity_list = [] --- 6 unchanged lines hidden (view full) --- 1625 1626 def _def_entity(self, ent): 1627 # Only the predefined types are allowed to not have info 1628 assert ent.info or self._predefining 1629 assert ent.name is None or ent.name not in self._entity_dict 1630 self._entity_list.append(ent) 1631 if ent.name is not None: 1632 self._entity_dict[ent.name] = ent |
1629 if ent.info: 1630 ent.module = os.path.relpath(ent.info['file'], 1631 os.path.dirname(self._fname)) | |
1632 1633 def lookup_entity(self, name, typ=None): 1634 ent = self._entity_dict.get(name) 1635 if typ and not isinstance(ent, typ): 1636 return None 1637 return ent 1638 1639 def lookup_type(self, name): --- 770 unchanged lines hidden --- | 1633 1634 def lookup_entity(self, name, typ=None): 1635 ent = self._entity_dict.get(name) 1636 if typ and not isinstance(ent, typ): 1637 return None 1638 return ent 1639 1640 def lookup_type(self, name): --- 770 unchanged lines hidden --- |