def __repr__(self, indent=0, withAddr=None, expandStructs=False):
        """
        :param indent: number of indentation
        :param withAddr: if is not None is used as a additional
            information about on which address this type is stored
            (used only by HStruct)
        :param expandStructs: expand HStructTypes (used by HStruct and HArray)
        """
        c = self.width
        if isinstance(c, int):
            constr = "%dbits" % c
        else:
            from hwt.serializer.vhdl.serializer import VhdlSerializer
            ctx = VhdlSerializer.getBaseContext()
            constr = VhdlSerializer.asHdl(self.width, ctx)
            constr = "%s, %dbits" % (constr, self.bit_length())

        if self.signed:
            constr += ", signed"
        elif self.signed is False:
            constr += ", unsigned"

        return "%s<%s, %s>" % (getIndent(indent),
                               self.__class__.__name__,
                               constr)
def __repr__ ( self , indent = 0 , withAddr = None , expandStructs = False ) : c = self . width if isinstance ( c , int ) : constr = "%dbits" % c else : from hwt . serializer . vhdl . serializer import VhdlSerializer ctx = VhdlSerializer . getBaseContext ( ) constr = VhdlSerializer . asHdl ( self . width , ctx ) constr = "%s, %dbits" % ( constr , self . bit_length ( ) ) if self . signed : constr += ", signed" elif self . signed is False : constr += ", unsigned" return "%s<%s, %s>" % ( getIndent ( indent ) , self . __class__ . __name__ , constr )
:param indent: number of indentation
        :param withAddr: if is not None is used as a additional
            information about on which address this type is stored
            (used only by HStruct)
        :param expandStructs: expand HStructTypes (used by HStruct and HArray)