library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

static method optional_toplevel([core::List<core::int> x = #C1]) → void {}
static method named_toplevel({core::List<core::int> x = #C1}) → void {}
static method main() → dynamic {
  function optional_local([core::List<core::int> x = #C1]) → void {}
  function named_local({core::List<core::int> x = #C1}) → void {}
  ([core::List<core::int>]) → Null optional_closure = ([core::List<core::int> x = #C1]) → Null {};
  ({x: core::List<core::int>}) → Null name_closure = ({core::List<core::int> x = #C1}) → Null {};
}

constants  {
  #C1 = <core::int*>[]
}
