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

static method main() → dynamic {
  for (final dynamic #t1 = let dynamic _ = null in invalid-expression "pkg/front_end/testcases/rasta/issue_000042.dart:6:8: Error: A for-loop can't have more than one loop variable.
  for (var x, y in []) {}
       ^^^" in <dynamic>[]) {
  }
  #L1:
  {
    invalid-statement;
  }
  #L2:
  if(true) {
    invalid-statement;
  }
  #L3:
  switch(1) {
    #L4:
    case 1:
      invalid-statement;
    #L3:
    case 2:
      {
        break #L3;
      }
  }
  try {
  }
  on core::NoSuchMethodError catch(no-exception-var) {
  }
}
