library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:1: Error: Expected a declaration, but got '('.
// () async => a b < c $? >
// ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:2: Error: Expected a declaration, but got ')'.
// () async => a b < c $? >
//  ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:4: Error: A function declaration needs an explicit list of parameters.
// Try adding a parameter list to the function declaration.
// () async => a b < c $? >
//    ^^^^^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Expected '>' after this.
// () async => a b < c $? >
//                   ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected an identifier, but got ''.
// () async => a b < c $? >
//                         ^...
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected ';' after this.
// () async => a b < c $? >
//                         ^...
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Type 'c' not found.
// () async => a b < c $? >
//                   ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Type 'b' not found.
// () async => a b < c $? >
//               ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Expected 0 type arguments.
// () async => a b < c $? >
//               ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Expected ';' after this.
// () async => a b < c $? >
//             ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
// () async => a b < c $? >
//             ^
//
// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Unexpected token 'b'.
// () async => a b < c $? >
//               ^
//
import self as self;

static method async() → dynamic
  return invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
() async => a b < c \$? >
            ^";
