2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-07-01 08:41:52 +00:00

Set closing block variable names

This commit is contained in:
Jan
2021-02-18 15:59:22 +01:00
parent bb877f87bb
commit 3c1599c1a0
11 changed files with 96 additions and 13 deletions

View File

@ -11,7 +11,7 @@ HeaderBlockType HeaderBlockEnum::GetType()
const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockEnum::GetTestsForBlock()
{
static std::vector<sequence_t*> tests({
new SequenceCloseBlock(),
new SequenceCloseBlock(true),
new SequenceEnumMember()
});
@ -29,3 +29,8 @@ void HeaderBlockEnum::OnClose(HeaderParserState* state)
void HeaderBlockEnum::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
{
}
void HeaderBlockEnum::SetVariableName(std::string name)
{
m_variable_name = std::move(name);
}

View File

@ -1,13 +1,18 @@
#pragma once
#include "IHeaderBlock.h"
#include "IHeaderBlockVariableDefining.h"
class HeaderBlockEnum final : public IHeaderBlock
class HeaderBlockEnum final : public IHeaderBlock, public IHeaderBlockVariableDefining
{
std::string m_variable_name;
public:
HeaderBlockType GetType() override;
const std::vector<sequence_t*>& GetTestsForBlock() override;
void OnOpen(HeaderParserState* state) override;
void OnClose(HeaderParserState* state) override;
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
void SetVariableName(std::string name) override;
};

View File

@ -21,7 +21,7 @@ HeaderBlockType HeaderBlockNamespace::GetType()
const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockNamespace::GetTestsForBlock()
{
static std::vector<sequence_t*> tests({
new SequenceCloseBlock(),
new SequenceCloseBlock(false),
new SequenceEnum(),
new SequenceForwardDecl(),
new SequenceNamespace(),

View File

@ -14,7 +14,7 @@ HeaderBlockType HeaderBlockStruct::GetType()
const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockStruct::GetTestsForBlock()
{
static std::vector<sequence_t*> tests({
new SequenceCloseBlock(),
new SequenceCloseBlock(true),
new SequenceEnum(),
new SequenceStruct(),
new SequenceUnion(),
@ -35,3 +35,8 @@ void HeaderBlockStruct::OnClose(HeaderParserState* state)
void HeaderBlockStruct::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
{
}
void HeaderBlockStruct::SetVariableName(std::string name)
{
m_variable_name = std::move(name);
}

View File

@ -1,13 +1,18 @@
#pragma once
#include "IHeaderBlock.h"
#include "IHeaderBlockVariableDefining.h"
class HeaderBlockStruct final : public IHeaderBlock
class HeaderBlockStruct final : public IHeaderBlock, public IHeaderBlockVariableDefining
{
std::string m_variable_name;
public:
HeaderBlockType GetType() override;
const std::vector<sequence_t*>& GetTestsForBlock() override;
void OnOpen(HeaderParserState* state) override;
void OnClose(HeaderParserState* state) override;
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
void SetVariableName(std::string name) override;
};

View File

@ -14,7 +14,7 @@ HeaderBlockType HeaderBlockUnion::GetType()
const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockUnion::GetTestsForBlock()
{
static std::vector<sequence_t*> tests({
new SequenceCloseBlock(),
new SequenceCloseBlock(true),
new SequenceEnum(),
new SequenceStruct(),
new SequenceUnion(),
@ -35,3 +35,8 @@ void HeaderBlockUnion::OnClose(HeaderParserState* state)
void HeaderBlockUnion::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
{
}
void HeaderBlockUnion::SetVariableName(std::string name)
{
m_variable_name = std::move(name);
}

View File

@ -1,13 +1,18 @@
#pragma once
#include "IHeaderBlock.h"
#include "IHeaderBlockVariableDefining.h"
class HeaderBlockUnion final : public IHeaderBlock
class HeaderBlockUnion final : public IHeaderBlock, public IHeaderBlockVariableDefining
{
std::string m_variable_name;
public:
HeaderBlockType GetType() override;
const std::vector<sequence_t*>& GetTestsForBlock() override;
void OnOpen(HeaderParserState* state) override;
void OnClose(HeaderParserState* state) override;
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
void SetVariableName(std::string name) override;
};

View File

@ -0,0 +1,16 @@
#pragma once
#include <string>
class IHeaderBlockVariableDefining
{
public:
IHeaderBlockVariableDefining() = default;
virtual ~IHeaderBlockVariableDefining() = default;
IHeaderBlockVariableDefining(const IHeaderBlockVariableDefining& other) = default;
IHeaderBlockVariableDefining(IHeaderBlockVariableDefining&& other) noexcept = default;
IHeaderBlockVariableDefining& operator=(const IHeaderBlockVariableDefining& other) = default;
IHeaderBlockVariableDefining& operator=(IHeaderBlockVariableDefining&& other) noexcept = default;
virtual void SetVariableName(std::string name) = 0;
};