diff --git a/src/Mamba/Code Analysis/Syntax/Lexer.cpp b/src/Mamba/Code Analysis/Syntax/Lexer.cpp index 1e71e30..8744760 100644 --- a/src/Mamba/Code Analysis/Syntax/Lexer.cpp +++ b/src/Mamba/Code Analysis/Syntax/Lexer.cpp @@ -17,7 +17,7 @@ namespace Mamba { Lexer::Lexer(const std::shared_ptr SyntaxTree) : - SyntaxTree(SyntaxTree), Text(SyntaxTree->Text), Start(), Position(), Kind(SyntaxKind::BadToken) + SyntaxTree(SyntaxTree), Text(SyntaxTree->Text), Position(), Start(), Kind(SyntaxKind::BadToken) { } diff --git a/src/Mamba/Code Analysis/Syntax/Lexer.h b/src/Mamba/Code Analysis/Syntax/Lexer.h index c959f9a..b026e46 100644 --- a/src/Mamba/Code Analysis/Syntax/Lexer.h +++ b/src/Mamba/Code Analysis/Syntax/Lexer.h @@ -19,7 +19,7 @@ namespace Mamba std::size_t Start; SyntaxKind Kind; - NullableSharedPtr Value; + NullableSharedPtr Value; public: DiagnosticBag Diagnostics; diff --git a/src/Mamba/Code Analysis/Syntax/Literal.h b/src/Mamba/Code Analysis/Syntax/Literal.h index 90811b0..35ed438 100644 --- a/src/Mamba/Code Analysis/Syntax/Literal.h +++ b/src/Mamba/Code Analysis/Syntax/Literal.h @@ -45,7 +45,7 @@ namespace Mamba LiteralValue(const LiteralValue&) = default; LiteralValue(LiteralValue&&) = default; - friend class Literal; + friend struct Literal; }; enum class LiteralType diff --git a/src/Mamba/Code Analysis/Syntax/LiteralExpressionSyntax.h b/src/Mamba/Code Analysis/Syntax/LiteralExpressionSyntax.h index e2bb09b..78a958b 100644 --- a/src/Mamba/Code Analysis/Syntax/LiteralExpressionSyntax.h +++ b/src/Mamba/Code Analysis/Syntax/LiteralExpressionSyntax.h @@ -26,6 +26,6 @@ namespace Mamba virtual std::vector> Children() const noexcept override; const std::shared_ptr LiteralToken; - const std::shared_ptr Value; + const std::shared_ptr Value; }; } // namespace Mamba \ No newline at end of file diff --git a/src/Mamba/Code Analysis/Syntax/SyntaxNode.cpp b/src/Mamba/Code Analysis/Syntax/SyntaxNode.cpp index 4966652..dab17c9 100644 --- a/src/Mamba/Code Analysis/Syntax/SyntaxNode.cpp +++ b/src/Mamba/Code Analysis/Syntax/SyntaxNode.cpp @@ -186,7 +186,7 @@ namespace Mamba const auto LastChild = Node->Children().size() == 0 ? nullptr : Node->Children().back(); - for (const auto Child : Node->Children()) + for (auto&& Child : Node->Children()) { PrettyPrint(Stream, Child, Indent, Child == LastChild); } diff --git a/src/Mamba/Code Analysis/Syntax/SyntaxToken.h b/src/Mamba/Code Analysis/Syntax/SyntaxToken.h index 36c5d47..b1dba93 100644 --- a/src/Mamba/Code Analysis/Syntax/SyntaxToken.h +++ b/src/Mamba/Code Analysis/Syntax/SyntaxToken.h @@ -15,7 +15,7 @@ namespace Mamba public: [[nodiscard]] SyntaxToken(const std::shared_ptr SyntaxTree, const SyntaxKind Kind, const std::size_t Position, const std::shared_ptr Text, - const NullableSharedPtr Value) noexcept; + const NullableSharedPtr Value) noexcept; virtual SyntaxKind Kind() const noexcept override; diff --git a/xmake.lua b/xmake.lua index fc0cd14..2d691a2 100644 --- a/xmake.lua +++ b/xmake.lua @@ -10,6 +10,7 @@ target("Jvav") set_languages("clatest", "c++latest") add_packages("fast_io") set_toolchains("llvm") + set_warnings("all") add_includedirs("src/Mamba", "src/Mamba/Code Analysis", "src/Mamba/Code Analysis/Syntax", "src/Mamba/Code Analysis/Text") add_linkdirs("/opt/homebrew/opt/llvm/lib/c++") -- macOS compability if is_mode("release") then