==================
Bare field access stays a flat selector chain
==================

void main() {
  hello.greet;
}

---

(program
  (function_signature
    (void_type)
    (identifier)
    (formal_parameter_list))
  (function_body
    (block
      (expression_statement
        (identifier)
        (selector
          (unconditional_assignable_selector
            (identifier)))))))

==================
Field access after a call stays a flat selector chain
==================

void main() {
  obj.a().b;
}

---

(program
  (function_signature
    (void_type)
    (identifier)
    (formal_parameter_list))
  (function_body
    (block
      (expression_statement
        (identifier)
        (selector
          (unconditional_assignable_selector
            (identifier)))
        (selector
          (argument_part
            (arguments)))
        (selector
          (unconditional_assignable_selector
            (identifier)))))))
