================================================================================
Class with bodyless properties
================================================================================

class Foo {
  byte Get { get; }
  char Set { set; }
  uint GetSet { get; set; }
  long SetGet { set; get; }

  public string FirstName { get; init; }

  byte Get { get { return 0xFF; } }
  char Set { set { x = value; } }
}

class Foo {
  uint GetSet {
    get { return x; }
    set { x = value; }
  }
  long SetGet {
    set { x = value; }
    get { return x; }
  }

  byte Get { get; } = 0x00;
  uint GetSet { get; set; } = 1;
  long SetGet { set; get; } = 2;
}

class Foo: IFoo {
  byte IFoo.Get { get; }
  public required int B { get; set; }
}

--------------------------------------------------------------------------------

(compilation_unit
  (class_declaration
    name: (identifier)
    body: (declaration_list
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)
          (accessor_declaration)))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)
          (accessor_declaration)))
      (property_declaration
        (modifier)
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)
          (accessor_declaration)))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration
            body: (block
              (return_statement
                (integer_literal))))))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration
            body: (block
              (expression_statement
                (assignment_expression
                  left: (identifier)
                  right: (identifier)))))))))
  (class_declaration
    name: (identifier)
    body: (declaration_list
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration
            body: (block
              (return_statement
                (identifier))))
          (accessor_declaration
            body: (block
              (expression_statement
                (assignment_expression
                  left: (identifier)
                  right: (identifier)))))))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration
            body: (block
              (expression_statement
                (assignment_expression
                  left: (identifier)
                  right: (identifier)))))
          (accessor_declaration
            body: (block
              (return_statement
                (identifier))))))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration))
        value: (integer_literal))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)
          (accessor_declaration))
        value: (integer_literal))
      (property_declaration
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)
          (accessor_declaration))
        value: (integer_literal))))
  (class_declaration
    name: (identifier)
    (base_list
      (identifier))
    body: (declaration_list
      (property_declaration
        type: (predefined_type)
        (explicit_interface_specifier
          (identifier))
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)))
      (property_declaration
        (modifier)
        (modifier)
        type: (predefined_type)
        name: (identifier)
        accessors: (accessor_list
          (accessor_declaration)
          (accessor_declaration))))))
