def dump_to_p4_P4HeaderInstanceRegular(self, hlir): g_header_instance = p4_header_instance(hlir, self.name, header_type=self.header_type, index=None, max_index=None, filename=self.filename, lineno=self.lineno, metadata=False, initializer={}, virtual=False) g_header_instance._pragmas = self._pragmas.copy()
def dump_to_p4_P4HeaderInstanceMetadata(self, hlir): # TODO: improve this crap initializer = {} for name, value in self.initializer: initializer[name] = value.dump_to_p4(hlir) g_header_instance = p4_header_instance( hlir, self.name, header_type = self.header_type, index = None, max_index = None, filename = self.filename, lineno = self.lineno, metadata = True, initializer = initializer, virtual = False ) g_header_instance._pragmas = self._pragmas.copy()
def dump_to_p4_P4HeaderInstanceMetadata(self, hlir): # TODO: improve this crap initializer = {} for name, value in self.initializer: initializer[name] = value.dump_to_p4(hlir) g_header_instance = p4_header_instance(hlir, self.name, header_type=self.header_type, index=None, max_index=None, filename=self.filename, lineno=self.lineno, metadata=True, initializer=initializer, virtual=False) g_header_instance._pragmas = self._pragmas.copy()
def dump_to_p4_P4HeaderStackInstance(self, hlir): assert (self.size) index_range = range(0, self.size.i) + [P4_NEXT, P4_LAST] max_index = self.size.i - 1 for idx in index_range: virtual = False if idx == None or type(idx) is int else True g_header_instance = p4_header_instance(hlir, self.name, header_type=self.header_type, index=idx, max_index=max_index, filename=self.filename, lineno=self.lineno, metadata=False, initializer={}, virtual=virtual) g_header_instance._pragmas = self._pragmas.copy()
def dump_to_p4_P4HeaderInstanceRegular(self, hlir): if self.size: index_range = range(0, self.size.i) + [P4_NEXT, P4_LAST] max_index = self.size.i - 1 else: index_range = [None] max_index = None for idx in index_range: virtual = False if idx == None or type(idx) is int else True g_header_instance = p4_header_instance( hlir, self.name, header_type = self.header_type, index = idx, max_index = max_index, filename = self.filename, lineno = self.lineno, metadata = False, initializer = {}, virtual = virtual ) g_header_instance._pragmas = self._pragmas.copy()