==================
Generic named constructor (not relational)
==================

void main() {
  List<int>.generate(8, (i) => i);
}

---

(program
  (function_signature
    (void_type)
    (identifier)
    (formal_parameter_list))
  (function_body
    (block
      (expression_statement
        (postfix_expression
          (constructor_invocation
            (type_identifier)
            (type_arguments
              (type_identifier))
            (identifier)
            (arguments
              (argument
                (decimal_integer_literal))
              (argument
                (function_expression
                  (formal_parameter_list
                    (formal_parameter
                      (identifier)))
                  (function_expression_body
                    (identifier)))))))))))

==================
Indexed constructor invocation as an assignment target
==================

void main() {
  List<int>.filled(3, 0)[0] = 1;
}

---

(program
  (function_signature
    (void_type)
    (identifier)
    (formal_parameter_list))
  (function_body
    (block
      (expression_statement
        (assignment_expression
          (assignable_expression
            (constructor_invocation
              (type_identifier)
              (type_arguments
                (type_identifier))
              (identifier)
              (arguments
                (argument
                  (decimal_integer_literal))
                (argument
                  (decimal_integer_literal))))
            (unconditional_assignable_selector
              (index_selector
                (decimal_integer_literal))))
          (assignment_operator)
          (decimal_integer_literal))))))
