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 "platform/assert.h" | 10 #include "platform/assert.h" |
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 void ParseLibraryNameObsoleteSyntax(); | 425 void ParseLibraryNameObsoleteSyntax(); |
426 void ParseLibraryImportObsoleteSyntax(); | 426 void ParseLibraryImportObsoleteSyntax(); |
427 void ParseLibraryIncludeObsoleteSyntax(); | 427 void ParseLibraryIncludeObsoleteSyntax(); |
428 | 428 |
429 void ResolveTypeFromClass(const Class& cls, | 429 void ResolveTypeFromClass(const Class& cls, |
430 ClassFinalizer::FinalizationKind finalization, | 430 ClassFinalizer::FinalizationKind finalization, |
431 AbstractType* type); | 431 AbstractType* type); |
432 RawAbstractType* ParseType(ClassFinalizer::FinalizationKind finalization, | 432 RawAbstractType* ParseType(ClassFinalizer::FinalizationKind finalization, |
433 bool allow_deferred_type = false, | 433 bool allow_deferred_type = false, |
434 bool consume_unresolved_prefix = true); | 434 bool consume_unresolved_prefix = true); |
| 435 RawAbstractType* ParseType( |
| 436 ClassFinalizer::FinalizationKind finalization, |
| 437 bool allow_deferred_type, |
| 438 bool consume_unresolved_prefix, |
| 439 LibraryPrefix* prefix); |
| 440 |
435 void ParseTypeParameters(const Class& cls); | 441 void ParseTypeParameters(const Class& cls); |
436 RawTypeArguments* ParseTypeArguments( | 442 RawTypeArguments* ParseTypeArguments( |
437 ClassFinalizer::FinalizationKind finalization); | 443 ClassFinalizer::FinalizationKind finalization); |
438 void ParseMethodOrConstructor(ClassDesc* members, MemberDesc* method); | 444 void ParseMethodOrConstructor(ClassDesc* members, MemberDesc* method); |
439 void ParseFieldDefinition(ClassDesc* members, MemberDesc* field); | 445 void ParseFieldDefinition(ClassDesc* members, MemberDesc* field); |
440 void CheckMemberNameConflict(ClassDesc* members, MemberDesc* member); | 446 void CheckMemberNameConflict(ClassDesc* members, MemberDesc* member); |
441 void ParseClassMemberDefinition(ClassDesc* members, | 447 void ParseClassMemberDefinition(ClassDesc* members, |
442 intptr_t metadata_pos); | 448 intptr_t metadata_pos); |
443 void ParseFormalParameter(bool allow_explicit_default_value, | 449 void ParseFormalParameter(bool allow_explicit_default_value, |
444 bool evaluate_metadata, | 450 bool evaluate_metadata, |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
756 static SequenceNode* NodeAsSequenceNode(intptr_t sequence_pos, | 762 static SequenceNode* NodeAsSequenceNode(intptr_t sequence_pos, |
757 AstNode* node, | 763 AstNode* node, |
758 LocalScope* scope); | 764 LocalScope* scope); |
759 | 765 |
760 SequenceNode* MakeImplicitConstructor(const Function& func); | 766 SequenceNode* MakeImplicitConstructor(const Function& func); |
761 AstNode* MakeStaticCall(const String& cls_name, | 767 AstNode* MakeStaticCall(const String& cls_name, |
762 const String& func_name, | 768 const String& func_name, |
763 ArgumentListNode* arguments); | 769 ArgumentListNode* arguments); |
764 String& Interpolate(const GrowableArray<AstNode*>& values); | 770 String& Interpolate(const GrowableArray<AstNode*>& values); |
765 AstNode* MakeAssertCall(intptr_t begin, intptr_t end); | 771 AstNode* MakeAssertCall(intptr_t begin, intptr_t end); |
766 AstNode* ThrowTypeError(intptr_t type_pos, const AbstractType& type); | 772 AstNode* ThrowTypeError(intptr_t type_pos, const AbstractType& type, |
| 773 LibraryPrefix* prefix = NULL); |
767 AstNode* ThrowNoSuchMethodError(intptr_t call_pos, | 774 AstNode* ThrowNoSuchMethodError(intptr_t call_pos, |
768 const Class& cls, | 775 const Class& cls, |
769 const String& function_name, | 776 const String& function_name, |
770 ArgumentListNode* function_arguments, | 777 ArgumentListNode* function_arguments, |
771 InvocationMirror::Call call, | 778 InvocationMirror::Call call, |
772 InvocationMirror::Type type, | 779 InvocationMirror::Type type, |
773 const Function* func); | 780 const Function* func, |
| 781 const LibraryPrefix* prefix = NULL); |
774 | 782 |
775 void SetupSavedTryContext(LocalVariable* saved_try_context); | 783 void SetupSavedTryContext(LocalVariable* saved_try_context); |
776 | 784 |
777 void CheckOperatorArity(const MemberDesc& member); | 785 void CheckOperatorArity(const MemberDesc& member); |
778 | 786 |
779 void EnsureExpressionTemp(); | 787 void EnsureExpressionTemp(); |
780 bool IsLegalAssignableSyntax(AstNode* expr, intptr_t end_pos); | 788 bool IsLegalAssignableSyntax(AstNode* expr, intptr_t end_pos); |
781 AstNode* CreateAssignmentNode(AstNode* original, | 789 AstNode* CreateAssignmentNode(AstNode* original, |
782 AstNode* rhs, | 790 AstNode* rhs, |
783 const String* left_ident, | 791 const String* left_ident, |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
861 | 869 |
862 // Indentation of parser trace. | 870 // Indentation of parser trace. |
863 intptr_t trace_indent_; | 871 intptr_t trace_indent_; |
864 | 872 |
865 DISALLOW_COPY_AND_ASSIGN(Parser); | 873 DISALLOW_COPY_AND_ASSIGN(Parser); |
866 }; | 874 }; |
867 | 875 |
868 } // namespace dart | 876 } // namespace dart |
869 | 877 |
870 #endif // VM_PARSER_H_ | 878 #endif // VM_PARSER_H_ |
OLD | NEW |