import 'dart:async';

List? s7;
final s1 = [];
final s10 = s7.length;
final s11 = s7.length = 0;
final s12 = -s5;
final s14 = (s13)();
final s15 = throw null;
final s2 = s1?.length;
final s3 = new List<int>.filled(2, null);
final s4 = () {
  var e = 0;
  switch (e) {
    case 0:
      print('fallthrough');
    case 1:
    case '':
  }
}();
final s6 = s5 + 0;
final s8 = s7[0];
final s9 = s7[0] = 0;
final t = StreamTransformer.fromHandlers(
    handleData: (data, sink) => Future.microtask(() => sink.add(data)),
    handleDone: (sink) => Future.microtask(() => sink.close()));
int? s5;
int Function()? s13;
void main() {}
