OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_PARSER_H_ | 5 #ifndef VM_PARSER_H_ |
6 #define VM_PARSER_H_ | 6 #define VM_PARSER_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 | 9 |
10 #include "lib/invocation_mirror.h" | 10 #include "lib/invocation_mirror.h" |
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 LocalVariable* receiver, | 419 LocalVariable* receiver, |
420 GrowableArray<Field*>* initialized_fields); | 420 GrowableArray<Field*>* initialized_fields); |
421 String& ParseNativeDeclaration(); | 421 String& ParseNativeDeclaration(); |
422 void ParseInterfaceList(const Class& cls); | 422 void ParseInterfaceList(const Class& cls); |
423 RawAbstractType* ParseMixins(const GrowableObjectArray& pending_classes, | 423 RawAbstractType* ParseMixins(const GrowableObjectArray& pending_classes, |
424 const AbstractType& super_type); | 424 const AbstractType& super_type); |
425 static StaticCallNode* BuildInvocationMirrorAllocation( | 425 static StaticCallNode* BuildInvocationMirrorAllocation( |
426 intptr_t call_pos, | 426 intptr_t call_pos, |
427 const String& function_name, | 427 const String& function_name, |
428 const ArgumentListNode& function_args, | 428 const ArgumentListNode& function_args, |
429 const LocalVariable* temp = NULL); | 429 const LocalVariable* temp, |
| 430 bool is_super_invocation); |
430 // Build arguments for a NoSuchMethodCall. If LocalVariable temp is not NULL, | 431 // Build arguments for a NoSuchMethodCall. If LocalVariable temp is not NULL, |
431 // the last argument is stored in temp. | 432 // the last argument is stored in temp. |
432 static ArgumentListNode* BuildNoSuchMethodArguments( | 433 static ArgumentListNode* BuildNoSuchMethodArguments( |
433 intptr_t call_pos, | 434 intptr_t call_pos, |
434 const String& function_name, | 435 const String& function_name, |
435 const ArgumentListNode& function_args, | 436 const ArgumentListNode& function_args, |
436 const LocalVariable* temp = NULL); | 437 const LocalVariable* temp, |
| 438 bool is_super_invocation); |
437 RawFunction* GetSuperFunction(intptr_t token_pos, | 439 RawFunction* GetSuperFunction(intptr_t token_pos, |
438 const String& name, | 440 const String& name, |
439 ArgumentListNode* arguments, | 441 ArgumentListNode* arguments, |
440 bool resolve_getter, | 442 bool resolve_getter, |
441 bool* is_no_such_method); | 443 bool* is_no_such_method); |
442 AstNode* ParseSuperCall(const String& function_name); | 444 AstNode* ParseSuperCall(const String& function_name); |
443 AstNode* ParseSuperFieldAccess(const String& field_name); | 445 AstNode* ParseSuperFieldAccess(const String& field_name); |
444 AstNode* ParseSuperOperator(); | 446 AstNode* ParseSuperOperator(); |
445 AstNode* BuildUnarySuperOperator(Token::Kind op, PrimaryNode* super); | 447 AstNode* BuildUnarySuperOperator(Token::Kind op, PrimaryNode* super); |
446 | 448 |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
718 intptr_t last_used_try_index_; | 720 intptr_t last_used_try_index_; |
719 | 721 |
720 bool unregister_pending_function_; | 722 bool unregister_pending_function_; |
721 | 723 |
722 DISALLOW_COPY_AND_ASSIGN(Parser); | 724 DISALLOW_COPY_AND_ASSIGN(Parser); |
723 }; | 725 }; |
724 | 726 |
725 } // namespace dart | 727 } // namespace dart |
726 | 728 |
727 #endif // VM_PARSER_H_ | 729 #endif // VM_PARSER_H_ |
OLD | NEW |