| Index: src/ast.cc
|
| diff --git a/src/ast.cc b/src/ast.cc
|
| index f94e370f3c87aca452398881a3dd12c851eff8bf..ca0a7465b12e61d77d2a9b069da79100d4da18fa 100644
|
| --- a/src/ast.cc
|
| +++ b/src/ast.cc
|
| @@ -761,7 +761,16 @@ Call::CallType Call::GetCallType(Isolate* isolate) const {
|
| if (expression()->IsSuperCallReference()) return SUPER_CALL;
|
|
|
| Property* property = expression()->AsProperty();
|
| - return property != NULL ? PROPERTY_CALL : OTHER_CALL;
|
| + if (property != nullptr) {
|
| + bool is_super = property->IsSuperAccess();
|
| + if (property->key()->IsPropertyName()) {
|
| + return is_super ? NAMED_SUPER_PROPERTY_CALL : NAMED_PROPERTY_CALL;
|
| + } else {
|
| + return is_super ? KEYED_SUPER_PROPERTY_CALL : KEYED_PROPERTY_CALL;
|
| + }
|
| + }
|
| +
|
| + return OTHER_CALL;
|
| }
|
|
|
|
|
|
|