// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// @dart = 2.9

/*library: scope=[ShownExtension3]*/

/*class: ShownExtension3:
 builder-name=ShownExtension3,
 builder-onType=String,
 extension-members=[static staticMethod=ShownExtension3|staticMethod],
 extension-name=ShownExtension3,
 extension-onType=String
*/
extension ShownExtension3 on String {
  /*member: ShownExtension3|staticMethod:
   builder-name=staticMethod,
   member-name=ShownExtension3|staticMethod
  */
  static void staticMethod() {}
}
