diff options
author | Ole Troan <ot@cisco.com> | 2019-09-11 17:49:08 +0200 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2019-09-19 14:24:54 +0000 |
commit | 75761b933f3e28494bae4b2cf5636a07ffe6ce18 (patch) | |
tree | a9663623eba8a5c26c6bcceab1606c946ce29754 /src/vpp-api/vapi | |
parent | fbc388986e3f38aaedff87b843137be81b7d4f91 (diff) |
api: split vl_api_prefix into two
One type for address with prefix and one type for prefix.
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Icfec51d9b7d5cde1d69fbecdd97498688ab7b295
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/vpp-api/vapi')
-rwxr-xr-x | src/vpp-api/vapi/vapi_c_gen.py | 4 | ||||
-rw-r--r-- | src/vpp-api/vapi/vapi_json_parser.py | 30 |
2 files changed, 19 insertions, 15 deletions
diff --git a/src/vpp-api/vapi/vapi_c_gen.py b/src/vpp-api/vapi/vapi_c_gen.py index b9b9aa750a8..9a285eb98ad 100755 --- a/src/vpp-api/vapi/vapi_c_gen.py +++ b/src/vpp-api/vapi/vapi_c_gen.py @@ -713,12 +713,12 @@ def gen_json_unified_header(parser, logger, j, io, name): emitted = [] for e in parser.enums_by_json[j]: emit_definition(parser, j, emitted, e) - for a in parser.aliases_by_json[j]: - emit_definition(parser, j, emitted, a) for u in parser.unions_by_json[j]: emit_definition(parser, j, emitted, u) for t in parser.types_by_json[j]: emit_definition(parser, j, emitted, t) + for a in parser.aliases_by_json[j]: + emit_definition(parser, j, emitted, a) for m in parser.messages_by_json[j].values(): emit_definition(parser, j, emitted, m) diff --git a/src/vpp-api/vapi/vapi_json_parser.py b/src/vpp-api/vapi/vapi_json_parser.py index d7669365ce8..98143e26756 100644 --- a/src/vpp-api/vapi/vapi_json_parser.py +++ b/src/vpp-api/vapi/vapi_json_parser.py @@ -377,19 +377,6 @@ class JsonParser(object): self.unions[union.name] = union self.logger.debug("Parsed union: %s" % union) self.unions_by_json[path].append(union) - for name, body in j['aliases'].iteritems(): - if name in self.aliases: - progress = progress + 1 - continue - if 'length' in body: - array_len = body['length'] - else: - array_len = None - t = self.types[body['type']] - alias = self.alias_class(name, t, array_len) - self.aliases[name] = alias - self.logger.debug("Parsed alias: %s" % alias) - self.aliases_by_json[path].append(alias) for t in j['types']: if t[0] in self.types: progress = progress + 1 @@ -408,6 +395,23 @@ class JsonParser(object): self.types[type_.name] = type_ self.types_by_json[path].append(type_) self.logger.debug("Parsed type: %s" % type_) + for name, body in j['aliases'].iteritems(): + if name in self.aliases: + progress = progress + 1 + continue + if 'length' in body: + array_len = body['length'] + else: + array_len = None + try: + t = self.lookup_type_like_id(body['type']) + except ParseError as e: + exceptions.append(e) + continue + alias = self.alias_class(name, t, array_len) + self.aliases[name] = alias + self.logger.debug("Parsed alias: %s" % alias) + self.aliases_by_json[path].append(alias) if not exceptions: # finished parsing break |