| Index: src/globals.h
|
| diff --git a/src/globals.h b/src/globals.h
|
| index 761a85d011f10a43c15d0e3ef2bd1ba5d38c4eb0..3f2c33593b012acabb7c9102cf269f51a26ee55d 100644
|
| --- a/src/globals.h
|
| +++ b/src/globals.h
|
| @@ -814,12 +814,13 @@ enum Signedness { kSigned, kUnsigned };
|
|
|
| enum FunctionKind {
|
| kNormalFunction = 0,
|
| - kArrowFunction = 1,
|
| - kGeneratorFunction = 2,
|
| - kConciseMethod = 4,
|
| + kArrowFunction = 1 << 0,
|
| + kGeneratorFunction = 1 << 1,
|
| + kConciseMethod = 1 << 2,
|
| kConciseGeneratorMethod = kGeneratorFunction | kConciseMethod,
|
| - kDefaultConstructor = 8,
|
| - kSubclassConstructor = 16
|
| + kAccessorFunction = 1 << 3,
|
| + kDefaultConstructor = 1 << 4,
|
| + kSubclassConstructor = 1 << 5
|
| };
|
|
|
|
|
| @@ -829,6 +830,7 @@ inline bool IsValidFunctionKind(FunctionKind kind) {
|
| kind == FunctionKind::kGeneratorFunction ||
|
| kind == FunctionKind::kConciseMethod ||
|
| kind == FunctionKind::kConciseGeneratorMethod ||
|
| + kind == FunctionKind::kAccessorFunction ||
|
| kind == FunctionKind::kDefaultConstructor ||
|
| kind == FunctionKind::kSubclassConstructor;
|
| }
|
| @@ -852,11 +854,18 @@ inline bool IsConciseMethod(FunctionKind kind) {
|
| }
|
|
|
|
|
| +inline bool IsAccessorFunction(FunctionKind kind) {
|
| + DCHECK(IsValidFunctionKind(kind));
|
| + return kind & FunctionKind::kAccessorFunction;
|
| +}
|
| +
|
| +
|
| inline bool IsDefaultConstructor(FunctionKind kind) {
|
| DCHECK(IsValidFunctionKind(kind));
|
| return kind & FunctionKind::kDefaultConstructor;
|
| }
|
|
|
| +
|
| inline bool IsSubclassConstructor(FunctionKind kind) {
|
| DCHECK(IsValidFunctionKind(kind));
|
| return kind & FunctionKind::kSubclassConstructor;
|
|
|