diff options
| author | robot-piglet <[email protected]> | 2023-12-04 15:32:14 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2023-12-05 01:22:50 +0300 |
| commit | c21ed9eedf73010bc81342518177dfdfb0d56bd7 (patch) | |
| tree | 72f8fde4463080cfe5a38eb0babc051cfe32c51e /contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.h | |
| parent | ec1311bf2e8cc231723b8b5e484ca576663a1309 (diff) | |
Intermediate changes
Diffstat (limited to 'contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.h')
| -rw-r--r-- | contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.h b/contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.h deleted file mode 100644 index 542b05cb5a8..00000000000 --- a/contrib/libs/antlr4_cpp_runtime/src/ListTokenSource.h +++ /dev/null @@ -1,88 +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. - */ - -#pragma once - -#include "TokenSource.h" -#include "CommonTokenFactory.h" - -namespace antlr4 { - - /// Provides an implementation of <seealso cref="TokenSource"/> as a wrapper around a list - /// of <seealso cref="Token"/> objects. - /// - /// If the final token in the list is an <seealso cref="Token#EOF"/> token, it will be used - /// as the EOF token for every call to <seealso cref="#nextToken"/> after the end of the - /// list is reached. Otherwise, an EOF token will be created. - class ANTLR4CPP_PUBLIC ListTokenSource : public TokenSource { - protected: - // This list will be emptied token by token as we call nextToken(). - // Token streams can be used to buffer tokens for a while. - std::vector<std::unique_ptr<Token>> tokens; - - private: - /// <summary> - /// The name of the input source. If this value is {@code null}, a call to - /// <seealso cref="#getSourceName"/> should return the source name used to create the - /// the next token in <seealso cref="#tokens"/> (or the previous token if the end of - /// the input has been reached). - /// </summary> - const std::string sourceName; - - protected: - /// The index into <seealso cref="#tokens"/> of token to return by the next call to - /// <seealso cref="#nextToken"/>. The end of the input is indicated by this value - /// being greater than or equal to the number of items in <seealso cref="#tokens"/>. - size_t i; - - private: - /// This is the backing field for <seealso cref="#getTokenFactory"/> and - /// <seealso cref="setTokenFactory"/>. - TokenFactory<CommonToken> *_factory = CommonTokenFactory::DEFAULT.get(); - - public: - /// Constructs a new <seealso cref="ListTokenSource"/> instance from the specified - /// collection of <seealso cref="Token"/> objects. - /// - /// <param name="tokens"> The collection of <seealso cref="Token"/> objects to provide as a - /// <seealso cref="TokenSource"/>. </param> - /// <exception cref="NullPointerException"> if {@code tokens} is {@code null} </exception> - ListTokenSource(std::vector<std::unique_ptr<Token>> tokens); - ListTokenSource(const ListTokenSource& other) = delete; - - ListTokenSource& operator = (const ListTokenSource& other) = delete; - - /// <summary> - /// Constructs a new <seealso cref="ListTokenSource"/> instance from the specified - /// collection of <seealso cref="Token"/> objects and source name. - /// </summary> - /// <param name="tokens"> The collection of <seealso cref="Token"/> objects to provide as a - /// <seealso cref="TokenSource"/>. </param> - /// <param name="sourceName"> The name of the <seealso cref="TokenSource"/>. If this value is - /// {@code null}, <seealso cref="#getSourceName"/> will attempt to infer the name from - /// the next <seealso cref="Token"/> (or the previous token if the end of the input has - /// been reached). - /// </param> - /// <exception cref="NullPointerException"> if {@code tokens} is {@code null} </exception> - ListTokenSource(std::vector<std::unique_ptr<Token>> tokens_, const std::string &sourceName_); - - virtual size_t getCharPositionInLine() override; - virtual std::unique_ptr<Token> nextToken() override; - virtual size_t getLine() const override; - virtual CharStream* getInputStream() override; - virtual std::string getSourceName() override; - - template<typename T1> - void setTokenFactory(TokenFactory<T1> *factory) { - this->_factory = factory; - } - - virtual TokenFactory<CommonToken>* getTokenFactory() override; - - private: - void InitializeInstanceFields(); - }; - -} // namespace antlr4 |
