library;
//
// Problems in library:
//
// pkg/front_end/testcases/issue37027.dart:6:46: Error: Unexpected token 'if'.
//   C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
//                                              ^^
//
// pkg/front_end/testcases/issue37027.dart:6:27: Error: Unexpected token 'for'.
//   C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
//                           ^^^
//
import self as self;
import "dart:core" as core;

class C extends core::Object {
  final field core::Set<core::int> s;
  constructor •(core::List<core::int> ell) → self::C
    : self::C::s = <dynamic, dynamic>{}, super core::Object::•()
    ;
}
static method main() → dynamic {}
