diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2023-12-01 16:59:11 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2023-12-01 19:54:31 +0300 |
commit | 3715aa9254f65ae1058290101351a72a6d3a67d4 (patch) | |
tree | 9ac5a1cdab42dfc7cd095a06a362e0681cb1482f /contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.cpp | |
parent | b20a8c04fb7e595955ca9d1b943033342b6580cb (diff) | |
download | ydb-3715aa9254f65ae1058290101351a72a6d3a67d4.tar.gz |
Intermediate changes
Diffstat (limited to 'contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.cpp')
-rw-r--r-- | contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.cpp | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.cpp b/contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.cpp deleted file mode 100644 index 45372808e5..0000000000 --- a/contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* 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. - */ - -#include "Token.h" -#include "CommonToken.h" -#include "CharStream.h" - -#include "ListTokenSource.h" - -using namespace antlr4; - -ListTokenSource::ListTokenSource(std::vector<std::unique_ptr<Token>> tokens_) : ListTokenSource(std::move(tokens_), "") { -} - -ListTokenSource::ListTokenSource(std::vector<std::unique_ptr<Token>> tokens_, const std::string &sourceName_) - : tokens(std::move(tokens_)), sourceName(sourceName_) { - InitializeInstanceFields(); - if (tokens.empty()) { - throw "tokens cannot be null"; - } - - // Check if there is an eof token and create one if not. - if (tokens.back()->getType() != Token::EOF) { - Token *lastToken = tokens.back().get(); - size_t start = INVALID_INDEX; - size_t previousStop = lastToken->getStopIndex(); - if (previousStop != INVALID_INDEX) { - start = previousStop + 1; - } - - size_t stop = std::max(INVALID_INDEX, start - 1); - tokens.emplace_back((_factory->create({ this, getInputStream() }, Token::EOF, "EOF", - Token::DEFAULT_CHANNEL, start, stop, static_cast<int>(lastToken->getLine()), lastToken->getCharPositionInLine()))); - } -} - -size_t ListTokenSource::getCharPositionInLine() { - if (i < tokens.size()) { - return tokens[i]->getCharPositionInLine(); - } - return 0; -} - -std::unique_ptr<Token> ListTokenSource::nextToken() { - if (i < tokens.size()) { - return std::move(tokens[i++]); - } - return nullptr; -} - -size_t ListTokenSource::getLine() const { - if (i < tokens.size()) { - return tokens[i]->getLine(); - } - - return 1; -} - -CharStream *ListTokenSource::getInputStream() { - if (i < tokens.size()) { - return tokens[i]->getInputStream(); - } else if (!tokens.empty()) { - return tokens.back()->getInputStream(); - } - - // no input stream information is available - return nullptr; -} - -std::string ListTokenSource::getSourceName() { - if (sourceName != "") { - return sourceName; - } - - CharStream *inputStream = getInputStream(); - if (inputStream != nullptr) { - return inputStream->getSourceName(); - } - - return "List"; -} - -TokenFactory<CommonToken>* ListTokenSource::getTokenFactory() { - return _factory; -} - -void ListTokenSource::InitializeInstanceFields() { - i = 0; - _factory = CommonTokenFactory::DEFAULT.get(); -} |