def to_string(self, indent: int) -> str:
    res = [(Symbol.debug_indent_string * indent)]
    if (not self.parent):
        res.append('::')
    else:
        if self.templateParams:
            res.append(str(self.templateParams))
            res.append('\n')
            res.append((Symbol.debug_indent_string * indent))
        if self.identOrOp:
            res.append(str(self.identOrOp))
        else:
            res.append(str(self.declaration))
        if self.templateArgs:
            res.append(str(self.templateArgs))
        if self.declaration:
            res.append(': ')
            if self.isRedeclaration:
                res.append('!!duplicate!! ')
            res.append(str(self.declaration))
    if self.docname:
        res.append('\t(')
        res.append(self.docname)
        res.append(')')
    res.append('\n')
    return ''.join(res)
def to_string(self, indent: int) -> str:
    res = [(Symbol.debug_indent_string * indent)]
    if (not self.parent):
        res.append('::')
    else:
        if self.templateParams:
            res.append(str(self.templateParams))
            res.append('\n')
            res.append((Symbol.debug_indent_string * indent))
        if self.identOrOp:
            res.append(str(self.identOrOp))
        else:
            res.append(str(self.declaration))
        if self.templateArgs:
            res.append(str(self.templateArgs))
        if self.declaration:
            res.append(': ')
            if self.isRedeclaration:
                res.append('!!duplicate!! ')
            res.append(str(self.declaration))
    if self.docname:
        res.append('\t(')
        res.append(self.docname)
        res.append(')')
    res.append('\n')
    return .join(res)