parse typedefs

This commit is contained in:
Jan
2021-02-19 00:15:00 +01:00
parent f0753c7e3c
commit cce9494856
11 changed files with 90 additions and 11 deletions

View File

@ -1,5 +1,10 @@
#include "ArrayDeclarationModifier.h"
ArrayDeclarationModifier::ArrayDeclarationModifier(const int size)
: m_size(size)
{
}
DeclarationModifierType ArrayDeclarationModifier::GetType() const
{
return DeclarationModifierType::ARRAY;

View File

@ -2,6 +2,7 @@
#include <memory>
#include "Utils/ClassUtils.h"
#include "DeclarationModifier.h"
#include "Domain/Evaluation/IEvaluation.h"
@ -20,5 +21,7 @@ public:
*/
std::unique_ptr<IEvaluation> m_dynamic_count_evaluation;
DeclarationModifierType GetType() const override;
explicit ArrayDeclarationModifier(int size);
_NODISCARD DeclarationModifierType GetType() const override;
};

View File

@ -5,7 +5,7 @@ EnumMember::EnumMember()
{
}
EnumMember::EnumMember(std::string name, const long long value)
EnumMember::EnumMember(std::string name, const int value)
: m_name(std::move(name)),
m_value(value)
{

View File

@ -6,8 +6,8 @@ class EnumMember
{
public:
std::string m_name;
long long m_value;
int m_value;
EnumMember();
EnumMember(std::string name, long long value);
EnumMember(std::string name, int value);
};

View File

@ -4,7 +4,7 @@
#include "ArrayDeclarationModifier.h"
TypeDeclaration::TypeDeclaration(DataDefinition* type)
TypeDeclaration::TypeDeclaration(const DataDefinition* type)
: m_flags(0),
m_size(0),
m_alignment(0),

View File

@ -21,12 +21,12 @@ class TypeDeclaration
void CalculateAlignment();
public:
explicit TypeDeclaration(DataDefinition* type);
explicit TypeDeclaration(const DataDefinition* type);
bool m_is_const;
bool m_has_custom_bit_size;
DataDefinition* m_type;
const DataDefinition* m_type;
unsigned m_custom_bit_size;
std::vector<std::unique_ptr<DeclarationModifier>> m_declaration_modifiers;