//
// Problems in component:
//
// pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart:5:18: Error: Constant evaluation error:
// main(arguments = [x]) {
//                  ^
// pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart:5:18: Context: Can't have a non-constant List literal within a const context.
// main(arguments = [x]) {
//                  ^
// pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart:5:6: Context: While analyzing:
// main(arguments = [x]) {
//      ^
//
library;
//
// Problems in library:
//
// pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart:5:16: Error: Non-optional parameters can't have a default value.
// Try removing the default value or making the parameter optional.
// main(arguments = [x]) {
//                ^
//
// pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart:5:19: Error: Getter not found: 'x'.
// main(arguments = [x]) {
//                   ^
//
import self as self;

static method main(dynamic arguments = invalid-expression "Can't have a non-constant List literal within a const context.") → dynamic {}
