code: private Visibility checkPrivateNameConvention(Visibility v, Node name) {
      if (isPrivateByConvention(name.getString())) {
        if (v != Visibility.PRIVATE && v != Visibility.INHERITED) {
          compiler.report(JSError.make(name, CONVENTION_MISMATCH));
        }
        return Visibility.PRIVATE;
      }
      return v;
    }
docs: Returns the effective visibility of the given name, reporting an error
  if there is a contradiction in the various sources of visibility
  (example: a variable with a trailing underscore that is declared
  {@code @public}).