library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/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/general/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 {}
