/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
contrib/libs/antlr4_cpp_runtime/src/tree/TerminalNode.h
40 строк
1 KB
Anton Myagkov
Update ydb version to 24.4 (#4579)
07 фев 2026, 11:59
Не верифицирован
07 фев 2026, 11:59
2c21cae
Код
Авторство
О чём код?
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ #pragma once #include "tree/ParseTree.h" namespace antlr4 { namespace tree { class ANTLR4CPP_PUBLIC TerminalNode : public ParseTree { public: static bool is(const tree::ParseTree &parseTree) { const auto treeType = parseTree.getTreeType(); return treeType == ParseTreeType::TERMINAL || treeType == ParseTreeType::ERROR; } static bool is(const tree::ParseTree *parseTree) { return parseTree != nullptr && is(*parseTree); } virtual Token* getSymbol() const = 0; /** Set the parent for this leaf node. * * Technically, this is not backward compatible as it changes * the interface but no one was able to create custom * TerminalNodes anyway so I'm adding as it improves internal * code quality. * * @since 4.7 */ virtual void setParent(RuleContext *parent) = 0; protected: using ParseTree::ParseTree; }; } // namespace tree } // namespace antlr4