ROSE  0.11.145.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Rosebud::YamlGenerator Class Reference

Description

Generator that produces a YAML description of the input.

Definition at line 10 of file YamlGenerator.h.

#include <Rosebud/YamlGenerator.h>

Inheritance diagram for Rosebud::YamlGenerator:
Inheritance graph
[legend]
Collaboration diagram for Rosebud::YamlGenerator:
Collaboration graph
[legend]

Public Types

using Ptr = std::shared_ptr< YamlGenerator >
 
- Public Types inherited from Rosebud::Generator
using Ptr = GeneratorPtr
 

Public Member Functions

virtual std::string name () const override
 Every generator should have a unique name. More...
 
virtual std::string purpose () const override
 Single-line description for documentation. More...
 
virtual void adjustParser (Sawyer::CommandLine::Parser &) override
 Add command-line switches and documentation to a parser. More...
 
virtual void generate (const Ast::ProjectPtr &) override
 Generate code. More...
 
- Public Member Functions inherited from Rosebud::Generator
virtual std::string propertyDataMemberName (const Ast::PropertyPtr &) const
 Data member name for a property. More...
 
virtual std::vector< std::string > propertyAccessorNames (const Ast::PropertyPtr &) const
 Accessor names for a property. More...
 
virtual std::vector< std::string > propertyMutatorNames (const Ast::PropertyPtr &) const
 Mutator names for a property. More...
 

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. More...
 
static const std::vector< Ptr > & registeredGenerators ()
 Return all registered backends. More...
 
static Ptr lookup (const std::string &)
 Return the registered generator with the specified name. More...
 
static void addAllToParser (Sawyer::CommandLine::Parser &)
 Add all known generator switches to parser. More...
 

Member Function Documentation

virtual std::string Rosebud::YamlGenerator::name ( ) const
overridevirtual

Every generator should have a unique name.

Implements Rosebud::Generator.

virtual std::string Rosebud::YamlGenerator::purpose ( ) const
overridevirtual

Single-line description for documentation.

Implements Rosebud::Generator.

virtual void Rosebud::YamlGenerator::adjustParser ( Sawyer::CommandLine::Parser )
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.

virtual void Rosebud::YamlGenerator::generate ( const Ast::ProjectPtr )
overridevirtual

Generate code.

The specified project AST is used to generate code.

Implements Rosebud::Generator.


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