Sha256: 003ff2587a7fa46c4562d2527ec2aac7318cbd7d17621cc282801d6ac0aa19e3
Contents?: true
Size: 1.32 KB
Versions: 28
Compression:
Stored size: 1.32 KB
Contents
/* 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 "misc/Interval.h" #include "Token.h" #include "RuleContext.h" #include "tree/ParseTreeVisitor.h" #include "tree/TerminalNodeImpl.h" using namespace antlr4; using namespace antlr4::tree; TerminalNodeImpl::TerminalNodeImpl(Token *symbol_) : symbol(symbol_) { } Token* TerminalNodeImpl::getSymbol() { return symbol; } void TerminalNodeImpl::setParent(RuleContext *parent_) { this->parent = parent_; } misc::Interval TerminalNodeImpl::getSourceInterval() { if (symbol == nullptr) { return misc::Interval::INVALID; } size_t tokenIndex = symbol->getTokenIndex(); return misc::Interval(tokenIndex, tokenIndex); } antlrcpp::Any TerminalNodeImpl::accept(ParseTreeVisitor *visitor) { return visitor->visitTerminal(this); } std::string TerminalNodeImpl::getText() { return symbol->getText(); } std::string TerminalNodeImpl::toStringTree(Parser * /*parser*/, bool /*pretty*/) { return toString(); } std::string TerminalNodeImpl::toString() { if (symbol->getType() == Token::EOF) { return "<EOF>"; } return symbol->getText(); } std::string TerminalNodeImpl::toStringTree(bool /*pretty*/) { return toString(); }
Version data entries
28 entries across 28 versions & 2 rubygems