Shader: StatementPtr& => const StatementPtr&

This commit is contained in:
Jérôme Leclercq
2021-04-17 18:10:48 +02:00
parent 1a8599ba29
commit 500ccda85a
12 changed files with 26 additions and 22 deletions

View File

@@ -23,15 +23,15 @@ namespace Nz::ShaderAst
AstCloner(AstCloner&&) = delete;
~AstCloner() = default;
ExpressionPtr Clone(ExpressionPtr& statement);
StatementPtr Clone(StatementPtr& statement);
ExpressionPtr Clone(const ExpressionPtr& statement);
StatementPtr Clone(const StatementPtr& statement);
AstCloner& operator=(const AstCloner&) = delete;
AstCloner& operator=(AstCloner&&) = delete;
protected:
inline ExpressionPtr CloneExpression(ExpressionPtr& expr);
inline StatementPtr CloneStatement(StatementPtr& statement);
inline ExpressionPtr CloneExpression(const ExpressionPtr& expr);
inline StatementPtr CloneStatement(const StatementPtr& statement);
virtual ExpressionPtr CloneExpression(Expression& expr);
virtual StatementPtr CloneStatement(Statement& statement);

View File

@@ -7,7 +7,7 @@
namespace Nz::ShaderAst
{
ExpressionPtr AstCloner::CloneExpression(ExpressionPtr& expr)
ExpressionPtr AstCloner::CloneExpression(const ExpressionPtr& expr)
{
if (!expr)
return nullptr;
@@ -15,7 +15,7 @@ namespace Nz::ShaderAst
return CloneExpression(*expr);
}
StatementPtr AstCloner::CloneStatement(StatementPtr& statement)
StatementPtr AstCloner::CloneStatement(const StatementPtr& statement)
{
if (!statement)
return nullptr;

View File

@@ -23,8 +23,8 @@ namespace Nz::ShaderAst
AstOptimizer(AstOptimizer&&) = delete;
~AstOptimizer() = default;
StatementPtr Optimise(StatementPtr& statement);
StatementPtr Optimise(StatementPtr& statement, UInt64 enabledConditions);
StatementPtr Optimise(const StatementPtr& statement);
StatementPtr Optimise(const StatementPtr& statement, UInt64 enabledConditions);
AstOptimizer& operator=(const AstOptimizer&) = delete;
AstOptimizer& operator=(AstOptimizer&&) = delete;

View File

@@ -25,8 +25,8 @@ namespace Nz::ShaderAst
SanitizeVisitor(SanitizeVisitor&&) = delete;
~SanitizeVisitor() = default;
inline StatementPtr Sanitize(StatementPtr& statement, std::string* error = nullptr);
StatementPtr Sanitize(StatementPtr& statement, const Options& options, std::string* error = nullptr);
inline StatementPtr Sanitize(const StatementPtr& statement, std::string* error = nullptr);
StatementPtr Sanitize(const StatementPtr& statement, const Options& options, std::string* error = nullptr);
SanitizeVisitor& operator=(const SanitizeVisitor&) = delete;
SanitizeVisitor& operator=(SanitizeVisitor&&) = delete;
@@ -125,8 +125,8 @@ namespace Nz::ShaderAst
Context* m_context;
};
inline StatementPtr Sanitize(StatementPtr& ast, std::string* error = nullptr);
inline StatementPtr Sanitize(StatementPtr& ast, const SanitizeVisitor::Options& options, std::string* error = nullptr);
inline StatementPtr Sanitize(const StatementPtr& ast, std::string* error = nullptr);
inline StatementPtr Sanitize(const StatementPtr& ast, const SanitizeVisitor::Options& options, std::string* error = nullptr);
}
#include <Nazara/Shader/Ast/SanitizeVisitor.inl>

View File

@@ -12,7 +12,7 @@ namespace Nz::ShaderAst
{
}
inline StatementPtr SanitizeVisitor::Sanitize(StatementPtr& statement, std::string* error)
inline StatementPtr SanitizeVisitor::Sanitize(const StatementPtr& statement, std::string* error)
{
return Sanitize(statement, {}, error);
}
@@ -76,13 +76,13 @@ namespace Nz::ShaderAst
return varIndex;
}
StatementPtr Sanitize(StatementPtr& ast, std::string* error)
StatementPtr Sanitize(const StatementPtr& ast, std::string* error)
{
SanitizeVisitor sanitizer;
return sanitizer.Sanitize(ast, error);
}
StatementPtr Sanitize(StatementPtr& ast, const SanitizeVisitor::Options& options, std::string* error)
StatementPtr Sanitize(const StatementPtr& ast, const SanitizeVisitor::Options& options, std::string* error)
{
SanitizeVisitor sanitizer;
return sanitizer.Sanitize(ast, options, error);