Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: runtime/vm/parser.h

Issue 2859673002: Pass type argument vector to generic functions (if --reify-generic-functions is (Closed)
Patch Set: address review comments and sync Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/object_test.cc ('k') | runtime/vm/parser.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 RUNTIME_VM_PARSER_H_ 5 #ifndef RUNTIME_VM_PARSER_H_
6 #define RUNTIME_VM_PARSER_H_ 6 #define RUNTIME_VM_PARSER_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 9
10 #include "platform/assert.h" 10 #include "platform/assert.h"
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 TokenPosition call_pos, 609 TokenPosition call_pos,
610 const String& function_name, 610 const String& function_name,
611 const ArgumentListNode& function_args, 611 const ArgumentListNode& function_args,
612 const LocalVariable* temp, 612 const LocalVariable* temp,
613 bool is_super_invocation); 613 bool is_super_invocation);
614 RawFunction* GetSuperFunction(TokenPosition token_pos, 614 RawFunction* GetSuperFunction(TokenPosition token_pos,
615 const String& name, 615 const String& name,
616 ArgumentListNode* arguments, 616 ArgumentListNode* arguments,
617 bool resolve_getter, 617 bool resolve_getter,
618 bool* is_no_such_method); 618 bool* is_no_such_method);
619 AstNode* ParseSuperCall(const String& function_name); 619 AstNode* ParseSuperCall(const String& function_name,
620 const TypeArguments& func_type_args);
620 AstNode* ParseSuperFieldAccess(const String& field_name, 621 AstNode* ParseSuperFieldAccess(const String& field_name,
621 TokenPosition field_pos); 622 TokenPosition field_pos);
622 AstNode* ParseSuperOperator(); 623 AstNode* ParseSuperOperator();
623 AstNode* BuildUnarySuperOperator(Token::Kind op, PrimaryNode* super); 624 AstNode* BuildUnarySuperOperator(Token::Kind op, PrimaryNode* super);
624 625
625 static bool ParseFormalParameters(const Function& func, ParamList* params); 626 static bool ParseFormalParameters(const Function& func, ParamList* params);
626 627
627 void SetupDefaultsForOptionalParams(const ParamList& params); 628 void SetupDefaultsForOptionalParams(const ParamList& params);
628 ClosureNode* CreateImplicitClosureNode(const Function& func, 629 ClosureNode* CreateImplicitClosureNode(const Function& func,
629 TokenPosition token_pos, 630 TokenPosition token_pos,
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 const TypeArguments& type_arguments); 827 const TypeArguments& type_arguments);
827 828
828 RawFunction* BuildConstructorClosureFunction(const Function& ctr, 829 RawFunction* BuildConstructorClosureFunction(const Function& ctr,
829 TokenPosition token_pos); 830 TokenPosition token_pos);
830 AstNode* ParseNewOperator(Token::Kind op_kind); 831 AstNode* ParseNewOperator(Token::Kind op_kind);
831 void ParseConstructorClosurization(Function* constructor, 832 void ParseConstructorClosurization(Function* constructor,
832 TypeArguments* type_arguments); 833 TypeArguments* type_arguments);
833 834
834 // An implicit argument, if non-null, is prepended to the returned list. 835 // An implicit argument, if non-null, is prepended to the returned list.
835 ArgumentListNode* ParseActualParameters(ArgumentListNode* implicit_arguments, 836 ArgumentListNode* ParseActualParameters(ArgumentListNode* implicit_arguments,
837 const TypeArguments& func_type_args,
836 bool require_const); 838 bool require_const);
837 AstNode* ParseStaticCall(const Class& cls, 839 AstNode* ParseStaticCall(const Class& cls,
838 const String& method_name, 840 const String& method_name,
839 TokenPosition ident_pos, 841 TokenPosition ident_pos,
842 const TypeArguments& func_type_args,
840 const LibraryPrefix* prefix = NULL); 843 const LibraryPrefix* prefix = NULL);
841 AstNode* ParseInstanceCall(AstNode* receiver, 844 AstNode* ParseInstanceCall(AstNode* receiver,
842 const String& method_name, 845 const String& method_name,
843 TokenPosition ident_pos, 846 TokenPosition ident_pos,
847 const TypeArguments& func_type_args,
844 bool is_conditional); 848 bool is_conditional);
845 AstNode* ParseClosureCall(AstNode* closure); 849 AstNode* ParseClosureCall(AstNode* closure,
850 const TypeArguments& func_type_args);
846 AstNode* GenerateStaticFieldLookup(const Field& field, 851 AstNode* GenerateStaticFieldLookup(const Field& field,
847 TokenPosition ident_pos); 852 TokenPosition ident_pos);
848 AstNode* GenerateStaticFieldAccess(const Class& cls, 853 AstNode* GenerateStaticFieldAccess(const Class& cls,
849 const String& field_name, 854 const String& field_name,
850 TokenPosition ident_pos); 855 TokenPosition ident_pos);
851 856
852 LocalVariable* LookupLocalScope(const String& ident); 857 LocalVariable* LookupLocalScope(const String& ident);
853 void CheckInstanceFieldAccess(TokenPosition field_pos, 858 void CheckInstanceFieldAccess(TokenPosition field_pos,
854 const String& field_name); 859 const String& field_name);
855 bool ParsingStaticMember() const; 860 bool ParsingStaticMember() const;
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
1006 1011
1007 intptr_t recursion_counter_; 1012 intptr_t recursion_counter_;
1008 friend class RecursionChecker; 1013 friend class RecursionChecker;
1009 1014
1010 DISALLOW_COPY_AND_ASSIGN(Parser); 1015 DISALLOW_COPY_AND_ASSIGN(Parser);
1011 }; 1016 };
1012 1017
1013 } // namespace dart 1018 } // namespace dart
1014 1019
1015 #endif // RUNTIME_VM_PARSER_H_ 1020 #endif // RUNTIME_VM_PARSER_H_
OLDNEW
« no previous file with comments | « runtime/vm/object_test.cc ('k') | runtime/vm/parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698