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;
};
