| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index 23df48b8b1e09a00ee434be3da2f4d2340559d26..b4705f6ab853e2373bb66be3e4bee5b3044a7701 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -1711,6 +1711,12 @@ class Throw: public Expression {
|
|
|
| class FunctionLiteral: public Expression {
|
| public:
|
| + enum Type {
|
| + ANONYMOUS_EXPRESSION,
|
| + NAMED_EXPRESSION,
|
| + DECLARATION
|
| + };
|
| +
|
| FunctionLiteral(Isolate* isolate,
|
| Handle<String> name,
|
| Scope* scope,
|
| @@ -1722,7 +1728,7 @@ class FunctionLiteral: public Expression {
|
| int num_parameters,
|
| int start_position,
|
| int end_position,
|
| - bool is_expression,
|
| + Type type,
|
| bool has_duplicate_parameters)
|
| : Expression(isolate),
|
| name_(name),
|
| @@ -1738,7 +1744,8 @@ class FunctionLiteral: public Expression {
|
| end_position_(end_position),
|
| function_token_position_(RelocInfo::kNoPosition),
|
| inferred_name_(HEAP->empty_string()),
|
| - is_expression_(is_expression),
|
| + is_expression_(type != DECLARATION),
|
| + is_anonymous_(type == ANONYMOUS_EXPRESSION),
|
| pretenure_(false),
|
| has_duplicate_parameters_(has_duplicate_parameters) {
|
| }
|
| @@ -1753,6 +1760,7 @@ class FunctionLiteral: public Expression {
|
| int start_position() const { return start_position_; }
|
| int end_position() const { return end_position_; }
|
| bool is_expression() const { return is_expression_; }
|
| + bool is_anonymous() const { return is_anonymous_; }
|
| bool strict_mode() const;
|
|
|
| int materialized_literal_count() { return materialized_literal_count_; }
|
| @@ -1797,6 +1805,7 @@ class FunctionLiteral: public Expression {
|
| int function_token_position_;
|
| Handle<String> inferred_name_;
|
| bool is_expression_;
|
| + bool is_anonymous_;
|
| bool pretenure_;
|
| bool has_duplicate_parameters_;
|
| };
|
|
|