mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-20 07:34:24 +01:00
bolt-gen: handle enums
Add parsing know-how for enum fields. This is necessary for internally defined wire generators. Enums are denoted by prefixing the field with an `e:`. Ex: msgdata,msg_name,field_name,e:enum_type,
This commit is contained in:
committed by
Rusty Russell
parent
cfd56d86ee
commit
b30d7d26ea
@@ -238,13 +238,16 @@ class Type(FieldSet):
|
||||
|
||||
def __init__(self, name):
|
||||
FieldSet.__init__(self)
|
||||
self.name = name
|
||||
self.name, self.is_enum = self.parse_name(name)
|
||||
self.depends_on = {}
|
||||
# FIXME: internal msgs can be enums
|
||||
self.is_enum = False
|
||||
self.type_comments = []
|
||||
self.tlv = False
|
||||
|
||||
def parse_name(self, name):
|
||||
if name.startswith('e:'):
|
||||
return name[2:], True
|
||||
return name, False
|
||||
|
||||
def add_data_field(self, field_name, type_obj, count=1,
|
||||
is_extension=[], comments=[], optional=False):
|
||||
FieldSet.add_data_field(self, field_name, type_obj, count,
|
||||
|
||||
Reference in New Issue
Block a user