diff options
author | Refael Ackermann <refack@gmail.com> | 2014-09-29 13:20:04 +0400 |
---|---|---|
committer | Fedor Indutny <fedor@indutny.com> | 2014-10-08 15:44:38 +0400 |
commit | 9116b240c924d37627313416b7ee038d0580afbc (patch) | |
tree | 86c586915a96d308b1b04de679a8ae293caf3e41 /deps/v8/src/func-name-inferrer.h | |
parent | a2a3fd48934f36d94575dd33d2a2cb732f937f77 (diff) | |
download | node-9116b240c924d37627313416b7ee038d0580afbc.tar.gz |
deps: update v8 to 3.28.73
Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/8476
Diffstat (limited to 'deps/v8/src/func-name-inferrer.h')
-rw-r--r-- | deps/v8/src/func-name-inferrer.h | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/deps/v8/src/func-name-inferrer.h b/deps/v8/src/func-name-inferrer.h index f0fdbd22e..8b077f9d8 100644 --- a/deps/v8/src/func-name-inferrer.h +++ b/deps/v8/src/func-name-inferrer.h @@ -5,14 +5,16 @@ #ifndef V8_FUNC_NAME_INFERRER_H_ #define V8_FUNC_NAME_INFERRER_H_ -#include "handles.h" -#include "zone.h" +#include "src/handles.h" +#include "src/zone.h" namespace v8 { namespace internal { +class AstRawString; +class AstString; +class AstValueFactory; class FunctionLiteral; -class Isolate; // FuncNameInferrer is a stateful class that is used to perform name // inference for anonymous functions during static analysis of source code. @@ -26,13 +28,13 @@ class Isolate; // a name. class FuncNameInferrer : public ZoneObject { public: - FuncNameInferrer(Isolate* isolate, Zone* zone); + FuncNameInferrer(AstValueFactory* ast_value_factory, Zone* zone); // Returns whether we have entered name collection state. bool IsOpen() const { return !entries_stack_.is_empty(); } // Pushes an enclosing the name of enclosing function onto names stack. - void PushEnclosingName(Handle<String> name); + void PushEnclosingName(const AstRawString* name); // Enters name collection state. void Enter() { @@ -40,9 +42,9 @@ class FuncNameInferrer : public ZoneObject { } // Pushes an encountered name onto names stack when in collection state. - void PushLiteralName(Handle<String> name); + void PushLiteralName(const AstRawString* name); - void PushVariableName(Handle<String> name); + void PushVariableName(const AstRawString* name); // Adds a function to infer name for. void AddFunction(FunctionLiteral* func_to_infer) { @@ -59,7 +61,7 @@ class FuncNameInferrer : public ZoneObject { // Infers a function name and leaves names collection state. void Infer() { - ASSERT(IsOpen()); + DCHECK(IsOpen()); if (!funcs_to_infer_.is_empty()) { InferFunctionsNames(); } @@ -67,7 +69,7 @@ class FuncNameInferrer : public ZoneObject { // Leaves names collection state. void Leave() { - ASSERT(IsOpen()); + DCHECK(IsOpen()); names_stack_.Rewind(entries_stack_.RemoveLast()); if (entries_stack_.is_empty()) funcs_to_infer_.Clear(); @@ -80,24 +82,24 @@ class FuncNameInferrer : public ZoneObject { kVariableName }; struct Name { - Name(Handle<String> name, NameType type) : name(name), type(type) { } - Handle<String> name; + Name(const AstRawString* name, NameType type) : name(name), type(type) {} + const AstRawString* name; NameType type; }; - Isolate* isolate() { return isolate_; } Zone* zone() const { return zone_; } // Constructs a full name in dotted notation from gathered names. - Handle<String> MakeNameFromStack(); + const AstString* MakeNameFromStack(); // A helper function for MakeNameFromStack. - Handle<String> MakeNameFromStackHelper(int pos, Handle<String> prev); + const AstString* MakeNameFromStackHelper(int pos, + const AstString* prev); // Performs name inferring for added functions. void InferFunctionsNames(); - Isolate* isolate_; + AstValueFactory* ast_value_factory_; ZoneList<int> entries_stack_; ZoneList<Name> names_stack_; ZoneList<FunctionLiteral*> funcs_to_infer_; |