Chromium Code Reviews| Index: runtime/vm/parser.cc |
| diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc |
| index 73cee00290ac69ebd3edcca48cb7536836d3b06d..8c495d3c3584f0a3efcac47fbfff43fdc6801510 100644 |
| --- a/runtime/vm/parser.cc |
| +++ b/runtime/vm/parser.cc |
| @@ -3396,6 +3396,14 @@ void Parser::ParseMethodOrConstructor(ClassDesc* members, MemberDesc* method) { |
| func.set_result_type(*method->type); |
| func.set_end_token_pos(method_end_pos); |
| func.set_is_redirecting(is_redirecting); |
| + if (method->has_native && library_.is_dart_scheme() && |
| + library_.IsPrivate(*method->name)) { |
| + func.set_is_visible(false); |
| + } |
| + if (method->IsFactoryOrConstructor() && library_.is_dart_scheme() && |
| + library_.IsPrivate(*method->name)) { |
| + func.set_is_visible(false); |
| + } |
| if (method->metadata_pos > 0) { |
| library_.AddFunctionMetadata(func, method->metadata_pos); |
| } |
| @@ -4081,6 +4089,9 @@ void Parser::AddImplicitConstructor(const Class& cls) { |
| cls, |
| cls.token_pos())); |
| ctor.set_end_token_pos(ctor.token_pos()); |
| + if (library_.is_dart_scheme() && library_.IsPrivate(ctor_name)) { |
|
Ivan Posva
2014/04/21 21:18:21
Please clarify that this hides implicit constructo
rmacnak
2014/04/21 23:13:08
Yes. Combined with the case above for declared con
|
| + ctor.set_is_visible(false); |
| + } |
| ParamList params; |
| // Add implicit 'this' parameter. |
| @@ -4757,6 +4768,9 @@ void Parser::ParseTopLevelFunction(TopLevel* top_level, |
| decl_begin_pos)); |
| func.set_result_type(result_type); |
| func.set_end_token_pos(function_end_pos); |
| + if (is_native && library_.is_dart_scheme() && library_.IsPrivate(func_name)) { |
| + func.set_is_visible(false); |
| + } |
| AddFormalParamsToFunction(¶ms, func); |
| top_level->functions.Add(func); |
| if (!is_patch) { |
| @@ -4891,6 +4905,10 @@ void Parser::ParseTopLevelAccessor(TopLevel* top_level, |
| decl_begin_pos)); |
| func.set_result_type(result_type); |
| func.set_end_token_pos(accessor_end_pos); |
| + if (is_native && library_.is_dart_scheme() && |
| + library_.IsPrivate(accessor_name)) { |
| + func.set_is_visible(false); |
| + } |
| AddFormalParamsToFunction(¶ms, func); |
| top_level->functions.Add(func); |
| if (!is_patch) { |