library;
import self as self;
import "dart:core" as core;

static method main() → dynamic {
  core::print("Hello, World!");
  invalid-expression "pkg/front_end/testcases/invocations.dart:7:3: Error: Method not found: 'z'.
  z(\"Hello, World!\");
  ^";
  invalid-expression "pkg/front_end/testcases/invocations.dart:8:3: Error: Getter not found: 'z'.
  z.print(\"Hello, World!\");
  ^".print("Hello, World!");
  invalid-expression "pkg/front_end/testcases/invocations.dart:9:3: Error: Getter not found: 'y'.
  y.z.print(\"Hello, World!\");
  ^".z.print("Hello, World!");
  invalid-expression "pkg/front_end/testcases/invocations.dart:10: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/invocations.dart:13: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/invocations.dart:14:7: Error: Method not found: 'z'.
      z(\"Hello, World!\") +
      ^" as{TypeError} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/invocations.dart:15:7: Error: Getter not found: 'z'.
      z.print(\"Hello, World!\") +
      ^".print("Hello, World!") as{TypeError} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/invocations.dart:16:7: Error: Getter not found: 'y'.
      y.z.print(\"Hello, World!\") +
      ^".z.print("Hello, World!") as{TypeError} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/invocations.dart:17:7: Error: Getter not found: 'x'.
      x.y.z.print(\"Hello, World!\");
      ^".y.z.print("Hello, World!") as{TypeError} core::num);
}
