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 Write(Node* node)
void Write(Specifiers specifiers)
void Write(const Span& span)

Member Variables

BinaryWriter binaryWriter
std::vector<Lexer*>* lexers

Constructor Details

AstWriter Constructor

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

Definition at line 11 of AstWriter.cpp :
11 : binaryWriter(fileName_)lexers(nullptr)
12 {
13 }


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::Attribute::Write , sngcm::ast::Attributes::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 49 of AstWriter.cpp :
50 {
51     lexers = lexers_;
52 }


Declaration at line 28 of AstWriter.hpp


Write Member Function

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

Definition at line 15 of AstWriter.cpp :
16 {
17     binaryWriter.Write(static_cast<uint8_t>(node->GetNodeType()));
18     Write(node->GetSpan());
19     node->Write(*this);
20 }


Declaration at line 25 of AstWriter.hpp

Calls: sngcm::ast::AstWriter::Write , sngcm::ast::Node::GetNodeType , sngcm::ast::Node::GetSpan , sngcm::ast::Node::Write


Write Member Function

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

Definition at line 22 of AstWriter.cpp :
23 {
24     binaryWriter.Write(static_cast<uint32_t>(specifiers));
25 }


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)

Definition at line 27 of AstWriter.cpp

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

Called by: sngcm::ast::AstWriter::Write , sngcm::ast::Attribute::Write , sngcm::ast::AxiomNode::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