MCPcopy Create free account
hub / github.com/ElementsProject/lightning / Master

Class Master

tools/generate-wire.py:433–546  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

431
432
433class Master(object):
434 types = {}
435 tlvs = {}
436 messages = {}
437 inclusions = []
438 top_comments = []
439
440 def add_comments(self, comments):
441 self.top_comments += comments
442
443 def add_include(self, inclusion):
444 self.inclusions.append(inclusion)
445
446 def add_tlv(self, tlv_name):
447 if tlv_name not in self.tlvs:
448 self.tlvs[tlv_name] = Tlv(tlv_name)
449
450 if tlv_name not in self.types:
451 self.types[tlv_name] = Type(tlv_name)
452
453 return self.tlvs[tlv_name]
454
455 def add_message(self, tokens, comments=[]):
456 """ tokens -> (name, value[, option])"""
457 self.messages[tokens[0]] = Message(tokens[0], tokens[1], option=tokens[2:],
458 comments=comments)
459
460 def add_type(self, type_name, field_name=None, outer_name=None):
461 optional = False
462 if type_name.startswith('?'):
463 type_name = type_name[1:]
464 optional = True
465 # Check for special type name re-mapping
466 type_name, collapse_original = Type.true_type(type_name, field_name,
467 outer_name)
468
469 if type_name not in self.types:
470 self.types[type_name] = Type(type_name)
471 return self.types[type_name], collapse_original, optional
472
473 def find_type(self, type_name):
474 return self.types[type_name]
475
476 def find_message(self, msg_name):
477 if msg_name in self.messages:
478 return self.messages[msg_name]
479 return None
480
481 def find_tlv(self, tlv_name):
482 return self.tlvs[tlv_name]
483
484 def get_ordered_subtypes(self):
485 """ We want to order subtypes such that the 'no dependency'
486 types are printed first """
487 subtypes = [s for s in self.types.values() if s.is_subtype()]
488
489 # Start with subtypes without subtype dependencies
490 sorted_types = [s for s in subtypes if not len(s.subtype_deps())]

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected