Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(462)

Side by Side Diff: src/sksl/ir/SkSLExpression.h

Issue 1984363002: initial checkin of SkSL compiler (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: more comments from Ben Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8 #ifndef SKSL_EXPRESSION
9 #define SKSL_EXPRESSION
10
11 #include "SkSLIRNode.h"
12 #include "SkSLType.h"
13
14 namespace SkSL {
15
16 /**
17 * Abstract supertype of all expressions.
18 */
19 struct Expression : public IRNode {
20 enum Kind {
21 kBinary_Kind,
22 kBoolLiteral_Kind,
23 kConstructor_Kind,
24 kIntLiteral_Kind,
25 kFieldAccess_Kind,
26 kFloatLiteral_Kind,
27 kFunctionReference_Kind,
28 kFunctionCall_Kind,
29 kIndex_Kind,
30 kPrefix_Kind,
31 kPostfix_Kind,
32 kSwizzle_Kind,
33 kVariableReference_Kind,
34 kTernary_Kind,
35 kTypeReference_Kind,
36 };
37
38 Expression(Position position, Kind kind, std::shared_ptr<Type> type)
39 : INHERITED(position)
40 , fKind(kind)
41 , fType(type) {}
dogben 2016/06/21 21:52:50 std::move
42
43 virtual bool isConstant() const {
44 return false;
45 }
46
47 const Kind fKind;
48 const std::shared_ptr<Type> fType;
49
50 typedef IRNode INHERITED;
51 };
52
53 } // namespace
54
55 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698