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

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

---

(program
  (function_declaration
    (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_declaration
    (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)))))))
