[ VM / dart:mirrors ] Mark private members of dart:* as non-reflectable (Issue #34194).

Change-Id: If3d79955c7bd336a54e3716d22e1c3c8ee2e07ee
Reviewed-on: https://dart-review.googlesource.com/72141
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
diff --git a/runtime/vm/kernel_loader.cc b/runtime/vm/kernel_loader.cc
index 17f062d..a7dd4cd 100644
--- a/runtime/vm/kernel_loader.cc
+++ b/runtime/vm/kernel_loader.cc
@@ -1385,6 +1385,12 @@
                               true,   // is_method
                               false,  // is_closure
                               &function_node_helper);
+
+    if (library.is_dart_scheme() &&
+        H.IsPrivate(constructor_helper.canonical_name_)) {
+      function.set_is_reflectable(false);
+    }
+
     if (constructor_helper.IsSynthetic()) {
       function.set_is_debuggable(false);
     }
@@ -1603,8 +1609,11 @@
     expression_evaluation_function_ = function.raw();
   }
   function.set_kernel_offset(procedure_offset);
-  function.set_is_reflectable(function.is_reflectable() &&
-                              library.raw() != Library::InternalLibrary());
+  if ((library.is_dart_scheme() &&
+       H.IsPrivate(procedure_helper.canonical_name_)) ||
+      (function.is_static() && (library.raw() == Library::InternalLibrary()))) {
+    function.set_is_reflectable(false);
+  }
 
   ActiveMemberScope active_member(&active_class_, &function);