ExpressionParser: Avoid some miscellaneous copies
Just some trivial copies that can be eliminated or turned into moves.
This commit is contained in:
parent
a5bbeb721a
commit
ded2d55438
|
@ -248,7 +248,7 @@ ParseStatus Lexer::Tokenize(std::vector<Token>& tokens)
|
||||||
class ControlExpression : public Expression
|
class ControlExpression : public Expression
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit ControlExpression(ControlQualifier qualifier) : m_qualifier(qualifier) {}
|
explicit ControlExpression(ControlQualifier qualifier) : m_qualifier(std::move(qualifier)) {}
|
||||||
|
|
||||||
ControlState GetValue() const override
|
ControlState GetValue() const override
|
||||||
{
|
{
|
||||||
|
@ -448,7 +448,7 @@ private:
|
||||||
const ControlState m_value{};
|
const ControlState m_value{};
|
||||||
};
|
};
|
||||||
|
|
||||||
static ParseResult MakeLiteralExpression(Token token)
|
static ParseResult MakeLiteralExpression(const Token& token)
|
||||||
{
|
{
|
||||||
ControlState val{};
|
ControlState val{};
|
||||||
if (TryParse(token.data, &val))
|
if (TryParse(token.data, &val))
|
||||||
|
@ -460,7 +460,7 @@ static ParseResult MakeLiteralExpression(Token token)
|
||||||
class VariableExpression : public Expression
|
class VariableExpression : public Expression
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit VariableExpression(std::string name) : m_name(name) {}
|
explicit VariableExpression(std::string name) : m_name(std::move(name)) {}
|
||||||
|
|
||||||
ControlState GetValue() const override { return m_variable_ptr ? *m_variable_ptr : 0; }
|
ControlState GetValue() const override { return m_variable_ptr ? *m_variable_ptr : 0; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue