========================================================================
Page extension with addfirst layout modification
========================================================================

pageextension 50100 MyExt extends "Customer Card"
{
    layout
    {
        addfirst(Content)
        {
            field(MyField; Rec.MyField)
            {
            }
        }
    }
}

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

(source_file
  (pageextension_declaration
    (pageextension_keyword)
    object_id: (integer)
    object_name: (identifier)
    (extends_keyword)
    base_object: (quoted_identifier)
    (layout_section
      (layout_keyword)
      (addfirst_modification
        target: (identifier)
        (page_field
          name: (identifier)
          source: (member_expression
            object: (identifier)
            member: (identifier)))))))

========================================================================
Page extension with addafter layout modification
========================================================================

pageextension 50100 MyExt extends "Customer Card"
{
    layout
    {
        addafter("No.")
        {
            field(MyField; Rec.MyField)
            {
            }
        }
    }
}

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

(source_file
  (pageextension_declaration
    (pageextension_keyword)
    object_id: (integer)
    object_name: (identifier)
    (extends_keyword)
    base_object: (quoted_identifier)
    (layout_section
      (layout_keyword)
      (addafter_modification
        target: (quoted_identifier)
        (page_field
          name: (identifier)
          source: (member_expression
            object: (identifier)
            member: (identifier)))))))

========================================================================
Page extension with modify layout modification
========================================================================

pageextension 50100 MyExt extends "Customer Card"
{
    layout
    {
        modify("Name")
        {
        }
    }
}

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

(source_file
  (pageextension_declaration
    (pageextension_keyword)
    object_id: (integer)
    object_name: (identifier)
    (extends_keyword)
    base_object: (quoted_identifier)
    (layout_section
      (layout_keyword)
      (modify_modification
        target: (quoted_identifier)))))

========================================================================
Page extension with move layout modification
========================================================================

pageextension 50100 MyExt extends "Customer Card"
{
    layout
    {
        movefirst(Content; "No.")
        movelast(Content; "Name")
    }
}

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

(source_file
  (pageextension_declaration
    (pageextension_keyword)
    object_id: (integer)
    object_name: (identifier)
    (extends_keyword)
    base_object: (quoted_identifier)
    (layout_section
      (layout_keyword)
      (movefirst_modification
        target: (identifier)
        element: (quoted_identifier))
      (movelast_modification
        target: (identifier)
        element: (quoted_identifier)))))

========================================================================
Page extension with addfirst action modification
========================================================================

pageextension 50100 MyExt extends "Customer Card"
{
    actions
    {
        addfirst(Processing)
        {
            action(MyAction)
            {
            }
        }
    }
}

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

(source_file
  (pageextension_declaration
    (pageextension_keyword)
    object_id: (integer)
    object_name: (identifier)
    (extends_keyword)
    base_object: (quoted_identifier)
    (actions_section
      (actions_keyword)
      (addfirst_action_modification
        target: (identifier)
        (action_declaration
          name: (identifier))))))

========================================================================
Page extension with modify action
========================================================================

pageextension 50100 MyExt extends "Customer Card"
{
    actions
    {
        modify(MyAction)
        {
        }
    }
}

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

(source_file
  (pageextension_declaration
    (pageextension_keyword)
    object_id: (integer)
    object_name: (identifier)
    (extends_keyword)
    base_object: (quoted_identifier)
    (actions_section
      (actions_keyword)
      (modify_action_modification
        target: (identifier)))))
