ROSE  0.11.145.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Rosebud::Ast::TokenList Class Reference

Description

Node that holds a sequence of consecutive tokens from an input file.

Definition at line 76 of file Ast.h.

#include <Rosebud/Ast.h>

Inheritance diagram for Rosebud::Ast::TokenList:
Inheritance graph
[legend]
Collaboration diagram for Rosebud::Ast::TokenList:
Collaboration graph
[legend]

Public Types

using Ptr = TokenListPtr
 Shared-ownership pointer. More...
 
- Public Types inherited from Rosebud::Ast::Node
using Ptr = NodePtr
 
- Public Types inherited from Sawyer::Tree::Vertex< Node >
using UserBase = Node
 User's base class. More...
 
using UserBasePtr = std::shared_ptr< UserBase >
 Pointer to user's base class. More...
 
using TraversalEvent = Sawyer::Tree::TraversalEvent
 Alias for traversal events. More...
 

Public Member Functions

bool empty () const
 True if there are no tokens in this node. More...
 
size_t size () const
 Number of tokens. More...
 
void push_back (const Token &token)
 Insert a token at the end of the list. More...
 
std::string string ()
 Return the text for all tokens in this list. More...
 
std::string string (const FilePtr &)
 Return the text for all tokens in this list. More...
 
void string (const std::string &)
 Return the text for all tokens in this list. More...
 
std::vector< Token >::iterator begin ()
 Iterators.
 
std::vector< Token >::iterator end ()
 Iterators.
 
- Public Member Functions inherited from Rosebud::Ast::Node
template<class T >
std::shared_ptr< T > findAncestor ()
 
- Public Member Functions inherited from Sawyer::Tree::Vertex< Node >
UserBasePtr pointer ()
 Returns a shared pointer to this vertex. More...
 
std::shared_ptr< T > isa ()
 Tests whether this object is a certain type. More...
 
auto traverseReverse (const Visitor &visitor)
 Traverse in reverse direction from children to parents. More...
 
auto traverse (const Visitor &visitor)
 Traverse in forward direction from parents to children. More...
 
auto traversePre (const Visitor &visitor)
 Pre-order forward traversal. More...
 
auto traversePost (const Visitor &visitor)
 Post-order forward traversal. More...
 
std::shared_ptr< T > findFirstAncestor ()
 Traversal that finds the closest ancestor of type T or derived from T. More...
 
std::shared_ptr< T > findLastAncestor ()
 Traversal that finds the farthest ancestor of type T or derived from T. More...
 
std::vector< std::shared_ptr< T > > findDescendants ()
 Traversal that finds all the descendants of a particular type. More...
 
UserBasePtr child (size_t i) const
 Returns the pointer for a child. More...
 
size_t nChildren () const
 Returns the number of children. More...
 

Static Public Member Functions

static Ptr instance ()
 Allocating constructor. More...
 

Public Attributes

std::vector< Tokentokens
 The ordered tokens. More...
 
- Public Attributes inherited from Sawyer::Tree::Vertex< Node >
ReverseEdge parent
 Pointer to the parent in the tree. More...
 
EdgeBase * treeEdges_
 

Protected Member Functions

 TokenList ()
 Default constructor used only by derived classes. More...
 
- Protected Member Functions inherited from Sawyer::Tree::Vertex< Node >
virtual void destructorHelper ()
 

Member Typedef Documentation

Shared-ownership pointer.

Definition at line 79 of file Ast.h.

Constructor & Destructor Documentation

Rosebud::Ast::TokenList::TokenList ( )
protected

Default constructor used only by derived classes.

Member Function Documentation

static Ptr Rosebud::Ast::TokenList::instance ( )
static

Allocating constructor.

bool Rosebud::Ast::TokenList::empty ( ) const

True if there are no tokens in this node.

size_t Rosebud::Ast::TokenList::size ( ) const

Number of tokens.

void Rosebud::Ast::TokenList::push_back ( const Token token)

Insert a token at the end of the list.

std::string Rosebud::Ast::TokenList::string ( )

Return the text for all tokens in this list.

The string representation is cached so the same value is always returned. This node must have a File ancestor unless a file is provided or the string is already cached. If a string is provided as an argument, it overrides the cached value.

std::string Rosebud::Ast::TokenList::string ( const FilePtr )

Return the text for all tokens in this list.

The string representation is cached so the same value is always returned. This node must have a File ancestor unless a file is provided or the string is already cached. If a string is provided as an argument, it overrides the cached value.

void Rosebud::Ast::TokenList::string ( const std::string &  )

Return the text for all tokens in this list.

The string representation is cached so the same value is always returned. This node must have a File ancestor unless a file is provided or the string is already cached. If a string is provided as an argument, it overrides the cached value.

Member Data Documentation

std::vector<Token> Rosebud::Ast::TokenList::tokens

The ordered tokens.

Definition at line 86 of file Ast.h.


The documentation for this class was generated from the following file: