library;
//
// Problems in library:
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:9:3: Error: Method not found: 'z'.
//   z("Hello, World!");
//   ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:10:3: Error: Getter not found: 'z'.
//   z.print("Hello, World!");
//   ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:11:3: Error: Getter not found: 'y'.
//   y.z.print("Hello, World!");
//   ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:12:3: Error: Getter not found: 'x'.
//   x.y.z.print("Hello, World!");
//   ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:16:7: Error: Method not found: 'z'.
//       z("Hello, World!") +
//       ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:17:7: Error: Getter not found: 'z'.
//       z.print("Hello, World!") +
//       ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:18:7: Error: Getter not found: 'y'.
//       y.z.print("Hello, World!") +
//       ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:19:7: Error: Getter not found: 'x'.
//       x.y.z.print("Hello, World!");
//       ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:15:7: Error: This expression has type 'void' and can't be used.
//       print("Hello, World!") +
//       ^
//
import self as self;
import "dart:core" as core;

static method main() → dynamic {
  core::print("Hello, World!");
  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:9:3: Error: Method not found: 'z'.
  z(\"Hello, World!\");
  ^";
  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:10:3: Error: Getter not found: 'z'.
  z.print(\"Hello, World!\");
  ^".print("Hello, World!");
  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:11:3: Error: Getter not found: 'y'.
  y.z.print(\"Hello, World!\");
  ^".z.print("Hello, World!");
  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:12:3: Error: Getter not found: 'x'.
  x.y.z.print(\"Hello, World!\");
  ^".y.z.print("Hello, World!");
  1.{core::num::+}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:15:7: Error: This expression has type 'void' and can't be used.
      print(\"Hello, World!\") +
      ^" in core::print("Hello, World!")).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:16:7: Error: Method not found: 'z'.
      z(\"Hello, World!\") +
      ^" as{TypeError,ForDynamic} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:17:7: Error: Getter not found: 'z'.
      z.print(\"Hello, World!\") +
      ^".print("Hello, World!") as{TypeError,ForDynamic} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:18:7: Error: Getter not found: 'y'.
      y.z.print(\"Hello, World!\") +
      ^".z.print("Hello, World!") as{TypeError,ForDynamic} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:19:7: Error: Getter not found: 'x'.
      x.y.z.print(\"Hello, World!\");
      ^".y.z.print("Hello, World!") as{TypeError,ForDynamic} core::num);
}
