// 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_