1 /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2  * Use of this file is governed by the BSD 3-clause license that
3  * can be found in the LICENSE.txt file in the project root.
4  */
5 
6 #pragma once
7 
8 #include "Token.h"
9 
10 namespace antlr4 {
11 
12   class ANTLR4CPP_PUBLIC WritableToken : public Token {
13   public:
14     virtual ~WritableToken();
15     virtual void setText(const std::string &text) = 0;
16     virtual void setType(size_t ttype) = 0;
17     virtual void setLine(size_t line) = 0;
18     virtual void setCharPositionInLine(size_t pos) = 0;
19     virtual void setChannel(size_t channel) = 0;
20     virtual void setTokenIndex(size_t index) = 0;
21   };
22 
23 } // namespace antlr4
24