top | up | prev | next

AstWriter Class

Definition at line 20 of AstWriter.hpp

Constructors

AstWriter(const std::string& fileName_)

Member Functions

BinaryWriter& GetBinaryWriter()
void SetLexers(std::vector<Lexer*>* lexers_)
void SetSpanConversionModuleId(const boost::uuids::uuid& spanConversionModuleId_)
const boost::uuids::uuid& SpanConversionModuleId() const
void Write(Node* node)
void Write(Specifiers specifiers)
void Write(const Span& span, bool convertExternal)

Member Variables

BinaryWriter binaryWriter
std::vector<Lexer*>* lexers
boost::uuids::uuid spanConversionModuleId

Constructor Details

AstWriter Constructor

sngcm::ast::AstWriter::AstWriter(const std::string& fileName_)

Definition at line 13 of AstWriter.cpp :
13 : binaryWriter(fileName_)lexers(nullptr)spanConversionModuleId(boost::uuids::nil_uuid())
14 {
15 }


Declaration at line 23 of AstWriter.hpp


Member Function Details

GetBinaryWriter Member Function

BinaryWriter & sngcm::ast::AstWriter::GetBinaryWriter()

Definition at line 24 of AstWriter.hpp :
24 { return binaryWriter; }

Called by: sngcm::ast::ArrayNode::Write , sngcm::ast::AttributeNode::Write , sngcm::ast::AttributesNode::Write , sngcm::ast::AxiomStatementNode::Write , sngcm::ast::BooleanLiteralNode::Write , sngcm::ast::ByteLiteralNode::Write , sngcm::ast::CaseStatementNode::Write , sngcm::ast::CatchNode::Write , sngcm::ast::CharLiteralNode::Write , sngcm::ast::ClassNode::Write , sngcm::ast::CommentNode::Write , sngcm::ast::ConceptNode::Write , sngcm::ast::ConditionalCompilationPartNode::Write , sngcm::ast::ConditionalCompilationPrimaryNode::Write , sngcm::ast::ConditionalCompilationStatementNode::Write , sngcm::ast::ConstantNode::Write , sngcm::ast::ConstructionStatementNode::Write , sngcm::ast::DoubleLiteralNode::Write , sngcm::ast::EnumConstantNode::Write , sngcm::ast::EnumTypeNode::Write , sngcm::ast::FloatLiteralNode::Write , sngcm::ast::ForStatementNode::Write , sngcm::ast::FunctionConstraintNode::Write , sngcm::ast::FunctionNode::Write , sngcm::ast::GlobalVariableNode::Write , sngcm::ast::GotoStatementNode::Write , sngcm::ast::IdentifierNode::Write , sngcm::ast::IfStatementNode::Write , sngcm::ast::IntLiteralNode::Write , sngcm::ast::InterfaceNode::Write , sngcm::ast::LabelNode::Write , sngcm::ast::LiteralNode::Write , sngcm::ast::LongLiteralNode::Write , sngcm::ast::MemberFunctionConstraintNode::Write , sngcm::ast::MemberVariableNode::Write , sngcm::ast::NamespaceNode::Write , sngcm::ast::NodeList::Write , sngcm::ast::ParameterNode::Write , sngcm::ast::ReturnStatementNode::Write , sngcm::ast::SByteLiteralNode::Write , sngcm::ast::ShortLiteralNode::Write , sngcm::ast::StringLiteralNode::Write , sngcm::ast::SwitchStatementNode::Write , sngcm::ast::TemplateParameterNode::Write , sngcm::ast::ThrowStatementNode::Write , sngcm::ast::TypeNameNode::Write , sngcm::ast::UCharLiteralNode::Write , sngcm::ast::UIntLiteralNode::Write , sngcm::ast::ULongLiteralNode::Write , sngcm::ast::UShortLiteralNode::Write , sngcm::ast::UStringLiteralNode::Write , sngcm::ast::UuidLiteralNode::Write , sngcm::ast::WCharLiteralNode::Write , sngcm::ast::WStringLiteralNode::Write , sngcm::ast::WhereConstraintNode::Write


SetLexers Member Function

void sngcm::ast::AstWriter::SetLexers(std::vector<Lexer *>* lexers_)

Definition at line 62 of AstWriter.cpp :
63 {
64     lexers = lexers_;
65 }


Declaration at line 28 of AstWriter.hpp


SetSpanConversionModuleId Member Function

void sngcm::ast::AstWriter::SetSpanConversionModuleId(const boost::uuids::uuid& spanConversionModuleId_)

Definition at line 67 of AstWriter.cpp :
68 {
69     spanConversionModuleId = spanConversionModuleId_;
70 }


Declaration at line 29 of AstWriter.hpp


SpanConversionModuleId Member Function

const boost::uuids::uuid& sngcm::ast::AstWriter::SpanConversionModuleId() const

Definition at line 30 of AstWriter.hpp :
30 { return spanConversionModuleId; }

Called by: sngcm::ast::AxiomNode::Write , sngcm::ast::CaseStatementNode::Write , sngcm::ast::CatchNode::Write , sngcm::ast::ClassNode::Write , sngcm::ast::CompoundStatementNode::Write , sngcm::ast::ConceptNode::Write , sngcm::ast::ConditionalCompilationPartNode::Write , sngcm::ast::ConditionalCompilationStatementNode::Write , sngcm::ast::DoStatementNode::Write , sngcm::ast::EnumTypeNode::Write , sngcm::ast::ForStatementNode::Write , sngcm::ast::FunctionNode::Write , sngcm::ast::IfStatementNode::Write , sngcm::ast::InterfaceNode::Write , sngcm::ast::MemberVariableNode::Write , sngcm::ast::RangeForStatementNode::Write , sngcm::ast::SwitchStatementNode::Write , sngcm::ast::WhileStatementNode::Write


Write Member Function

void sngcm::ast::AstWriter::Write(Node * node)

Definition at line 17 of AstWriter.cpp
Declaration at line 25 of AstWriter.hpp

Calls: sngcm::ast::AstWriter::Write , sngcm::ast::Node::GetNodeType , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::Node::Write , soulng::util::BinaryWriter::Write


Write Member Function

void sngcm::ast::AstWriter::Write(Specifiers specifiers)

Definition at line 32 of AstWriter.cpp :
33 {
34     binaryWriter.Write(static_cast<uint32_t>(specifiers));
35 }


Declaration at line 26 of AstWriter.hpp

Called by: sngcm::ast::ClassDelegateNode::Write , sngcm::ast::ClassNode::Write , sngcm::ast::ConceptNode::Write , sngcm::ast::ConstantNode::Write , sngcm::ast::DelegateNode::Write , sngcm::ast::EnumTypeNode::Write , sngcm::ast::FunctionNode::Write , sngcm::ast::GlobalVariableNode::Write , sngcm::ast::MemberVariableNode::Write , sngcm::ast::TypedefNode::Write


Write Member Function

void sngcm::ast::AstWriter::Write(const Span& span, bool convertExternal)

Definition at line 37 of AstWriter.cpp

Calls: soulng::lexer::Lexer::ConvertExternal , soulng::util::BinaryWriter::WriteULEB128UInt

Called by: sngcm::ast::AstWriter::Write , sngcm::ast::AxiomNode::Write , sngcm::ast::CaseStatementNode::Write , sngcm::ast::CatchNode::Write , sngcm::ast::ClassNode::Write , sngcm::ast::CompoundStatementNode::Write , sngcm::ast::ConceptNode::Write , sngcm::ast::ConditionalCompilationPartNode::Write , sngcm::ast::ConditionalCompilationStatementNode::Write , sngcm::ast::DoStatementNode::Write , sngcm::ast::EnumTypeNode::Write , sngcm::ast::ForStatementNode::Write , sngcm::ast::FunctionNode::Write , sngcm::ast::IfStatementNode::Write , sngcm::ast::InterfaceNode::Write , sngcm::ast::MemberVariableNode::Write , sngcm::ast::RangeForStatementNode::Write , sngcm::ast::SwitchStatementNode::Write , sngcm::ast::WhileStatementNode::Write


top | up | prev | next