top | up | prev | next

Writer Class

Definition at line 20 of Writer.hpp

Constructors

Writer(const std::vector<soulng::lexer::Lexer*>& lexers_, soulng::util::BinaryWriter& binaryWriter_)

Member Functions

soulng::util::BinaryWriter& GetBinaryWriter()
void Write(Base base)
void Write(ClassKey classKey)
void Write(EnumKey enumKey)
void Write(NodeType nodeType)
void Write(Operator op)
void Write(SimpleTypeSpecifier specifier)
void Write(Specifier specifiers)
void Write(Suffix suffix)
void Write(soulng::lexer::Span& span)

Member Variables

soulng::util::BinaryWriter& binaryWriter
const std::vector<soulng::lexer::Lexer*>& lexers

Constructor Details

Writer Constructor

sngcpp::ast::Writer::Writer(const std::vector<soulng::lexer::Lexer*>& lexers_, soulng::util::BinaryWriter& binaryWriter_)

Definition at line 10 of Writer.cpp :
10 : lexers(lexers_)binaryWriter(binaryWriter_)
11 {
12 }


Declaration at line 23 of Writer.hpp


Member Function Details

GetBinaryWriter Member Function

soulng::util::BinaryWriter& sngcpp::ast::Writer::GetBinaryWriter()

Definition at line 33 of Writer.hpp :
33 { return binaryWriter; }

Called by: sngcpp::ast::AliasDeclarationNode::Write , sngcpp::ast::ArrayDeclaratorNode::Write , sngcpp::ast::BinaryNode::Write , sngcpp::ast::BooleanLiteralNode::Write , sngcpp::ast::CharacterLiteralNode::Write , sngcpp::ast::ClassNode::Write , sngcpp::ast::DeleteExpressionNode::Write , sngcpp::ast::EnumTypeNode::Write , sngcpp::ast::EnumeratorNode::Write , sngcpp::ast::FloatingLiteralNode::Write , sngcpp::ast::ForStatementNode::Write , sngcpp::ast::FunctionDeclaratorNode::Write , sngcpp::ast::FunctionNode::Write , sngcpp::ast::FunctionPtrIdNode::Write , sngcpp::ast::GotoStatementNode::Write , sngcpp::ast::IdentifierNode::Write , sngcpp::ast::IfStatementNode::Write , sngcpp::ast::InitDeclaratorNode::Write , sngcpp::ast::IntegerLiteralNode::Write , sngcpp::ast::InvokeExpressionNode::Write , sngcpp::ast::LabeledStatementNode::Write , sngcpp::ast::LambdaExpressionNode::Write , sngcpp::ast::LinkageSpecificationNode::Write , sngcpp::ast::LiteralNode::Write , sngcpp::ast::MemberAccessDeclarationNode::Write , sngcpp::ast::MemberDeclarationNode::Write , sngcpp::ast::MemberFunctionPtrIdNode::Write , sngcpp::ast::MemberInitializerNode::Write , sngcpp::ast::NamespaceNode::Write , sngcpp::ast::NewExpressionNode::Write , sngcpp::ast::ParameterNode::Write , sngcpp::ast::ReturnStatementNode::Write , sngcpp::ast::SimpleDeclarationNode::Write , sngcpp::ast::SimpleTypeNode::Write , sngcpp::ast::SourceFileNode::Write , sngcpp::ast::SpecialMemberFunctionNode::Write , sngcpp::ast::StringLiteralNode::Write , sngcpp::ast::TemplateIdNode::Write , sngcpp::ast::TryStatementNode::Write , sngcpp::ast::TypeParameterNode::Write , sngcpp::ast::UnaryNode::Write


Write Member Function

void sngcpp::ast::Writer::Write(Base base)

Definition at line 62 of Writer.cpp :
63 {
64     binaryWriter.Write(uint8_t(base));
65 }


Declaration at line 32 of Writer.hpp

Called by: sngcpp::ast::IntegerLiteralNode::Write


Write Member Function

void sngcpp::ast::Writer::Write(ClassKey classKey)

Definition at line 42 of Writer.cpp :
43 {
44     binaryWriter.Write(uint8_t(classKey));
45 }


Declaration at line 28 of Writer.hpp

Called by: sngcpp::ast::ClassNode::Write , sngcpp::ast::ElaborateClassNameNode::Write , sngcpp::ast::ForwardClassDeclarationNode::Write


Write Member Function

void sngcpp::ast::Writer::Write(EnumKey enumKey)

Definition at line 47 of Writer.cpp :
48 {
49     binaryWriter.Write(uint8_t(enumKey));
50 }


Declaration at line 29 of Writer.hpp

Called by: sngcpp::ast::EnumTypeNode::Write


Write Member Function

void sngcpp::ast::Writer::Write(NodeType nodeType)

Definition at line 32 of Writer.cpp :
33 {
34     binaryWriter.Write(uint8_t(nodeType));
35 }


Declaration at line 26 of Writer.hpp

Called by: sngcpp::ast::Node::Write


Write Member Function

void sngcpp::ast::Writer::Write(Operator op)

Definition at line 52 of Writer.cpp :
53 {
54     binaryWriter.Write(uint8_t(op));
55 }


Declaration at line 30 of Writer.hpp

Called by: sngcpp::ast::AdditiveExpressionNode::Write , sngcpp::ast::AssignmentExpressionNode::Write , sngcpp::ast::CppCastExpressionNode::Write , sngcpp::ast::EqualityExpressionNode::Write , sngcpp::ast::MultiplicativeExpressionNode::Write , sngcpp::ast::OperatorFunctionIdNode::Write , sngcpp::ast::PMExpressionNode::Write , sngcpp::ast::RelationalExpressionNode::Write , sngcpp::ast::ShiftExpressionNode::Write , sngcpp::ast::UnaryExpressionNode::Write


Write Member Function

void sngcpp::ast::Writer::Write(SimpleTypeSpecifier specifier)

Definition at line 27 of Writer.cpp :
28 {
29     binaryWriter.Write(uint8_t(specifier));
30 }


Declaration at line 25 of Writer.hpp


Write Member Function

void sngcpp::ast::Writer::Write(Specifier specifiers)

Definition at line 37 of Writer.cpp :
38 {
39     binaryWriter.Write(uint32_t(specifiers));
40 }


Declaration at line 27 of Writer.hpp

Called by: sngcpp::ast::BaseClassSpecifierNode::Write , sngcpp::ast::ClassNode::Write , sngcpp::ast::FunctionDeclaratorNode::Write , sngcpp::ast::FunctionNode::Write , sngcpp::ast::MemberAccessDeclarationNode::Write , sngcpp::ast::MemberDeclarationNode::Write , sngcpp::ast::SimpleDeclarationNode::Write , sngcpp::ast::SpecialMemberFunctionNode::Write


Write Member Function

void sngcpp::ast::Writer::Write(Suffix suffix)

Definition at line 57 of Writer.cpp :
58 {
59     binaryWriter.Write(uint8_t(suffix));
60 }


Declaration at line 31 of Writer.hpp

Called by: sngcpp::ast::FloatingLiteralNode::Write , sngcpp::ast::IntegerLiteralNode::Write


Write Member Function

void sngcpp::ast::Writer::Write(soulng::lexer::Span& span)

Definition at line 14 of Writer.cpp
Declaration at line 24 of Writer.hpp

Called by: sngcpp::ast::BracedInitializerListNode::Write , sngcpp::ast::ClassNode::Write , sngcpp::ast::CompoundStatementNode::Write , sngcpp::ast::DoStatementNode::Write , sngcpp::ast::EnumTypeNode::Write , sngcpp::ast::EnumeratorNode::Write , sngcpp::ast::IfStatementNode::Write , sngcpp::ast::Node::Write , sngcpp::ast::SimpleTypeNode::Write


top | up | prev | next