def __init__(self, hlirParentType, name, widthInBits, attributes, config):
        self.name = name
        self.width = widthInBits
        self.hlirType = hlirParentType
        signed = False
        if P4_SIGNED in attributes:
            signed = True
        if P4_SATURATING in attributes:
            raise NotSupportedException(
                "{0}.{1}: Saturated types", self.hlirType, self.name)

        try:
            self.type = EbpfScalarType(
                self.hlirType, widthInBits, signed, config)
        except CompilationException, e:
            raise CompilationException(
                e.isBug, "{0}.{1}: {2}", hlirParentType, self.name, e.show())
dataset/ETHPy150Open iovisor/bcc/src/cc/frontends/p4/compiler/ebpfStructType.py/EbpfField.__init__/original