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

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

Issue 246173002: Revert "Mark private functions in dart:* that are native or constructors as not visible (omitted fr… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/parser.h ('k') | runtime/vm/raw_object.h » ('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 #include "vm/parser.h" 5 #include "vm/parser.h"
6 6
7 #include "lib/invocation_mirror.h" 7 #include "lib/invocation_mirror.h"
8 #include "platform/utils.h" 8 #include "platform/utils.h"
9 #include "vm/bootstrap.h" 9 #include "vm/bootstrap.h"
10 #include "vm/class_finalizer.h" 10 #include "vm/class_finalizer.h"
(...skipping 3378 matching lines...) Expand 10 before | Expand all | Expand 10 after
3389 method->has_static, 3389 method->has_static,
3390 method->has_const, 3390 method->has_const,
3391 method->has_abstract, 3391 method->has_abstract,
3392 method->has_external, 3392 method->has_external,
3393 method->has_native, 3393 method->has_native,
3394 current_class(), 3394 current_class(),
3395 method->decl_begin_pos)); 3395 method->decl_begin_pos));
3396 func.set_result_type(*method->type); 3396 func.set_result_type(*method->type);
3397 func.set_end_token_pos(method_end_pos); 3397 func.set_end_token_pos(method_end_pos);
3398 func.set_is_redirecting(is_redirecting); 3398 func.set_is_redirecting(is_redirecting);
3399 if (method->has_native && library_.is_dart_scheme() &&
3400 library_.IsPrivate(*method->name)) {
3401 func.set_is_visible(false);
3402 }
3403 if (method->IsFactoryOrConstructor() && library_.is_dart_scheme() &&
3404 library_.IsPrivate(*method->name)) {
3405 func.set_is_visible(false);
3406 }
3407 if (method->metadata_pos > 0) { 3399 if (method->metadata_pos > 0) {
3408 library_.AddFunctionMetadata(func, method->metadata_pos); 3400 library_.AddFunctionMetadata(func, method->metadata_pos);
3409 } 3401 }
3410 3402
3411 // If this method is a redirecting factory, set the redirection information. 3403 // If this method is a redirecting factory, set the redirection information.
3412 if (!redirection_type.IsNull()) { 3404 if (!redirection_type.IsNull()) {
3413 ASSERT(func.IsFactory()); 3405 ASSERT(func.IsFactory());
3414 func.SetRedirectionType(redirection_type); 3406 func.SetRedirectionType(redirection_type);
3415 if (!redirection_identifier.IsNull()) { 3407 if (!redirection_identifier.IsNull()) {
3416 func.SetRedirectionIdentifier(redirection_identifier); 3408 func.SetRedirectionIdentifier(redirection_identifier);
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
4082 Function::New(ctor_name, 4074 Function::New(ctor_name,
4083 RawFunction::kConstructor, 4075 RawFunction::kConstructor,
4084 /* is_static = */ false, 4076 /* is_static = */ false,
4085 /* is_const = */ false, 4077 /* is_const = */ false,
4086 /* is_abstract = */ false, 4078 /* is_abstract = */ false,
4087 /* is_external = */ false, 4079 /* is_external = */ false,
4088 /* is_native = */ false, 4080 /* is_native = */ false,
4089 cls, 4081 cls,
4090 cls.token_pos())); 4082 cls.token_pos()));
4091 ctor.set_end_token_pos(ctor.token_pos()); 4083 ctor.set_end_token_pos(ctor.token_pos());
4092 if (library_.is_dart_scheme() && library_.IsPrivate(ctor_name)) {
4093 ctor.set_is_visible(false);
4094 }
4095 4084
4096 ParamList params; 4085 ParamList params;
4097 // Add implicit 'this' parameter. 4086 // Add implicit 'this' parameter.
4098 const AbstractType* receiver_type = ReceiverType(cls); 4087 const AbstractType* receiver_type = ReceiverType(cls);
4099 params.AddReceiver(receiver_type, cls.token_pos()); 4088 params.AddReceiver(receiver_type, cls.token_pos());
4100 // Add implicit parameter for construction phase. 4089 // Add implicit parameter for construction phase.
4101 params.AddFinalParameter(cls.token_pos(), 4090 params.AddFinalParameter(cls.token_pos(),
4102 &Symbols::PhaseParameter(), 4091 &Symbols::PhaseParameter(),
4103 &Type::ZoneHandle(Type::SmiType())); 4092 &Type::ZoneHandle(Type::SmiType()));
4104 4093
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
4761 RawFunction::kRegularFunction, 4750 RawFunction::kRegularFunction,
4762 is_static, 4751 is_static,
4763 /* is_const = */ false, 4752 /* is_const = */ false,
4764 /* is_abstract = */ false, 4753 /* is_abstract = */ false,
4765 is_external, 4754 is_external,
4766 is_native, 4755 is_native,
4767 current_class(), 4756 current_class(),
4768 decl_begin_pos)); 4757 decl_begin_pos));
4769 func.set_result_type(result_type); 4758 func.set_result_type(result_type);
4770 func.set_end_token_pos(function_end_pos); 4759 func.set_end_token_pos(function_end_pos);
4771 if (is_native && library_.is_dart_scheme() && library_.IsPrivate(func_name)) {
4772 func.set_is_visible(false);
4773 }
4774 AddFormalParamsToFunction(&params, func); 4760 AddFormalParamsToFunction(&params, func);
4775 top_level->functions.Add(func); 4761 top_level->functions.Add(func);
4776 if (!is_patch) { 4762 if (!is_patch) {
4777 library_.AddObject(func, func_name); 4763 library_.AddObject(func, func_name);
4778 } else { 4764 } else {
4779 library_.ReplaceObject(func, func_name); 4765 library_.ReplaceObject(func, func_name);
4780 } 4766 }
4781 if (metadata_pos >= 0) { 4767 if (metadata_pos >= 0) {
4782 library_.AddFunctionMetadata(func, metadata_pos); 4768 library_.AddFunctionMetadata(func, metadata_pos);
4783 } 4769 }
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
4898 RawFunction::kSetterFunction, 4884 RawFunction::kSetterFunction,
4899 is_static, 4885 is_static,
4900 /* is_const = */ false, 4886 /* is_const = */ false,
4901 /* is_abstract = */ false, 4887 /* is_abstract = */ false,
4902 is_external, 4888 is_external,
4903 is_native, 4889 is_native,
4904 current_class(), 4890 current_class(),
4905 decl_begin_pos)); 4891 decl_begin_pos));
4906 func.set_result_type(result_type); 4892 func.set_result_type(result_type);
4907 func.set_end_token_pos(accessor_end_pos); 4893 func.set_end_token_pos(accessor_end_pos);
4908 if (is_native && library_.is_dart_scheme() &&
4909 library_.IsPrivate(accessor_name)) {
4910 func.set_is_visible(false);
4911 }
4912 AddFormalParamsToFunction(&params, func); 4894 AddFormalParamsToFunction(&params, func);
4913 top_level->functions.Add(func); 4895 top_level->functions.Add(func);
4914 if (!is_patch) { 4896 if (!is_patch) {
4915 library_.AddObject(func, accessor_name); 4897 library_.AddObject(func, accessor_name);
4916 } else { 4898 } else {
4917 library_.ReplaceObject(func, accessor_name); 4899 library_.ReplaceObject(func, accessor_name);
4918 } 4900 }
4919 if (metadata_pos >= 0) { 4901 if (metadata_pos >= 0) {
4920 library_.AddFunctionMetadata(func, metadata_pos); 4902 library_.AddFunctionMetadata(func, metadata_pos);
4921 } 4903 }
(...skipping 6030 matching lines...) Expand 10 before | Expand all | Expand 10 after
10952 void Parser::SkipQualIdent() { 10934 void Parser::SkipQualIdent() {
10953 ASSERT(IsIdentifier()); 10935 ASSERT(IsIdentifier());
10954 ConsumeToken(); 10936 ConsumeToken();
10955 if (CurrentToken() == Token::kPERIOD) { 10937 if (CurrentToken() == Token::kPERIOD) {
10956 ConsumeToken(); // Consume the kPERIOD token. 10938 ConsumeToken(); // Consume the kPERIOD token.
10957 ExpectIdentifier("identifier expected after '.'"); 10939 ExpectIdentifier("identifier expected after '.'");
10958 } 10940 }
10959 } 10941 }
10960 10942
10961 } // namespace dart 10943 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/parser.h ('k') | runtime/vm/raw_object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698