Index: trunk/src/tools/gn/functions.h |
=================================================================== |
--- trunk/src/tools/gn/functions.h (revision 214322) |
+++ trunk/src/tools/gn/functions.h (working copy) |
@@ -1,182 +0,0 @@ |
-// 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_FUNCTIONS_H_ |
-#define TOOLS_GN_FUNCTIONS_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-class Err; |
-class BlockNode; |
-class FunctionCallNode; |
-class Label; |
-class ListNode; |
-class ParseNode; |
-class Scope; |
-class SourceDir; |
-class Token; |
-class Value; |
- |
-Value ExecuteFunction(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, // Optional. |
- Err* err); |
- |
-// Function executing functions ----------------------------------------------- |
- |
-Value ExecuteTemplate(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteExecScript(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- Err* err); |
-Value ExecuteProcessFileTemplate(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- Err* err); |
-Value ExecuteReadFile(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- Err* err); |
-Value ExecuteSetDefaultToolchain(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- Err* err); |
-Value ExecuteTool(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteToolchain(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteWriteFile(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- Err* err); |
- |
-// Target-generating functions. |
-Value ExecuteComponent(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteCopy(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- Err* err); |
-Value ExecuteCustom(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteExecutable(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteSharedLibrary(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteStaticLibrary(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
-Value ExecuteGroup(Scope* scope, |
- const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- BlockNode* block, |
- Err* err); |
- |
-// Helper functions ----------------------------------------------------------- |
- |
-// Verifies that the current scope is not processing an import. If it is, it |
-// will set the error, blame the given parse node for it, and return false. |
-bool EnsureNotProcessingImport(const ParseNode* node, |
- const Scope* scope, |
- Err* err); |
- |
-// Like EnsureNotProcessingImport but checks for running the build config. |
-bool EnsureNotProcessingBuildConfig(const ParseNode* node, |
- const Scope* scope, |
- Err* err); |
- |
-// Sets up the |block_scope| for executing a target (or something like it). |
-// The |scope| is the containing scope. It should have been already set as the |
-// parent for the |block_scope| when the |block_scope| was created. |
-// |
-// This will set up the target defaults and set the |target_name| variable in |
-// the block scope to the current target name, which is assumed to be the first |
-// argument to the function. |
-// |
-// On success, returns true. On failure, sets the error and returns false. |
-bool FillTargetBlockScope(const Scope* scope, |
- const FunctionCallNode* function, |
- const char* target_type, |
- const BlockNode* block, |
- const std::vector<Value>& args, |
- Scope* block_scope, |
- Err* err); |
- |
-// Validates that the given function call has one string argument. This is |
-// the most common function signature, so it saves space to have this helper. |
-// Returns false and sets the error on failure. |
-bool EnsureSingleStringArg(const FunctionCallNode* function, |
- const std::vector<Value>& args, |
- Err* err); |
- |
-// Returns the source directory for the file comtaining the given function |
-// invocation. |
-const SourceDir& SourceDirForFunctionCall(const FunctionCallNode* function); |
- |
-// Returns the name of the toolchain for the given scope. |
-const Label& ToolchainLabelForScope(const Scope* scope); |
- |
-// Generates a label for the given scope, using the current directory and |
-// toolchain, and the given name. |
-Label MakeLabelForScope(const Scope* scope, |
- const FunctionCallNode* function, |
- const std::string& name); |
- |
-// Function name constants ---------------------------------------------------- |
- |
-namespace functions { |
- |
-extern const char kAssert[]; |
-extern const char kComponent[]; |
-extern const char kConfig[]; |
-extern const char kCopy[]; |
-extern const char kCustom[]; |
-extern const char kDeclareArgs[]; |
-extern const char kExecScript[]; |
-extern const char kExecutable[]; |
-extern const char kGroup[]; |
-extern const char kImport[]; |
-extern const char kPrint[]; |
-extern const char kProcessFileTemplate[]; |
-extern const char kReadFile[]; |
-extern const char kSetDefaults[]; |
-extern const char kSetDefaultToolchain[]; |
-extern const char kSetSourcesAssignmentFilter[]; |
-extern const char kSharedLibrary[]; |
-extern const char kStaticLibrary[]; |
-extern const char kTemplate[]; |
-extern const char kTest[]; |
-extern const char kTool[]; |
-extern const char kToolchain[]; |
-extern const char kWriteFile[]; |
- |
-} // namespace functions |
- |
-#endif // TOOLS_GN_FUNCTIONS_H_ |