mirror of https://github.com/xemu-project/xemu.git
QAPI patches patches for 2024-04-24
-----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmYovX4SHGFybWJydUBy ZWRoYXQuY29tAAoJEDhwtADrkYZT0RQP/1R1oOSdfWmiSR5gdW+IDE88VrjNY+Md lZJ7dTtbIDbwABP6s7/wGIxlc4bf6lwIwhWNnfOa+y71jJ/u9aX2Q6D8wHY5lQnu b8jhzoP3UyB+LQV5TTX1nTqTaO72Bj0pxw/0/DeKCzg7kgjys06a1Ln9P0oyWs6x li/Cs133wPtZ5rISqif5yOmssber0h2D584k5MN2VK7eaGidLioQQIRmSDikPE6Z TpnOEqySInIFhPJmm77il19ZDpCrgdCoD7lXoqX1C6XScYz7dU+m/TaToFk1lECw VstR2SJT39TzbOLdis1O5/vsLP0QfciMRQbUktSrf4jQHumrkSa/OE6xKwJC3x82 axJWc+BygcosylKc5CYVzwSlHugHw6Lf39qui//yzi5CXakzO6owKX7Q8AcH3PPy 6thncy0dvw1ggq/BZGYhjyG+6MXBCWipPGVXFp9Gf2cAayTALhwyNtPvDNX57fzT UZA/fa+/Wc9xZv1YAnxLaKyo4o65YWXVnq1eHXV17ny08BzZNYOC2ZuXim+rMThM lxzcrTkrMLgsGXetp59uhZw9JRnVvaxLqNXfC2bwpoRzXzuifvnPithl6nkSm1YB TvHGZZdO3B498kOW6947KrMVFh3t4aNWkdbOyetAMECy71H3Q4CTHYGFa5TzXT9O Rjz31NYdVNBE =uyfg -----END PGP SIGNATURE----- Merge tag 'pull-qapi-2024-04-24' of https://repo.or.cz/qemu/armbru into staging QAPI patches patches for 2024-04-24 # -----BEGIN PGP SIGNATURE----- # # iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmYovX4SHGFybWJydUBy # ZWRoYXQuY29tAAoJEDhwtADrkYZT0RQP/1R1oOSdfWmiSR5gdW+IDE88VrjNY+Md # lZJ7dTtbIDbwABP6s7/wGIxlc4bf6lwIwhWNnfOa+y71jJ/u9aX2Q6D8wHY5lQnu # b8jhzoP3UyB+LQV5TTX1nTqTaO72Bj0pxw/0/DeKCzg7kgjys06a1Ln9P0oyWs6x # li/Cs133wPtZ5rISqif5yOmssber0h2D584k5MN2VK7eaGidLioQQIRmSDikPE6Z # TpnOEqySInIFhPJmm77il19ZDpCrgdCoD7lXoqX1C6XScYz7dU+m/TaToFk1lECw # VstR2SJT39TzbOLdis1O5/vsLP0QfciMRQbUktSrf4jQHumrkSa/OE6xKwJC3x82 # axJWc+BygcosylKc5CYVzwSlHugHw6Lf39qui//yzi5CXakzO6owKX7Q8AcH3PPy # 6thncy0dvw1ggq/BZGYhjyG+6MXBCWipPGVXFp9Gf2cAayTALhwyNtPvDNX57fzT # UZA/fa+/Wc9xZv1YAnxLaKyo4o65YWXVnq1eHXV17ny08BzZNYOC2ZuXim+rMThM # lxzcrTkrMLgsGXetp59uhZw9JRnVvaxLqNXfC2bwpoRzXzuifvnPithl6nkSm1YB # TvHGZZdO3B498kOW6947KrMVFh3t4aNWkdbOyetAMECy71H3Q4CTHYGFa5TzXT9O # Rjz31NYdVNBE # =uyfg # -----END PGP SIGNATURE----- # gpg: Signature made Wed 24 Apr 2024 01:06:22 AM PDT # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [undefined] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * tag 'pull-qapi-2024-04-24' of https://repo.or.cz/qemu/armbru: (25 commits) qapi: Dumb down QAPISchema.lookup_entity() qapi: Tighten check whether implicit object type already exists qapi/schema: remove unnecessary asserts qapi/schema: turn on mypy strictness qapi/schema: add type hints qapi/parser.py: assert member.info is present in connect_member qapi/parser: demote QAPIExpression to Dict[str, Any] qapi/schema: assert inner type of QAPISchemaVariants in check_clash() qapi/schema: fix typing for QAPISchemaVariants.tag_member qapi/schema: Don't initialize "members" with `None` qapi/schema: add _check_complete flag qapi/schema: assert info is present when necessary qapi/schema: fix QAPISchemaArrayType.check's call to resolve_type qapi: Assert built-in types exist qapi/schema: assert resolve_type has 'info' and 'what' args on error qapi/schema: add type narrowing to lookup_type() qapi/schema: adjust type narrowing for mypy's benefit qapi/schema: make c_type() and json_type() abstract methods qapi/schema: declare type for QAPISchemaArrayType.element_type qapi/schema: declare type for QAPISchemaObjectTypeMember.type ... Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
bffc14efd9
|
@ -227,10 +227,14 @@ const QLitObject %(c_name)s = %(c_string)s;
|
|||
|
||||
# Map the various integer types to plain int
|
||||
if typ.json_type() == 'int':
|
||||
typ = self._schema.lookup_type('int')
|
||||
type_int = self._schema.lookup_type('int')
|
||||
assert type_int
|
||||
typ = type_int
|
||||
elif (isinstance(typ, QAPISchemaArrayType) and
|
||||
typ.element_type.json_type() == 'int'):
|
||||
typ = self._schema.lookup_type('intList')
|
||||
type_intList = self._schema.lookup_type('intList')
|
||||
assert type_intList
|
||||
typ = type_intList
|
||||
# Add type to work queue if new
|
||||
if typ not in self._used_types:
|
||||
self._used_types.append(typ)
|
||||
|
|
|
@ -2,8 +2,3 @@
|
|||
strict = True
|
||||
disallow_untyped_calls = False
|
||||
python_version = 3.8
|
||||
|
||||
[mypy-qapi.schema]
|
||||
disallow_untyped_defs = False
|
||||
disallow_incomplete_defs = False
|
||||
check_untyped_defs = False
|
||||
|
|
|
@ -19,6 +19,7 @@ import os
|
|||
import re
|
||||
from typing import (
|
||||
TYPE_CHECKING,
|
||||
Any,
|
||||
Dict,
|
||||
List,
|
||||
Mapping,
|
||||
|
@ -43,7 +44,7 @@ if TYPE_CHECKING:
|
|||
_ExprValue = Union[List[object], Dict[str, object], str, bool]
|
||||
|
||||
|
||||
class QAPIExpression(Dict[str, object]):
|
||||
class QAPIExpression(Dict[str, Any]):
|
||||
# pylint: disable=too-few-public-methods
|
||||
def __init__(self,
|
||||
data: Mapping[str, object],
|
||||
|
@ -607,6 +608,7 @@ class QAPIDoc:
|
|||
"""
|
||||
|
||||
class Section:
|
||||
# pylint: disable=too-few-public-methods
|
||||
def __init__(self, info: QAPISourceInfo,
|
||||
tag: Optional[str] = None):
|
||||
# section source info, i.e. where it begins
|
||||
|
@ -705,6 +707,7 @@ class QAPIDoc:
|
|||
|
||||
def connect_member(self, member: 'QAPISchemaMember') -> None:
|
||||
if member.name not in self.args:
|
||||
assert member.info
|
||||
if self.symbol not in member.info.pragma.documentation_exceptions:
|
||||
raise QAPISemError(member.info,
|
||||
"%s '%s' lacks documentation"
|
||||
|
@ -733,7 +736,7 @@ class QAPIDoc:
|
|||
"'Returns' section is only valid for commands")
|
||||
if self.errors:
|
||||
raise QAPISemError(
|
||||
self.returns.info,
|
||||
self.errors.info,
|
||||
"'Errors' section is only valid for commands")
|
||||
|
||||
def check(self) -> None:
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
[MASTER]
|
||||
|
||||
# Add files or directories matching the regex patterns to the ignore list.
|
||||
# The regex matches against base names, not paths.
|
||||
ignore-patterns=schema.py,
|
||||
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
|
||||
# Disable the message, report, category or checker with the given id(s). You
|
||||
|
@ -16,13 +11,13 @@ ignore-patterns=schema.py,
|
|||
# --enable=similarities". If you want to run only the classes checker, but have
|
||||
# no Warning level messages displayed, use "--disable=all --enable=classes
|
||||
# --disable=W".
|
||||
disable=fixme,
|
||||
disable=consider-using-f-string,
|
||||
fixme,
|
||||
missing-docstring,
|
||||
too-many-arguments,
|
||||
too-many-branches,
|
||||
too-many-statements,
|
||||
too-many-instance-attributes,
|
||||
consider-using-f-string,
|
||||
too-many-statements,
|
||||
useless-option-value,
|
||||
|
||||
[REPORTS]
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue