-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[v0.0.2] Added support of threading, macOS, fixed few things, added more tests.
- Loading branch information
Showing
71 changed files
with
3,847 additions
and
594 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,6 @@ | ||
[submodule "ThirdParty/googletest"] | ||
path = ThirdParty/googletest | ||
url = https://github.com/google/googletest | ||
[submodule "ThirdParty/fmt"] | ||
path = ThirdParty/fmt | ||
url = https://github.com/fmtlib/fmt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
// This file is auto generated by CMake! | ||
|
||
#ifndef __RG3_COMMIT_H__ | ||
#define __RG3_COMMIT_H__ | ||
|
||
#define RG3_BUILD_HASH "@GIT_HASH@" | ||
|
||
#endif //__RG3_COMMIT_H__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#pragma once | ||
|
||
#include <RG3/Cpp/TypeBase.h> | ||
#include <RG3/Cpp/TypeStatement.h> | ||
|
||
|
||
namespace rg3::cpp | ||
{ | ||
/** | ||
* @brief This class represents any typedef or using which marked as "runtime". It could be a part of another "record" type (like struct, class) | ||
*/ | ||
class TypeAlias : public TypeBase | ||
{ | ||
public: | ||
TypeAlias(); | ||
TypeAlias(const std::string& name, const std::string& prettyName, const CppNamespace& aNamespace, const DefinitionLocation& aLocation, const Tags& tags, TypeStatement sTargetType); | ||
|
||
[[nodiscard]] const TypeReference& getTargetType() const; | ||
[[nodiscard]] TypeReference& getTargetType(); | ||
|
||
/** | ||
* @note It's better to use getTargetTypeDescription | ||
*/ | ||
[[nodiscard]] DefinitionLocation getTargetTypeDefinedAt() const; | ||
|
||
bool hasTargetTypeDefinitionLocation() const; | ||
|
||
[[nodiscard]] const TypeStatement& getTargetTypeDescription() const; | ||
|
||
protected: | ||
bool doAreSame(const TypeBase* pOther) const override; | ||
|
||
protected: | ||
TypeStatement m_sTargetType {}; | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#pragma once | ||
|
||
#include <RG3/Cpp/TypeReference.h> | ||
#include <RG3/Cpp/DefinitionLocation.h> | ||
|
||
#include <optional> | ||
#include <vector> | ||
|
||
|
||
namespace rg3::cpp | ||
{ | ||
struct TypeStatement | ||
{ | ||
TypeReference sTypeRef {}; | ||
std::optional<DefinitionLocation> sDefinitionLocation {}; | ||
bool bIsConst { false }; | ||
bool bIsPointer { false }; | ||
bool bIsPtrConst { false }; | ||
bool bIsReference { false }; | ||
bool bIsTemplateSpecialization { false }; | ||
|
||
static const TypeStatement g_sVoid; // globally known void type | ||
|
||
bool isVoid() const; | ||
|
||
bool operator==(const TypeStatement& other) const; | ||
bool operator!=(const TypeStatement& other) const; | ||
}; | ||
|
||
using TypeStatementVector = std::vector<TypeStatement>; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.