OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef TOOLS_GN_OPERATORS_H_ | 5 #ifndef TOOLS_GN_OPERATORS_H_ |
6 #define TOOLS_GN_OPERATORS_H_ | 6 #define TOOLS_GN_OPERATORS_H_ |
7 | 7 |
8 class BinaryOpNode; | 8 class BinaryOpNode; |
9 class Err; | 9 class Err; |
10 class ParseNode; | 10 class ParseNode; |
11 class Scope; | 11 class Scope; |
12 class Token; | |
13 class UnaryOpNode; | 12 class UnaryOpNode; |
14 class Value; | 13 class Value; |
15 | 14 |
16 bool IsUnaryOperator(const Token& token); | |
17 bool IsBinaryOperator(const Token& token); | |
18 | |
19 bool IsFunctionCallArgBeginScoper(const Token& token); // "(" | |
20 bool IsFunctionCallArgEndScoper(const Token& token); // ")" | |
21 | |
22 bool IsScopeBeginScoper(const Token& token); // "{" | |
23 bool IsScopeEndScoper(const Token& token); // "}" | |
24 | |
25 Value ExecuteUnaryOperator(Scope* scope, | 15 Value ExecuteUnaryOperator(Scope* scope, |
26 const UnaryOpNode* op_node, | 16 const UnaryOpNode* op_node, |
27 const Value& value, | 17 const Value& value, |
28 Err* err); | 18 Err* err); |
29 Value ExecuteBinaryOperator(Scope* scope, | 19 Value ExecuteBinaryOperator(Scope* scope, |
30 const BinaryOpNode* op_node, | 20 const BinaryOpNode* op_node, |
31 const ParseNode* left, | 21 const ParseNode* left, |
32 const ParseNode* right, | 22 const ParseNode* right, |
33 Err* err); | 23 Err* err); |
34 | 24 |
35 #endif // TOOLS_GN_OPERATORS_H_ | 25 #endif // TOOLS_GN_OPERATORS_H_ |
OLD | NEW |