ROSE 0.11.145.202
|
#include <Rosebud/Ast.h>
Public Types | |
using | Ptr = ClassPtr |
Shared-ownership pointer. | |
using | Inheritance = std::vector< std::pair< std::string, std::string > > |
A list of access specifiers and class names used for class inheritance. | |
Public Types inherited from Rosebud::Ast::Definition | |
using | Ptr = DefinitionPtr |
Shared-ownership pointer. | |
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. | |
using | UserBasePtr = std::shared_ptr< UserBase > |
Pointer to user's base class. | |
using | TraversalEvent = Sawyer::Tree::TraversalEvent |
Alias for traversal events. | |
Static Public Member Functions | |
static Ptr | instance () |
Allocating constructor. | |
Public Attributes | |
EdgeVector< Property > | properties |
Non-null list of zero or more properties. | |
Inheritance | inheritance |
Information about base classes. | |
std::string | endText |
Text after the last member definition. | |
Token | endTextToken |
Token that encloses endText. | |
std::string | tag |
If non-empty, overrides the tag name for this type. | |
std::string | qualifiedNamespace |
If non-empty, the qualified namespace in which this class is defined. | |
std::string | userSerializerFunction |
If non-empty, then the generated serialization functions will call a user-defined serialization function whose name is formed from this base name. | |
Public Attributes inherited from Rosebud::Ast::Definition | |
Token | startToken |
Token at the start of the definition. | |
std::string | name |
Unqualified name for the definition. | |
Token | nameToken |
Token for the definition's unqualified name. | |
std::string | doc |
Doxygen documentation comment. | |
Token | docToken |
Token associated with the Doxygen comment. | |
Edge< CppStack > | cppStack |
C preprocessor pending conditional compilation directives. | |
std::string | priorText |
Input text before the definition. | |
Token | priorTextToken |
Token describing the location of the prior text. | |
EdgeVector< Attribute > | attributes |
Non-null pointer to the list of attributes controlling this property. | |
Public Attributes inherited from Sawyer::Tree::Vertex< Node > | |
ReverseEdge | parent |
Pointer to the parent in the tree. | |
Protected Member Functions | |
Class () | |
Default constructor used only by derived classes. | |
Protected Member Functions inherited from Rosebud::Ast::Definition | |
Definition () | |
Default constructor used only by derived classes. | |
Protected Member Functions inherited from Sawyer::Tree::Vertex< Node > | |
virtual void | destructorHelper () |
Additional Inherited Members | |
Public Member Functions inherited from Rosebud::Ast::Definition | |
AttributePtr | findAttribute (const std::string &fqName) |
Finds an attribute with the specified fully qualified name. | |
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. | |
std::shared_ptr< T > | isa () |
Tests whether this object is a certain type. | |
auto | traverseReverse (const Visitor &visitor) |
Traverse in reverse direction from children to parents. | |
auto | traverse (const Visitor &visitor) |
Traverse in forward direction from parents to children. | |
auto | traversePre (const Visitor &visitor) |
Pre-order forward traversal. | |
auto | traversePost (const Visitor &visitor) |
Post-order forward traversal. | |
std::shared_ptr< T > | findFirstAncestor () |
Traversal that finds the closest ancestor of type T or derived from T. | |
std::shared_ptr< T > | findLastAncestor () |
Traversal that finds the farthest ancestor of type T or derived from T. | |
std::vector< std::shared_ptr< T > > | findDescendants () |
Traversal that finds all the descendants of a particular type. | |
UserBasePtr | child (size_t i) const |
Returns the pointer for a child. | |
size_t | nChildren () const |
Returns the number of children. | |
using Rosebud::Ast::Class::Ptr = ClassPtr |
using Rosebud::Ast::Class::Inheritance = std::vector<std::pair<std::string , std::string> > |
EdgeVector<Property> Rosebud::Ast::Class::properties |
Inheritance Rosebud::Ast::Class::inheritance |
std::string Rosebud::Ast::Class::endText |
Text after the last member definition.
This is the input text that appears after the last property definition and before the end of the entire class definition. It ends just before the closing curly brace for the class definition. If the class has no properties, then this is the entire body of the class definition (everthing between the opening and closing curly braces, excluding the braces).
The text is modified by removing trailing white space from each line, replacing consecutive blank lines with a single blank line, and removing leading and trailing blank lines.
Token Rosebud::Ast::Class::endTextToken |
std::string Rosebud::Ast::Class::tag |
std::string Rosebud::Ast::Class::qualifiedNamespace |
std::string Rosebud::Ast::Class::userSerializerFunction |