Spicy
Public Member Functions | List of all members
spicy::detail::codegen::production::TypeLiteral Class Reference

#include <type-literal.h>

Inheritance diagram for spicy::detail::codegen::production::TypeLiteral:
spicy::detail::codegen::ProductionBase spicy::trait::isLiteral spicy::trait::isProduction spicy::trait::isTerminal

Public Member Functions

 TypeLiteral (const std::string &symbol, spicy::Type type, const Location &l=location::None)
 
Expression expression () const
 
std::optional< spicy::Type > type () const
 
bool nullable () const
 
bool eodOk () const
 
bool atomic () const
 
bool supportsSynchronize () const
 
int64_t tokenID () const
 
std::string render () const
 
- Public Member Functions inherited from spicy::detail::codegen::ProductionBase
 ProductionBase (std::string symbol, Location l=location::None)
 
bool hasSize () const
 
bool maySynchronize () const
 
const Locationlocation () const
 
const std::string & symbol () const
 
void setSymbol (const std::string &s)
 
std::optional< Expression > filter () const
 
void setFilter (const Expression &filter)
 
std::optional< Expression > sink () const
 
void setSink (const Expression &sink)
 
const production::Metameta () const
 
void setMeta (production::Meta m)
 
std::shared_ptr< production::Meta_metaInstance () const
 
void _setMetaInstance (std::shared_ptr< production::Meta > m)
 

Detailed Description

A literal represented by a type. A type can only be used as literals if the parsing can for tell for sure that an instance of it must be coming up. This is, e.g., the case for embedded objects.


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