================================================================================
DotNet types with namespaces
================================================================================

table 123 TestTable 
{
    var
        ServerFileHelper: DotNet System.File;
        SearchOption: DotNet SearchOption;
        DirectoryInfo: DotNet System.IO.DirectoryInfo;
}

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

(source_file
  (table_declaration
    (table_keyword)
    object_id: (integer)
    object_name: (identifier)
    (var_section
      (var_keyword)
      (variable_declaration
        name: (identifier)
        type: (type_specification
          (dotnet_type
            (dotnet_keyword)
            reference: (identifier)
            reference: (identifier))))
      (variable_declaration
        name: (identifier)
        type: (type_specification
          (dotnet_type
            (dotnet_keyword)
            reference: (identifier))))
      (variable_declaration
        name: (identifier)
        type: (type_specification
          (dotnet_type
            (dotnet_keyword)
            reference: (identifier)
            reference: (identifier)
            reference: (identifier)))))))

================================================================================
DotNet types in field declarations
================================================================================

table 456 TestTable2 
{
    fields
    {
        field(1; HelperRef; DotNet System.Web.HttpContext)
        {
            Caption = 'Helper Reference';
        }
    }
}

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

(source_file
  (table_declaration
    (table_keyword)
    object_id: (integer)
    object_name: (identifier)
    (fields_section
      (fields_keyword)
      (field_declaration
        id: (integer)
        name: (identifier)
        type: (type_specification
          (dotnet_type
            (dotnet_keyword)
            reference: (identifier)
            reference: (identifier)
            reference: (identifier)))
        (property
          name: (property_name)
          value: (string_literal))))))

================================================================================
Multiple DotNet namespace levels
================================================================================

codeunit 789 TestCodeunit
{
    var
        DeepNamespace: DotNet Microsoft.Win32.Registry;
        VeryDeep: DotNet System.Collections.Generic.List;
}

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

(source_file
  (codeunit_declaration
    (codeunit_keyword)
    object_id: (integer)
    object_name: (identifier)
    (var_section
      (var_keyword)
      (variable_declaration
        name: (identifier)
        type: (type_specification
          (dotnet_type
            (dotnet_keyword)
            reference: (identifier)
            reference: (identifier)
            reference: (identifier))))
      (variable_declaration
        name: (identifier)
        type: (type_specification
          (dotnet_type
            (dotnet_keyword)
            reference: (identifier)
            reference: (identifier)
            reference: (identifier)
            reference: (identifier)))))))
