// @dart = 2.9
class Callable {
  call(x) {}
}

class CallableGetter {
  get call => new Callable();
}

main() {}
var closure = (x) => x;
var int1 = closure(1);
var int2 = closure.call(1);
var int3 = closure.call.call(1);
var int4 = closure.call.call.call(1);
var callable = new Callable();
var string1 = callable(1);
var string2 = callable.call(1);
var string3 = callable.call.call(1);
var string4 = callable.call.call.call(1);
var callableGetter = new CallableGetter();
var string5 = callableGetter(1);
var string6 = callableGetter.call(1);
var string7 = callableGetter.call.call(1);
var string8 = callableGetter.call.call.call(1);
var nothing1 = closure();
var nothing2 = closure.call();
var nothing3 = closure.call.call();
var nothing4 = closure.call.call.call();
var nothing5 = callable();
var nothing6 = callable.call();
var nothing7 = callable.call.call();
var nothing8 = callable.call.call.call();
var nothing9 = callableGetter();
var nothing10 = callableGetter.call();
var nothing11 = callableGetter.call.call();
var nothing12 = callableGetter.call.call.call();
