def _add_template_and_function_params(self) -> None:
    if Symbol.debug_lookup:
        Symbol.debug_indent += 1
        Symbol.debug_print('_add_template_and_function_params:')
    if self.templateParams:
        for tp in self.templateParams.params:
            if (not tp.get_identifier()):
                continue
            if self.declaration:
                decl = ASTDeclaration('templateParam', None, None, None, tp)
            else:
                decl = None
            nne = ASTNestedNameElement(tp.get_identifier(), None)
            nn = ASTNestedName([nne], [False], rooted=False)
            self._add_symbols(nn, [], decl, self.docname)
    if ((self.declaration is not None) and (self.declaration.function_params is not None)):
        for fp in self.declaration.function_params:
            if (fp.arg is None):
                continue
            nn = fp.arg.name
            if (nn is None):
                continue
            decl = ASTDeclaration('functionParam', None, None, None, fp)
            assert (not nn.rooted)
            assert (len(nn.names) == 1)
            self._add_symbols(nn, [], decl, self.docname)
    if Symbol.debug_lookup:
        Symbol.debug_indent -= 1
def _add_template_and_function_params(self) -> None:
    if Symbol.debug_lookup:
        Symbol.debug_indent += 1
        Symbol.debug_print('_add_template_and_function_params:')
    if self.templateParams:
        for tp in self.templateParams.params:
            if (not tp.get_identifier()):
                continue
            if self.declaration:
                decl = ASTDeclaration('templateParam', None, None, None, tp)
            else:
                decl = None
            nne = ASTNestedNameElement(tp.get_identifier(), None)
            nn = ASTNestedName([nne], [False], rooted=False)
            self._add_symbols(nn, [], decl, self.docname)
    if ((self.declaration is not None) and (self.declaration.function_params is not None)):
        for fp in self.declaration.function_params:
            if (fp.arg is None):
                continue
            nn = fp.arg.name
            if (nn is None):
                continue
            decl = ASTDeclaration('functionParam', None, None, None, fp)
            assert (not nn.rooted)
            assert (len(nn.names) == 1)
            self._add_symbols(nn, [], decl, self.docname)
    if Symbol.debug_lookup:
        Symbol.debug_indent -= 1