ROSE 0.11.145.192
|
Generator that produces ROSETTA output.
Definition at line 8 of file RosettaGenerator.h.
#include <Rosebud/RosettaGenerator.h>
Public Types | |
using | Ptr = std::shared_ptr< RosettaGenerator > |
Public Types inherited from Rosebud::Generator | |
using | Ptr = GeneratorPtr |
Public Member Functions | |
virtual std::string | name () const override |
Property: Every generator should have a unique name. | |
virtual std::string | purpose () const override |
Property: Single-line description for documentation. | |
virtual void | adjustParser (Sawyer::CommandLine::Parser &) override |
Add command-line switches and documentation to a parser. | |
virtual void | generate (const Ast::ProjectPtr &) override |
Generate code. | |
virtual std::string | propertyDataMemberName (const Ast::PropertyPtr &p) const override |
Data member name for a property. | |
virtual std::vector< std::string > | propertyAccessorNames (const Ast::PropertyPtr &) const override |
Accessor names for a property. | |
virtual std::vector< std::string > | propertyMutatorNames (const Ast::PropertyPtr &) const override |
Mutator names for a property. | |
Public Member Functions inherited from Rosebud::Generator | |
void | commandLine (const std::vector< std::string > &) |
Property: Entire Rosebud command line. | |
const std::vector< std::string > & | commandLine () const |
Property: Entire Rosebud command line. | |
Static Public Member Functions | |
static Ptr | instance () |
Static Public Member Functions inherited from Rosebud::Generator | |
static void | registerGenerator (const Ptr &) |
Register a backend for use later. | |
static const std::vector< Ptr > & | registeredGenerators () |
Return all registered backends. | |
static Ptr | lookup (const std::string &) |
Return the registered generator with the specified name. | |
static void | addAllToParser (Sawyer::CommandLine::Parser &) |
Add all known generator switches to parser. | |
Additional Inherited Members | |
Protected Member Functions inherited from Rosebud::CxxGenerator | |
virtual std::string | machineGenerated (char commentType='/') |
Return a title comment that says the file is machine generated. | |
virtual std::string | ctorInitializerExpression (const Ast::PropertyPtr &, const std::string &expr) |
Expression for initializing a property in a constructor, or empty. | |
virtual std::string | resetStatement (const Ast::PropertyPtr &) |
Statement to initialize a property. | |
virtual std::string | propertyDataMemberType (const Ast::PropertyPtr &) |
Type for the data member for a property. | |
virtual std::string | propertyAccessorReturnType (const Ast::PropertyPtr &) |
Type for the return value for a property accessor. | |
virtual std::string | propertyMutatorArgumentType (const Ast::PropertyPtr &) |
Type for the argument for a property mutator. | |
virtual std::string | initialValue (const Ast::PropertyPtr &) |
Initial value expression for the property. | |
virtual std::string | valueType (const Ast::PropertyPtr &) |
Type of value for initializing a property. | |
virtual void | genDestructor (std::ostream &header, std::ostream &impl, const Ast::ClassPtr &) |
Emit code for the class destructor. | |
virtual void | genDefaultConstructor (std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, Access) |
Emit code for the class default constructor. | |
virtual bool | genArgsConstructor (std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, const Hierarchy &, Access) |
Emit code for the constructor with ctor_args property arguments. | |
virtual void | genConstructorBody (std::ostream &, const Ast::ClassPtr &) |
Emit code for the constructor body. | |
virtual void | genInitProperties (std::ostream &header, std::ostream &impl, const Ast::ClassPtr &) |
Emit code that initializes all local properties. | |
virtual std::string | removePointer (const std::string &) const |
Given a type name, remove the outer pointer if present. | |
Protected Member Functions inherited from Rosebud::Generator | |
std::string | generatedByRosebud (const std::string &prefix) |
Return a multi-line comment that this file was generated by Rosebud. | |
Protected Attributes inherited from Rosebud::CxxGenerator | |
size_t | outputWidth = 130 |
using Rosebud::RosettaGenerator::Ptr = std::shared_ptr<RosettaGenerator> |
Definition at line 10 of file RosettaGenerator.h.
|
inlineprotected |
Definition at line 22 of file RosettaGenerator.h.
|
overridevirtual |
Property: Every generator should have a unique name.
Implements Rosebud::Generator.
|
overridevirtual |
Property: Single-line description for documentation.
Implements Rosebud::Generator.
|
overridevirtual |
Add command-line switches and documentation to a parser.
Any command-line switches and documentation that is specific to the backend are added to the specified parser. In order to not conflict with other backends that might also be adding switch parsers, the backend should create a switch group and give it a unique prefix.
Reimplemented from Rosebud::Generator.
|
overridevirtual |
|
overridevirtual |
Data member name for a property.
Returns the name of the class data member that stores the value of the property. The returned value must be a valid C++ name for the property data member. Each property has exactly one data member.
Reimplemented from Rosebud::Generator.
|
overridevirtual |
Accessor names for a property.
Returns a list of zero or more C++ member function names to use as accessor names. If no names are returned, then no accessor functions are declared or defined.
Reimplemented from Rosebud::Generator.
|
overridevirtual |
Mutator names for a property.
Returns a list of zero or more C++ member function names to use as mutator names. If no names are returned, then no mutator functions are declared or defined.
Reimplemented from Rosebud::Generator.