diff options
Diffstat (limited to 'src/sksl/ir/SkSLExpression.h')
-rw-r--r-- | src/sksl/ir/SkSLExpression.h | 25 |
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; |