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