================================================================================
json.decode call
================================================================================
json.decode([]User, data)
--------------------------------------------------------------------------------

(source_file
  (simple_statement
    (call_expression
      (special_argument_list
        (plain_type
          (array_type
            (plain_type
              (type_reference_expression
                (identifier)))))
        (reference_expression
          (identifier))))))

================================================================================
json.decode call with propagate
================================================================================
json.decode([]User, data)!
--------------------------------------------------------------------------------

(source_file
  (simple_statement
    (result_propagation_expression
      (call_expression
        (special_argument_list
          (plain_type
            (array_type
              (plain_type
                (type_reference_expression
                  (identifier)))))
          (reference_expression
            (identifier)))))))

================================================================================
json.decode call with or block
================================================================================
json.decode([]User, data) or {
    return
}
--------------------------------------------------------------------------------

(source_file
  (simple_statement
    (or_block_expression
      (call_expression
        (special_argument_list
          (plain_type
            (array_type
              (plain_type
                (type_reference_expression
                  (identifier)))))
          (reference_expression
            (identifier))))
      (or_block
        (block
          (return_statement))))))
