summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2017-02-26 02:04:16 -0500
committerLioncash <mathew1800@gmail.com>2017-02-26 02:09:34 -0500
commitf0203157d47a53467a997e9009122abe0ebf9ff8 (patch)
tree2986c4f01fd66da96e5e98c73c6124150398a7ad /Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
parent51136681dfa77c88f548d187c9c7954f0ad6ac32 (diff)
ExpressionParser: Const-correctness changes
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ExpressionParser.cpp')
-rw-r--r--Source/Core/InputCommon/ControlReference/ExpressionParser.cpp42
1 files changed, 23 insertions, 19 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
index 47fbd001a6..05f9943b8a 100644
--- a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
+++ b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
@@ -58,7 +58,7 @@ public:
Token(TokenType type_) : type(type_) {}
Token(TokenType type_, ControlQualifier qualifier_) : type(type_), qualifier(qualifier_) {}
- operator std::string()
+ operator std::string() const
{
switch (type)
{
@@ -211,10 +211,10 @@ class ExpressionNode
{
public:
virtual ~ExpressionNode() {}
- virtual ControlState GetValue() { return 0; }
+ virtual ControlState GetValue() const { return 0; }
virtual void SetValue(ControlState state) {}
- virtual int CountNumControls() { return 0; }
- virtual operator std::string() { return ""; }
+ virtual int CountNumControls() const { return 0; }
+ virtual operator std::string() const { return ""; }
};
class DummyExpression : public ExpressionNode
@@ -223,10 +223,10 @@ public:
std::string name;
DummyExpression(const std::string& name_) : name(name_) {}
- ControlState GetValue() override { return 0.0; }
+ ControlState GetValue() const override { return 0.0; }
void SetValue(ControlState value) override {}
- int CountNumControls() override { return 0; }
- operator std::string() override { return "`" + name + "`"; }
+ int CountNumControls() const override { return 0; }
+ operator std::string() const override { return "`" + name + "`"; }
};
class ControlExpression : public ExpressionNode
@@ -241,10 +241,10 @@ public:
{
}
- ControlState GetValue() override { return control->ToInput()->GetState(); }
+ ControlState GetValue() const override { return control->ToInput()->GetState(); }
void SetValue(ControlState value) override { control->ToOutput()->SetState(value); }
- int CountNumControls() override { return 1; }
- operator std::string() override { return "`" + (std::string)qualifier + "`"; }
+ int CountNumControls() const override { return 1; }
+ operator std::string() const override { return "`" + (std::string)qualifier + "`"; }
private:
std::shared_ptr<Device> m_device;
};
@@ -266,7 +266,7 @@ public:
delete rhs;
}
- ControlState GetValue() override
+ ControlState GetValue() const override
{
ControlState lhsValue = lhs->GetValue();
ControlState rhsValue = rhs->GetValue();
@@ -292,8 +292,12 @@ public:
rhs->SetValue(value);
}
- int CountNumControls() override { return lhs->CountNumControls() + rhs->CountNumControls(); }
- operator std::string() override
+ int CountNumControls() const override
+ {
+ return lhs->CountNumControls() + rhs->CountNumControls();
+ }
+
+ operator std::string() const override
{
return OpName(op) + "(" + (std::string)(*lhs) + ", " + (std::string)(*rhs) + ")";
}
@@ -307,7 +311,7 @@ public:
UnaryExpression(TokenType op_, ExpressionNode* inner_) : op(op_), inner(inner_) {}
virtual ~UnaryExpression() { delete inner; }
- ControlState GetValue() override
+ ControlState GetValue() const override
{
ControlState value = inner->GetValue();
switch (op)
@@ -333,11 +337,11 @@ public:
}
}
- int CountNumControls() override { return inner->CountNumControls(); }
- operator std::string() override { return OpName(op) + "(" + (std::string)(*inner) + ")"; }
+ int CountNumControls() const override { return inner->CountNumControls(); }
+ operator std::string() const override { return OpName(op) + "(" + (std::string)(*inner) + ")"; }
};
-std::shared_ptr<Device> ControlFinder::FindDevice(ControlQualifier qualifier)
+std::shared_ptr<Device> ControlFinder::FindDevice(ControlQualifier qualifier) const
{
if (qualifier.has_device)
return container.FindDevice(qualifier.device_qualifier);
@@ -345,7 +349,7 @@ std::shared_ptr<Device> ControlFinder::FindDevice(ControlQualifier qualifier)
return container.FindDevice(default_device);
}
-Device::Control* ControlFinder::FindControl(ControlQualifier qualifier)
+Device::Control* ControlFinder::FindControl(ControlQualifier qualifier) const
{
const std::shared_ptr<Device> device = FindDevice(qualifier);
if (!device)
@@ -497,7 +501,7 @@ private:
ExpressionParseStatus Toplevel(ExpressionNode** expr_out) { return Binary(expr_out); }
};
-ControlState Expression::GetValue()
+ControlState Expression::GetValue() const
{
return node->GetValue();
}