def run(self) -> Tuple[(List[Node], List[system_message])]:
    text = self.text.replace('\n', ' ')
    parser = DefinitionParser(text, location=self.get_source_info(), config=self.config)
    classes = ['xref', 'cpp', self.class_type]
    try:
        ast = parser.parse_expression()
    except DefinitionError as ex:
        logger.warning('Unparseable C++ expression: %r\n%s', text, ex, location=self.get_source_info())
        return ([self.node_type(text, text, classes=classes)], [])
    parentSymbol = self.env.temp_data.get('cpp:parent_symbol', None)
    if (parentSymbol is None):
        parentSymbol = self.env.domaindata['cpp']['root_symbol']
    signode = self.node_type(classes=classes)
    ast.describe_signature(signode, 'markType', self.env, parentSymbol)
    return ([signode], [])
def run(self) -> Tuple[(List[Node], List[system_message])]:
    text = self.text.replace('\n', ' ')
    parser = DefinitionParser(text, location=self.get_source_info(), config=self.config)
    classes = ['xref', 'cpp', self.class_type]
    try:
        ast = parser.parse_expression()
    except DefinitionError as ex:
        logger.warning('Unparseable C++ expression: %r\n%s', text, ex, location=self.get_source_info())
        return ([self.node_type(text, text, classes=classes)], [])
    parentSymbol = self.env.temp_data.get('cpp:parent_symbol', None)
    if (parentSymbol is None):
        parentSymbol = self.env.domaindata['cpp']['root_symbol']
    signode = self.node_type(classes=classes)
    ast.describe_signature(signode, 'markType', self.env, parentSymbol)
    return ([signode], [])