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; |
} |