aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/ir/SkSLExpression.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sksl/ir/SkSLExpression.h')
-rw-r--r--src/sksl/ir/SkSLExpression.h25
1 files changed, 3 insertions, 22 deletions
diff --git a/src/sksl/ir/SkSLExpression.h b/src/sksl/ir/SkSLExpression.h
index f87d810fc0..b4ed37c09a 100644
--- a/src/sksl/ir/SkSLExpression.h
+++ b/src/sksl/ir/SkSLExpression.h
@@ -4,24 +4,17 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
+
#ifndef SKSL_EXPRESSION
#define SKSL_EXPRESSION
+#include "SkSLIRNode.h"
#include "SkSLType.h"
-#include "SkSLVariable.h"
-
-#include <unordered_map>
namespace SkSL {
-struct Expression;
-class IRGenerator;
-
-typedef std::unordered_map<const Variable*, std::unique_ptr<Expression>*> DefinitionMap;
-
/**
- * Abstract supertype of all expressions.
+ * Abstract supertype of all expressions.
*/
struct Expression : public IRNode {
enum Kind {
@@ -52,18 +45,6 @@ struct Expression : public IRNode {
return false;
}
- /**
- * Given a map of known constant variable values, substitute them in for references to those
- * variables occurring in this expression and its subexpressions. Similar simplifications, such
- * as folding a constant binary expression down to a single value, may also be performed.
- * Returns a new expression which replaces this expression, or null if no replacements were
- * made. If a new expression is returned, this expression is no longer valid.
- */
- virtual std::unique_ptr<Expression> constantPropagate(const IRGenerator& irGenerator,
- const DefinitionMap& definitions) {
- return nullptr;
- }
-
const Kind fKind;
const Type& fType;