import 'dart:async';

main() {}

methodCompound() {}

methodConditional<T>(bool b, T value) {}

methodDirect<T>(T value) {}

var fieldCompound = () {
  late final int local4;
  local4 = 0;
  local4 += 0;
};

var fieldConditional = <T>(bool b, T value) {
  late final T local2;
  late final int local4;
  late final FutureOr<int> local6;
  if (b) {
    local2 = value;
    local4 = 0;
    local6 = 0;
  }
  local2 = value;
  local4 = 0;
  local6 = 0;
  local2 = value;
  local4 = 0;
  local6 = 0;
};

var fieldDirect = <T>(T value) {
  late final T local2;
  late final int local4;
  late final FutureOr<int> local6;
  local2 = value;
  local4 = 0;
  local6 = 0;
  local2 = value;
  local4 = 0;
  local6 = 0;
};
