home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gnat-2.06-src.tgz / tar.out / fsf / gnat / ada / a-einfo.h < prev    next >
Text File  |  1996-09-28  |  38KB  |  1,132 lines

  1. /*--------------------------------------------------------------------------*/
  2. /*                                                                          */
  3. /*                         GNAT COMPILER COMPONENTS                         */
  4. /*                                                                          */
  5. /*                                E I N F O                                 */
  6. /*                                                                          */
  7. /*                              C Header File                               */
  8. /*                                                                          */
  9. /*                 Generated by xeinfo revision 1.19 using                  */
  10. /*                         einfo.ads revision 1.335                         */
  11. /*                         einfo.adb revision 1.334                         */
  12. /*                                                                          */
  13. /*        Copyright (c) 1992,1993,1994,1995 NYU, All Rights Reserved        */
  14. /*                                                                          */
  15. /* The GNAT library is free software; you can redistribute it and/or modify */
  16. /* it under terms of the GNU Library General Public License as published by */
  17. /* the Free Software  Foundation; either version 2, or (at your option) any */
  18. /* later version.  The GNAT library is distributed in the hope that it will */
  19. /* be useful, but WITHOUT ANY WARRANTY;  without even  the implied warranty */
  20. /* of MERCHANTABILITY  or  FITNESS FOR  A PARTICULAR PURPOSE.  See the  GNU */
  21. /* Library  General  Public  License for  more  details.  You  should  have */
  22. /* received  a copy of the GNU  Library  General Public License  along with */
  23. /* the GNAT library;  see the file  COPYING.LIB.  If not, write to the Free */
  24. /* Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.        */
  25. /*                                                                          */
  26. /*--------------------------------------------------------------------------*/
  27.  
  28.    #define E_Void                           0
  29.    #define E_Variable                       1
  30.    #define E_Component                      2
  31.    #define E_Constant                       3
  32.    #define E_Discriminant                   4
  33.    #define E_In_Parameter                   5
  34.    #define E_Out_Parameter                  6
  35.    #define E_In_Out_Parameter               7
  36.    #define E_Named_Integer                  8
  37.    #define E_Named_Real                     9
  38.    #define E_Enumeration_Type               10
  39.    #define E_Enumeration_Subtype            11
  40.    #define E_Signed_Integer_Type            12
  41.    #define E_Signed_Integer_Subtype         13
  42.    #define E_Modular_Integer_Type           14
  43.    #define E_Modular_Integer_Subtype        15
  44.    #define E_Ordinary_Fixed_Point_Type      16
  45.    #define E_Ordinary_Fixed_Point_Subtype   17
  46.    #define E_Decimal_Fixed_Point_Type       18
  47.    #define E_Decimal_Fixed_Point_Subtype    19
  48.    #define E_Floating_Point_Type            20
  49.    #define E_Floating_Point_Subtype         21
  50.    #define E_Access_Type                    22
  51.    #define E_Access_Subtype                 23
  52.    #define E_Allocator_Type                 24
  53.    #define E_General_Access_Type            25
  54.    #define E_Access_Subprogram_Type         26
  55.    #define E_Anonymous_Access_Type          27
  56.    #define E_Array_Type                     28
  57.    #define E_Array_Subtype                  29
  58.    #define E_String_Type                    30
  59.    #define E_String_Subtype                 31
  60.    #define E_String_Literal_Subtype         32
  61.    #define E_Enum_Table_Type                33
  62.    #define E_Class_Wide_Type                34
  63.    #define E_Class_Wide_Subtype             35
  64.    #define E_Record_Type                    36
  65.    #define E_Record_Subtype                 37
  66.    #define E_Record_Type_With_Private       38
  67.    #define E_Record_Subtype_With_Private    39
  68.    #define E_Private_Type                   40
  69.    #define E_Private_Subtype                41
  70.    #define E_Limited_Private_Type           42
  71.    #define E_Limited_Private_Subtype        43
  72.    #define E_Limited_Type                   44
  73.    #define E_Incomplete_Type                45
  74.    #define E_Task_Type                      46
  75.    #define E_Task_Subtype                   47
  76.    #define E_Protected_Type                 48
  77.    #define E_Protected_Subtype              49
  78.    #define E_Exception_Type                 50
  79.    #define E_Subprogram_Type                51
  80.    #define E_Enumeration_Literal            52
  81.    #define E_Function                       53
  82.    #define E_Operator                       54
  83.    #define E_Procedure                      55
  84.    #define E_Entry                          56
  85.    #define E_Block                          57
  86.    #define E_Entry_Family                   58
  87.    #define E_Entry_Index_Parameter          59
  88.    #define E_Exception                      60
  89.    #define E_Generic_Function               61
  90.    #define E_Generic_In_Out_Parameter       62
  91.    #define E_Generic_In_Parameter           63
  92.    #define E_Generic_Package                64
  93.    #define E_Generic_Procedure              65
  94.    #define E_Label                          66
  95.    #define E_Loop                           67
  96.    #define E_Loop_Parameter                 68
  97.    #define E_Package                        69
  98.    #define E_Package_Body                   70
  99.    #define E_Protected_Object               71
  100.    #define E_Protected_Body                 72
  101.    #define E_Task_Body                      73
  102.    #define E_Subprogram_Body                74
  103.  
  104.    SUBTYPE (Access_Kind, Entity_Kind, 
  105.       E_Access_Type, E_Anonymous_Access_Type)
  106.  
  107.    SUBTYPE (Array_Kind, Entity_Kind, 
  108.       E_Array_Type, E_Enum_Table_Type)
  109.  
  110.    SUBTYPE (Class_Wide_Kind, Entity_Kind, 
  111.       E_Class_Wide_Type, E_Class_Wide_Subtype)
  112.  
  113.    SUBTYPE (Composite_Kind, Entity_Kind, 
  114.       E_Array_Type, E_Protected_Subtype)
  115.  
  116.    SUBTYPE (Concurrent_Kind, Entity_Kind, 
  117.       E_Task_Type, E_Protected_Subtype)
  118.  
  119.    SUBTYPE (Concurrent_Body_Kind, Entity_Kind, 
  120.       E_Protected_Body, E_Task_Body)
  121.  
  122.    SUBTYPE (Decimal_Fixed_Point_Kind, Entity_Kind, 
  123.       E_Decimal_Fixed_Point_Type, E_Decimal_Fixed_Point_Subtype)
  124.  
  125.    SUBTYPE (Digits_Kind, Entity_Kind, 
  126.       E_Decimal_Fixed_Point_Type, E_Floating_Point_Subtype)
  127.  
  128.    SUBTYPE (Discrete_Kind, Entity_Kind, 
  129.       E_Enumeration_Type, E_Modular_Integer_Subtype)
  130.  
  131.    SUBTYPE (Elementary_Kind, Entity_Kind, 
  132.       E_Enumeration_Type, E_Anonymous_Access_Type)
  133.  
  134.    SUBTYPE (Enumeration_Kind, Entity_Kind, 
  135.       E_Enumeration_Type, E_Enumeration_Subtype)
  136.  
  137.    SUBTYPE (Fixed_Point_Kind, Entity_Kind, 
  138.       E_Ordinary_Fixed_Point_Type, E_Decimal_Fixed_Point_Subtype)
  139.  
  140.    SUBTYPE (Float_Kind, Entity_Kind, 
  141.       E_Floating_Point_Type, E_Floating_Point_Subtype)
  142.  
  143.    SUBTYPE (Formal_Kind, Entity_Kind, 
  144.       E_In_Parameter, E_In_Out_Parameter)
  145.  
  146.    SUBTYPE (Incomplete_Or_Private_Kind, Entity_Kind, 
  147.       E_Record_Type_With_Private, E_Incomplete_Type)
  148.  
  149.    SUBTYPE (Integer_Kind, Entity_Kind, 
  150.       E_Signed_Integer_Type, E_Modular_Integer_Subtype)
  151.  
  152.    SUBTYPE (Modular_Integer_Kind, Entity_Kind, 
  153.       E_Modular_Integer_Type, E_Modular_Integer_Subtype)
  154.  
  155.    SUBTYPE (Named_Kind, Entity_Kind, 
  156.       E_Named_Integer, E_Named_Real)
  157.  
  158.    SUBTYPE (Numeric_Kind, Entity_Kind, 
  159.       E_Signed_Integer_Type, E_Floating_Point_Subtype)
  160.  
  161.    SUBTYPE (Object_Kind, Entity_Kind, 
  162.       E_Variable, E_In_Out_Parameter)
  163.  
  164.    SUBTYPE (Ordinary_Fixed_Point_Kind, Entity_Kind, 
  165.       E_Ordinary_Fixed_Point_Type, E_Ordinary_Fixed_Point_Subtype)
  166.  
  167.    SUBTYPE (Overloadable_Kind, Entity_Kind, 
  168.       E_Enumeration_Literal, E_Entry)
  169.  
  170.    SUBTYPE (Private_Kind, Entity_Kind, 
  171.       E_Record_Type_With_Private, E_Limited_Private_Subtype)
  172.  
  173.    SUBTYPE (Protected_Kind, Entity_Kind, 
  174.       E_Protected_Type, E_Protected_Subtype)
  175.  
  176.    SUBTYPE (Real_Kind, Entity_Kind, 
  177.       E_Ordinary_Fixed_Point_Type, E_Floating_Point_Subtype)
  178.  
  179.    SUBTYPE (Record_Kind, Entity_Kind, 
  180.       E_Class_Wide_Type, E_Record_Subtype_With_Private)
  181.  
  182.    SUBTYPE (Scalar_Kind, Entity_Kind, 
  183.       E_Enumeration_Type, E_Floating_Point_Subtype)
  184.  
  185.    SUBTYPE (String_Kind, Entity_Kind, 
  186.       E_String_Type, E_String_Literal_Subtype)
  187.  
  188.    SUBTYPE (Subprogram_Kind, Entity_Kind, 
  189.       E_Function, E_Procedure)
  190.  
  191.    SUBTYPE (Signed_Integer_Kind, Entity_Kind, 
  192.       E_Signed_Integer_Type, E_Signed_Integer_Subtype)
  193.  
  194.    SUBTYPE (Task_Kind, Entity_Kind, 
  195.       E_Task_Type, E_Task_Subtype)
  196.  
  197.    SUBTYPE (Type_Kind, Entity_Kind, 
  198.       E_Enumeration_Type, E_Subprogram_Type)
  199.  
  200.    typedef Boolean B;
  201.    typedef Entity_Id E;
  202.    typedef Node_Id N;
  203.    typedef Uint U;
  204.    typedef Ureal R;
  205.    typedef Elist_Id L;
  206.  
  207.    INLINE L Accept_Address                     (E Id);
  208.    INLINE E Access_Disp_Table                  (E Id);
  209.    INLINE E Actual_Subtype                     (E Id);
  210.    INLINE N Address_Clause                     (E Id);
  211.    INLINE E Alias                              (E Id);
  212.    INLINE N Alignment_Clause                   (E Id);
  213.    INLINE E Associated_Formal_Package          (E Id);
  214.    INLINE E Associated_Storage_Pool            (E Id);
  215.    INLINE E Associated_Final_Chain             (E Id);
  216.    INLINE N Barrier_Function                   (E Id);
  217.    INLINE E Class_Wide_Type                    (E Id);
  218.    INLINE N Component_Clause                   (E Id);
  219.    INLINE N Component_Size_Clause              (E Id);
  220.    INLINE E Component_Type                     (E Id);
  221.    INLINE U Component_First_Bit                (E Id);
  222.    INLINE E Corresponding_Concurrent_Type      (E Id);
  223.    INLINE E Corresponding_Discriminant         (E Id);
  224.    INLINE E Corresponding_Record_Type          (E Id);
  225.    INLINE N Default_Value                      (E Id);
  226.    INLINE R Delta_Value                        (E Id);
  227.    INLINE U Digits_Value                       (E Id);
  228.    INLINE E Directly_Designated_Type           (E Id);
  229.    INLINE B Discard_Names                      (E Id);
  230.    INLINE N Discriminal                        (E Id);
  231.    INLINE E Discriminant_Checking_Func         (E Id);
  232.    INLINE L Discriminant_Constraint            (E Id);
  233.    INLINE N Discriminant_Default_Value         (E Id);
  234.    INLINE E DTC_Entity                         (E Id);
  235.    INLINE U DT_Entry_Count                     (E Id);
  236.    INLINE U DT_Position                        (E Id);
  237.    INLINE E Entry_Bodies_Array                 (E Id);
  238.    INLINE E Entry_Component                    (E Id);
  239.    INLINE E Entry_Index_Constant               (E Id);
  240.    INLINE E Entry_Index_Type                   (E Id);
  241.    INLINE E Entry_Parameters_Type              (E Id);
  242.    INLINE U Enumeration_Pos                    (E Id);
  243.    INLINE U Enumeration_Rep                    (E Id);
  244.    INLINE N Enumeration_Rep_Expr               (E Id);
  245.    INLINE E Enum_Pos_To_Rep                    (E Id);
  246.    INLINE E Equivalent_Type                    (E Id);
  247.    INLINE U Esize                              (E Id);
  248.    INLINE E Finalization_Chain_Entity          (E Id);
  249.    INLINE E First_Entity                       (E Id);
  250.    INLINE N First_Index                        (E Id);
  251.    INLINE E First_Literal                      (E Id);
  252.    INLINE E First_Private_Entity               (E Id);
  253.    INLINE N Freeze_Node                        (E Id);
  254.    INLINE E Full_View                          (E Id);
  255.    INLINE B Has_Alignment_Clause               (E Id);
  256.    INLINE B Has_All_Calls_Remote               (E Id);
  257.    INLINE B Has_Atomic_Components              (E Id);
  258.    INLINE B Has_Completion                     (E Id);
  259.    INLINE B Has_Completion_In_Body             (E Id);
  260.    INLINE B Has_Component_Size_Clause          (E Id);
  261.    INLINE B Has_Controlled                     (E Id);
  262.    INLINE B Has_Controlling_Result             (E Id);
  263.    INLINE B Has_Delayed_Freeze                 (E Id);
  264.    INLINE B Has_Discriminants                  (E Id);
  265.    INLINE B Has_Enumeration_Rep_Clause         (E Id);
  266.    INLINE B Has_Exit                           (E Id);
  267.    INLINE B Has_Homonym                        (E Id);
  268.    INLINE B Has_Master_Entity                  (E Id);
  269.    INLINE B Has_Machine_Attribute              (E Id);
  270.    INLINE B Has_Machine_Radix_Clause           (E Id);
  271.    INLINE B Has_Nested_Block_With_Handler      (E Id);
  272.    INLINE B Has_Non_Standard_Rep               (E Id);
  273.    INLINE B Has_Pragma_Controlled              (E Id);
  274.    INLINE B Has_Record_Rep_Clause              (E Id);
  275.    INLINE B Has_Size_Clause                    (E Id);
  276.    INLINE B Has_Small_Clause                   (E Id);
  277.    INLINE B Has_Specified_Layout               (E Id);
  278.    INLINE B Has_Storage_Size_Clause            (E Id);
  279.    INLINE B Has_Tasks                          (E Id);
  280.    INLINE B Has_Unknown_Discriminants          (E Id);
  281.    INLINE B Has_U_Nominal_Subtype              (E Id);
  282.    INLINE B Has_Volatile_Components            (E Id);
  283.    INLINE B In_Package_Body                    (E Id);
  284.    INLINE B In_Private_Part                    (E Id);
  285.    INLINE B In_Use                             (E Id);
  286.    INLINE N Interface_Name                     (E Id);
  287.    INLINE B Is_Abstract                        (E Id);
  288.    INLINE B Is_Access_Constant                 (E Id);
  289.    INLINE B Is_Aliased                         (E Id);
  290.    INLINE B Is_Asynchronous                    (E Id);
  291.    INLINE B Is_Atomic                          (E Id);
  292.    INLINE B Is_Called                          (E Id);
  293.    INLINE B Is_Character_Type                  (E Id);
  294.    INLINE B Is_Constrained                     (E Id);
  295.    INLINE B Is_Constructor                     (E Id);
  296.    INLINE B Is_Controlled                      (E Id);
  297.    INLINE B Is_Controlling_Formal              (E Id);
  298.    INLINE B Is_CPP_Class                       (E Id);
  299.    INLINE B Is_Declared_In_Package_Body        (E Id);
  300.    INLINE B Is_Destructor                      (E Id);
  301.    INLINE B Is_Dispatching_Operation           (E Id);
  302.    INLINE B Is_Entry_Formal                    (E Id);
  303.    INLINE B Is_Exported                        (E Id);
  304.    INLINE B Is_First_Subtype                   (E Id);
  305.    INLINE B Is_Frozen                          (E Id);
  306.    INLINE B Is_Immediately_Visible             (E Id);
  307.    INLINE B Is_Imported                        (E Id);
  308.    INLINE B Is_Inlined                         (E Id);
  309.    INLINE B Is_Internal                        (E Id);
  310.    INLINE B Is_Interrupt_Handler               (E Id);
  311.    INLINE B Is_Intrinsic_Subprogram            (E Id);
  312.    INLINE B Is_Itype                           (E Id);
  313.    INLINE B Is_Named_Number                    (E Id);
  314.    INLINE B Is_Overloadable                    (E Id);
  315.    INLINE B Is_Packed                          (E Id);
  316.    INLINE B Is_Potentially_Use_Visible         (E Id);
  317.    INLINE B Is_Preelaborated                   (E Id);
  318.    INLINE B Is_Private                         (E Id);
  319.    INLINE B Is_Private_Descendant              (E Id);
  320.    INLINE B Is_Public                          (E Id);
  321.    INLINE B Is_Pure                            (E Id);
  322.    INLINE B Is_Remote_Call_Interface           (E Id);
  323.    INLINE B Is_Remote_Types                    (E Id);
  324.    INLINE B Is_Shared_Passive                  (E Id);
  325.    INLINE B Is_Subprogram                      (E Id);
  326.    INLINE B Is_Tag                             (E Id);
  327.    INLINE B Is_Volatile                        (E Id);
  328.    INLINE E Last_Entity                        (E Id);
  329.    INLINE E Lit_Name_Table                     (E Id);
  330.    INLINE N Machine_Attribute                  (E Id);
  331.    INLINE B Machine_Radix_10                   (E Id);
  332.    INLINE E Master_Id                          (E Id);
  333.    INLINE U Modulus                            (E Id);
  334.    INLINE B Needs_Discr_Check                  (E Id);
  335.    INLINE B Needs_No_Actuals                   (E Id);
  336.    INLINE E Next_Inlined_Subprogram            (E Id);
  337.    INLINE E Next_Itype                         (E Id);
  338.    INLINE B Non_Binary_Modulus                 (E Id);
  339.    INLINE E Object_Ref                         (E Id);
  340.    INLINE E Original_Record_Component          (E Id);
  341.    INLINE E Packed_Array_Type                  (E Id);
  342.    INLINE L Primitive_Operations               (E Id);
  343.    INLINE L Private_Dependents                 (E Id);
  344.    INLINE E Prival                             (E Id);
  345.    INLINE E Protected_Body_Subprogram          (E Id);
  346.    INLINE E Protected_Formal                   (E Id);
  347.    INLINE E Protected_Operation                (E Id);
  348.    INLINE B Reachable                          (E Id);
  349.    INLINE N Renamed_Entity                     (E Id);
  350.    INLINE N Renamed_Object                     (E Id);
  351.    INLINE B Return_Present                     (E Id);
  352.    INLINE B Returns_By_Ref                     (E Id);
  353.    INLINE N Scalar_Range                       (E Id);
  354.    INLINE U Scale_Value                        (E Id);
  355.    INLINE U Scope_Depth                        (E Id);
  356.    INLINE B Size_Known_At_Compile_Time         (E Id);
  357.    INLINE R Small_Value                        (E Id);
  358.    INLINE E Storage_Size_Variable              (E Id);
  359.    INLINE U String_Literal_Length              (E Id);
  360.    INLINE B Suppress_Access_Checks             (E Id);
  361.    INLINE B Suppress_Accessibility_Checks      (E Id);
  362.    INLINE B Suppress_Discriminant_Checks       (E Id);
  363.    INLINE B Suppress_Division_Checks           (E Id);
  364.    INLINE B Suppress_Elaboration_Checks        (E Id);
  365.    INLINE B Suppress_Index_Checks              (E Id);
  366.    INLINE B Suppress_Length_Checks             (E Id);
  367.    INLINE B Suppress_Overflow_Checks           (E Id);
  368.    INLINE B Suppress_Range_Checks              (E Id);
  369.    INLINE B Suppress_Storage_Checks            (E Id);
  370.    INLINE B Suppress_Tag_Checks                (E Id);
  371.    INLINE N Table_High_Bound                   (E Id);
  372.    INLINE E Task_Activation_Chain_Entity       (E Id);
  373.    INLINE E Task_Body_Procedure                (E Id);
  374.    INLINE B Uses_Sec_Stack                     (E Id);
  375.    INLINE B Is_Access_Type                     (E Id);
  376.    INLINE B Is_Array_Type                      (E Id);
  377.    INLINE B Is_Child_Unit                      (E Id);
  378.    INLINE B Is_Class_Wide_Type                 (E Id);
  379.    INLINE B Is_Composite_Type                  (E Id);
  380.    INLINE B Is_Concurrent_Body                 (E Id);
  381.    INLINE B Is_Concurrent_Record_Type          (E Id);
  382.    INLINE B Is_Concurrent_Type                 (E Id);
  383.    INLINE B Is_Decimal_Fixed_Point_Type        (E Id);
  384.    INLINE B Is_Digits_Type                     (E Id);
  385.    INLINE B Is_Discrete_Type                   (E Id);
  386.    INLINE B Is_Elementary_Type                 (E Id);
  387.    INLINE B Is_Enumeration_Type                (E Id);
  388.    INLINE B Is_Fixed_Point_Type                (E Id);
  389.    INLINE B Is_Floating_Point_Type             (E Id);
  390.    INLINE B Is_Generic_Type                    (E Id);
  391.    INLINE B Is_Generic_Actual_Type             (E Id);
  392.    INLINE B Is_Incomplete_Or_Private_Type      (E Id);
  393.    INLINE B Is_Integer_Type                    (E Id);
  394.    INLINE B Is_Limited_Record                  (E Id);
  395.    INLINE B Is_Modular_Integer_Type            (E Id);
  396.    INLINE B Is_Numeric_Type                    (E Id);
  397.    INLINE B Is_Object                          (E Id);
  398.    INLINE B Is_Ordinary_Fixed_Point_Type       (E Id);
  399.    INLINE B Is_Private_Type                    (E Id);
  400.    INLINE B Is_Protected_Type                  (E Id);
  401.    INLINE B Is_Real_Type                       (E Id);
  402.    INLINE B Is_Record_Type                     (E Id);
  403.    INLINE B Is_Scalar_Type                     (E Id);
  404.    INLINE B Is_Signed_Integer_Type             (E Id);
  405.    INLINE B Is_Tagged_Type                     (E Id);
  406.    INLINE B Is_Task_Type                       (E Id);
  407.    INLINE B Is_Type                            (E Id);
  408.  
  409.    #define Ancestor_Subtype einfo__ancestor_subtype
  410.    E Ancestor_Subtype                   (E Id);
  411.  
  412.    #define Base_Type einfo__base_type
  413.    E Base_Type                          (E Id);
  414.  
  415.    #define Constant_Value einfo__constant_value
  416.    N Constant_Value                     (E Id);
  417.  
  418.    #define Declaration_Node einfo__declaration_node
  419.    N Declaration_Node                   (E Id);
  420.  
  421.    INLINE B Depends_On_Private                 (E Id);
  422.  
  423.    #define Designated_Type einfo__designated_type
  424.    E Designated_Type                    (E Id);
  425.  
  426.    #define First_Component einfo__first_component
  427.    E First_Component                    (E Id);
  428.  
  429.    #define First_Discriminant einfo__first_discriminant
  430.    E First_Discriminant                 (E Id);
  431.  
  432.    #define First_Formal einfo__first_formal
  433.    E First_Formal                       (E Id);
  434.  
  435.    #define First_Subtype einfo__first_subtype
  436.    E First_Subtype                      (E Id);
  437.  
  438.    #define Has_Entries einfo__has_entries
  439.    B Has_Entries                        (E Id);
  440.  
  441.    #define Has_Foreign_Convention einfo__has_foreign_convention
  442.    B Has_Foreign_Convention             (E Id);
  443.  
  444.    #define Is_Boolean_Type einfo__is_boolean_type
  445.    B Is_Boolean_Type                    (E Id);
  446.  
  447.    #define Is_By_Copy_Type einfo__is_by_copy_type
  448.    B Is_By_Copy_Type                    (E Id);
  449.  
  450.    #define Is_Derived_Type einfo__is_derived_type
  451.    B Is_Derived_Type                    (E Id);
  452.  
  453.    #define Is_Indefinite_Subtype einfo__is_indefinite_subtype
  454.    B Is_Indefinite_Subtype              (E Id);
  455.  
  456.    #define Is_Limited_Type einfo__is_limited_type
  457.    B Is_Limited_Type                    (E Id);
  458.  
  459.    #define Is_Protected_Private einfo__is_protected_private
  460.    B Is_Protected_Private               (E Id);
  461.  
  462.    #define Is_Protected_Record_Type einfo__is_protected_record_type
  463.    B Is_Protected_Record_Type           (E Id);
  464.  
  465.    #define Is_Return_By_Reference_Type einfo__is_return_by_reference_type
  466.    B Is_Return_By_Reference_Type        (E Id);
  467.  
  468.    #define Is_String_Type einfo__is_string_type
  469.    B Is_String_Type                     (E Id);
  470.  
  471.    #define Is_Task_Record_Type einfo__is_task_record_type
  472.    B Is_Task_Record_Type                (E Id);
  473.  
  474.    #define Next_Component einfo__next_component
  475.    E Next_Component                     (E Id);
  476.  
  477.    #define Next_Discriminant einfo__next_discriminant
  478.    E Next_Discriminant                  (E Id);
  479.  
  480.    #define Next_Formal einfo__next_formal
  481.    E Next_Formal                        (E Id);
  482.  
  483.    INLINE E Next_Literal                       (E Id);
  484.    INLINE E Next_Overloads                     (E Id);
  485.  
  486.    #define Number_Dimensions einfo__number_dimensions
  487.    Pos Number_Dimensions                  (E Id);
  488.  
  489.    #define Number_Discriminants einfo__number_discriminants
  490.    Pos Number_Discriminants               (E Id);
  491.  
  492.    INLINE Formal_Kind Parameter_Mode                     (E Id);
  493.  
  494.    #define Root_Type einfo__root_type
  495.    E Root_Type                          (E Id);
  496.  
  497.    #define Tag_Component einfo__tag_component
  498.    E Tag_Component                      (E Id);
  499.  
  500.    INLINE N Type_High_Bound                    (E Id);
  501.    INLINE N Type_Low_Bound                     (E Id);
  502.  
  503.    #define Underlying_Type einfo__underlying_type
  504.    E Underlying_Type                    (E Id);
  505.  
  506.  
  507.    INLINE L Accept_Address (E Id)
  508.       { return Elist6 (Id); }
  509.  
  510.    INLINE E Access_Disp_Table (E Id)
  511.       { return Node15 (Id); }
  512.  
  513.    INLINE E Actual_Subtype (E Id)
  514.       { return Node9 (Id); }
  515.  
  516.    INLINE N Address_Clause (E Id)
  517.       { return Node20 (Id); }
  518.  
  519.    INLINE E Alias (E Id)
  520.       { return Node7 (Id); }
  521.  
  522.    INLINE N Alignment_Clause (E Id)
  523.       { return Node8 (Id); }
  524.  
  525.    INLINE E Associated_Formal_Package (E Id)
  526.       { return Node12 (Id); }
  527.  
  528.    INLINE E Associated_Storage_Pool (E Id)
  529.       { return Node13 (Id); }
  530.  
  531.    INLINE E Associated_Final_Chain (E Id)
  532.       { return Node14 (Id); }
  533.  
  534.    INLINE N Barrier_Function (E Id)
  535.       { return Node12 (Id); }
  536.  
  537.    INLINE E Class_Wide_Type (E Id)
  538.       { return Node17 (Id); }
  539.  
  540.    INLINE N Component_Clause (E Id)
  541.       { return Node13 (Id); }
  542.  
  543.    INLINE U Component_First_Bit (E Id)
  544.       { return Uint11 (Id); }
  545.  
  546.    INLINE N Component_Size_Clause (E Id)
  547.       { return Node13 (Id); }
  548.  
  549.    INLINE E Component_Type (E Id)
  550.       { return Node10 (Id); }
  551.  
  552.    INLINE E Corresponding_Concurrent_Type (E Id)
  553.       { return Node7 (Id); }
  554.  
  555.    INLINE E Corresponding_Discriminant (E Id)
  556.       { return Node7 (Id); }
  557.  
  558.    INLINE E Corresponding_Record_Type (E Id)
  559.       { return Node7 (Id); }
  560.  
  561.    INLINE N Default_Value (E Id)
  562.       { return Node10 (Id); }
  563.  
  564.    INLINE R Delta_Value (E Id)
  565.       { return Ureal7 (Id); }
  566.  
  567.    INLINE U Digits_Value (E Id)
  568.       { return Uint9 (Id); }
  569.  
  570.    INLINE E Directly_Designated_Type (E Id)
  571.       { return Node10 (Id); }
  572.  
  573.    INLINE B Discard_Names (E Id)
  574.       { return Flag88 (Id); }
  575.  
  576.    INLINE N Discriminal (E Id)
  577.       { return Node9 (Id); }
  578.  
  579.    INLINE E Discriminant_Checking_Func (E Id)
  580.       { return Node10 (Id); }
  581.  
  582.    INLINE Elist_Id Discriminant_Constraint (E Id)
  583.       { return Elist6 (Id); }
  584.  
  585.    INLINE N Discriminant_Default_Value (E Id)
  586.       { return Node10 (Id); }
  587.  
  588.    INLINE E DTC_Entity (E Id)
  589.       { return Node16 (Id); }
  590.  
  591.    INLINE U DT_Entry_Count (E Id)
  592.       { return Uint15 (Id); }
  593.  
  594.    INLINE U DT_Position (E Id)
  595.       { return Uint15 (Id); }
  596.  
  597.    INLINE E Entry_Bodies_Array (E Id)
  598.       { return Node15 (Id); }
  599.  
  600.    INLINE E Entry_Component (E Id)
  601.       { return Node11 (Id); }
  602.  
  603.    INLINE N Entry_Index_Type (E Id)
  604.       { return Etype (Discrete_Subtype_Definition (Parent (Id))); }
  605.  
  606.    INLINE N Entry_Index_Constant (E Id)
  607.       { return Node7 (Id); }
  608.  
  609.    INLINE E Entry_Parameters_Type (E Id)
  610.       { return Node7 (Id); }
  611.  
  612.    INLINE Uint Enumeration_Pos (E Id)
  613.       { return Uint11 (Id); }
  614.  
  615.    INLINE U Enumeration_Rep (E Id)
  616.       { return Uint12 (Id); }
  617.  
  618.    INLINE N Enumeration_Rep_Expr (E Id)
  619.       { return Node8 (Id); }
  620.  
  621.    INLINE E Enum_Pos_To_Rep (E Id)
  622.       { return Node14 (Id); }
  623.  
  624.    INLINE E Equivalent_Type (E Id)
  625.       { return Node7 (Id); }
  626.  
  627.    INLINE Uint Esize (E Id)
  628.       { return Uint12 (Id); }
  629.  
  630.    INLINE E Finalization_Chain_Entity (E Id)
  631.       { return Node13 (Id); }
  632.  
  633.    INLINE E First_Entity (E Id)
  634.       { return Node9 (Id); }
  635.  
  636.    INLINE N First_Index (E Id)
  637.       { return Node9 (Id); }
  638.  
  639.    INLINE E First_Literal (E Id)
  640.       { return Node9 (Id); }
  641.  
  642.    INLINE E First_Private_Entity (E Id)
  643.       { return Node11 (Id); }
  644.  
  645.    INLINE N Freeze_Node (E Id)
  646.       { return Node18 (Id); }
  647.  
  648.    INLINE E Full_View (E Id)
  649.       { return Node11 (Id); }
  650.  
  651.    INLINE B Has_Alignment_Clause (E Id)
  652.       { return Flag46 (Id); }
  653.  
  654.    INLINE B Has_All_Calls_Remote (E Id)
  655.       { return Flag79 (Id); }
  656.  
  657.    INLINE B Has_Atomic_Components (E Id)
  658.       { return Flag86 (Id); }
  659.  
  660.    INLINE B Has_Completion (E Id)
  661.       { return Flag26 (Id); }
  662.  
  663.    INLINE B Has_Completion_In_Body (E Id)
  664.       { return Flag71 (Id); }
  665.  
  666.    INLINE B Has_Component_Size_Clause (E Id)
  667.       { return Flag68 (Id); }
  668.  
  669.    INLINE B Has_Controlled (E Id)
  670.       { return Flag43 (Id); }
  671.  
  672.    INLINE B Has_Controlling_Result (E Id)
  673.       { return Flag98 (Id); }
  674.  
  675.    INLINE B Has_Delayed_Freeze (E Id)
  676.       { return Flag18 (Id); }
  677.  
  678.    INLINE B Has_Discriminants (E Id)
  679.       { return Flag5 (Id); }
  680.  
  681.    INLINE B Has_Enumeration_Rep_Clause (E Id)
  682.       { return Flag66 (Id); }
  683.  
  684.    INLINE B Has_Exit (E Id)
  685.       { return Flag47 (Id); }
  686.  
  687.    INLINE B Has_Homonym (E Id)
  688.       { return Flag56 (Id); }
  689.  
  690.    INLINE B Has_Master_Entity (E Id)
  691.       { return Flag21 (Id); }
  692.  
  693.    INLINE B Has_Machine_Attribute (E Id)
  694.       { return Flag82 (Id); }
  695.  
  696.    INLINE B Has_Machine_Radix_Clause (E Id)
  697.       { return Flag83 (Id); }
  698.  
  699.    INLINE B Has_Nested_Block_With_Handler (E Id)
  700.       { return Flag101 (Id); }
  701.  
  702.    INLINE B Has_Non_Standard_Rep (E Id)
  703.       { return Flag75 (Id); }
  704.  
  705.    INLINE B Has_Pragma_Controlled (E Id)
  706.       { return Flag27 (Id); }
  707.  
  708.    INLINE B Has_Record_Rep_Clause (E Id)
  709.       { return Flag65 (Id); }
  710.  
  711.    INLINE B Has_Size_Clause (E Id)
  712.       { return Flag29 (Id); }
  713.  
  714.    INLINE B Has_Small_Clause (E Id)
  715.       { return Flag67 (Id); }
  716.  
  717.    INLINE B Has_Specified_Layout (E Id)
  718.       { return Flag100 (Id); }
  719.  
  720.    INLINE B Has_Storage_Size_Clause (E Id)
  721.       { return Flag23 (Id); }
  722.  
  723.    INLINE B Has_Tasks (E Id)
  724.       { return Flag30 (Id); }
  725.  
  726.    INLINE B Has_U_Nominal_Subtype (E Id)
  727.       { return Flag80 (Id); }
  728.  
  729.    INLINE B Has_Unknown_Discriminants (E Id)
  730.       { return Flag72 (Id); }
  731.  
  732.    INLINE B Has_Volatile_Components (E Id)
  733.       { return Flag87 (Id); }
  734.  
  735.    INLINE B In_Package_Body (E Id)
  736.       { return Flag48 (Id); }
  737.  
  738.    INLINE B In_Private_Part (E Id)
  739.       { return Flag45 (Id); }
  740.  
  741.    INLINE B In_Use (E Id)
  742.       { return Flag8 (Id); }
  743.  
  744.    INLINE N Interface_Name (E Id)
  745.       { return Node6 (Id); }
  746.  
  747.    INLINE B Is_Abstract (E Id)
  748.       { return Flag19 (Id); }
  749.  
  750.    INLINE B Is_Access_Constant (E Id)
  751.       { return Flag69 (Id); }
  752.  
  753.    INLINE B Is_Aliased (E Id)
  754.       { return Flag15 (Id); }
  755.  
  756.    INLINE B Is_Asynchronous (E Id)
  757.       { return Flag81 (Id); }
  758.  
  759.    INLINE B Is_Atomic (E Id)
  760.       { return Flag85 (Id); }
  761.  
  762.    INLINE B Is_Called (E Id)
  763.       { return Flag102 (Id); }
  764.  
  765.    INLINE B Is_Character_Type (E Id)
  766.       { return Flag63 (Id); }
  767.  
  768.    INLINE B Is_Constrained (E Id)
  769.       { return Flag3 (Id); }
  770.  
  771.    INLINE B Is_Constructor (E Id)
  772.       { return Flag76 (Id); }
  773.  
  774.    INLINE B Is_Controlled (E Id)
  775.       { return Flag42 (Id); }
  776.  
  777.    INLINE B Is_Controlling_Formal (E Id)
  778.       { return Flag97 (Id); }
  779.  
  780.    INLINE B Is_CPP_Class (E Id)
  781.       { return Flag74 (Id); }
  782.  
  783.    INLINE B Is_Declared_In_Package_Body (E Id)
  784.       { return Flag93 (Id); }
  785.  
  786.    INLINE B Is_Destructor (E Id)
  787.       { return Flag77 (Id); }
  788.  
  789.    INLINE B Is_Dispatching_Operation (E Id)
  790.       { return Flag6 (Id); }
  791.  
  792.    INLINE B Is_Entry_Formal (E Id)
  793.       { return Flag52 (Id); }
  794.  
  795.    INLINE B Is_Exported (E Id)
  796.       { return Flag99 (Id); }
  797.  
  798.    INLINE B Is_Frozen (E Id)
  799.       { return Flag4 (Id); }
  800.  
  801.    INLINE B Is_First_Subtype (E Id)
  802.       { return Flag70 (Id); }
  803.  
  804.    INLINE B Is_Immediately_Visible (E Id)
  805.       { return Flag7 (Id); }
  806.  
  807.    INLINE B Is_Imported (E Id)
  808.       { return Flag24 (Id); }
  809.  
  810.    INLINE B Is_Inlined (E Id)
  811.       { return Flag11 (Id); }
  812.  
  813.    INLINE B Is_Internal (E Id)
  814.       { return Flag17 (Id); }
  815.  
  816.    INLINE B Is_Interrupt_Handler (E Id)
  817.       { return Flag89 (Id); }
  818.  
  819.    INLINE B Is_Intrinsic_Subprogram (E Id)
  820.       { return Flag64 (Id); }
  821.  
  822.    INLINE B Is_Itype (E Id)
  823.       { return Flag91 (Id); }
  824.  
  825.    INLINE B Is_Limited_Record (E Id)
  826.       { return Flag25 (Id); }
  827.  
  828.    INLINE B Is_Named_Number (E Id)
  829.       { return IN (Ekind (Id), Named_Kind); }
  830.  
  831.    INLINE B Is_Overloadable (E Id)
  832.       { return IN (Ekind (Id), Overloadable_Kind); }
  833.  
  834.    INLINE B Is_Packed (E Id)
  835.       { return Flag51 (Id); }
  836.  
  837.    INLINE B Is_Potentially_Use_Visible (E Id)
  838.       { return Flag9 (Id); }
  839.  
  840.    INLINE B Is_Preelaborated (E Id)
  841.       { return Flag59 (Id); }
  842.  
  843.    INLINE B Is_Private (E Id)
  844.       { return Flag57 (Id); }
  845.  
  846.    INLINE B Is_Private_Descendant (E Id)
  847.       { return Flag53 (Id); }
  848.  
  849.    INLINE B Is_Public (E Id)
  850.       { return Flag10 (Id); }
  851.  
  852.    INLINE B Is_Pure (E Id)
  853.       { return Flag44 (Id); }
  854.  
  855.    INLINE B Is_Remote_Call_Interface (E Id)
  856.       { return Flag62 (Id); }
  857.  
  858.    INLINE B Is_Remote_Types (E Id)
  859.       { return Flag61 (Id); }
  860.  
  861.    INLINE B Is_Shared_Passive (E Id)
  862.       { return Flag60 (Id); }
  863.  
  864.    INLINE B Is_Subprogram (E Id)
  865.       { return IN (Ekind (Id), Subprogram_Kind); }
  866.  
  867.    INLINE B Is_Tag (E Id)
  868.       { return Flag78 (Id); }
  869.  
  870.    INLINE B Is_Volatile (E Id)
  871.       { return Flag16 (Id); }
  872.  
  873.    INLINE E Last_Entity (E Id)
  874.       { return Node10 (Id); }
  875.  
  876.    INLINE E Lit_Name_Table (E Id)
  877.       { return Node7 (Id); }
  878.  
  879.    INLINE N Machine_Attribute (E Id)
  880.       { return Node17 (Id); }
  881.  
  882.    INLINE B Machine_Radix_10 (E Id)
  883.       { return Flag84 (Id); }
  884.  
  885.    INLINE E Master_Id (E Id)
  886.       { return Node9 (Id); }
  887.  
  888.    INLINE Uint Modulus (E Id)
  889.       { return Uint9 (Id); }
  890.  
  891.    INLINE B Needs_Discr_Check (E Id)
  892.       { return Flag50 (Id); }
  893.  
  894.    INLINE B Needs_No_Actuals (E Id)
  895.       { return Flag22 (Id); }
  896.  
  897.    INLINE E Next_Inlined_Subprogram (E Id)
  898.       { return Node12 (Id); }
  899.  
  900.    INLINE E Next_Itype (E Id)
  901.       { return Node16 (Id); }
  902.  
  903.    INLINE B Non_Binary_Modulus (E Id)
  904.       { return Flag58 (Id); }
  905.  
  906.    INLINE E Object_Ref (E Id)
  907.       { return Node9 (Id); }
  908.  
  909.    INLINE E Original_Record_Component (E Id)
  910.       { return Node8 (Id); }
  911.  
  912.    INLINE E Packed_Array_Type (E Id)
  913.       { return Node14 (Id); }
  914.  
  915.    INLINE Elist_Id Primitive_Operations (E Id)
  916.       { return Elist13 (Id); }
  917.  
  918.    INLINE E Prival (E Id)
  919.       { return Node9 (Id); }
  920.  
  921.    INLINE L Private_Dependents (E Id)
  922.       { return Elist7 (Id); }
  923.  
  924.    INLINE E Protected_Body_Subprogram (E Id)
  925.       { return Node11 (Id); }
  926.  
  927.    INLINE E Protected_Formal (E Id)
  928.       { return Node8 (Id); }
  929.  
  930.    INLINE N Protected_Operation (E Id)
  931.       { return Node14 (Id); }
  932.  
  933.    INLINE B Reachable (E Id)
  934.       { return Flag49 (Id); }
  935.  
  936.    INLINE N Renamed_Entity (E Id)
  937.       { return Node7 (Id); }
  938.  
  939.    INLINE N Renamed_Object (E Id)
  940.       { return Node7 (Id); }
  941.  
  942.    INLINE B Return_Present (E Id)
  943.       { return Flag54 (Id); }
  944.  
  945.    INLINE B Returns_By_Ref (E Id)
  946.       { return Flag90 (Id); }
  947.  
  948.    INLINE N Scalar_Range (E Id)
  949.       { return Node10 (Id); }
  950.  
  951.    INLINE U Scale_Value (E Id)
  952.       { return Uint15 (Id); }
  953.  
  954.    INLINE U Scope_Depth (E Id)
  955.       { return Uint8 (Id); }
  956.  
  957.    INLINE B Size_Known_At_Compile_Time (E Id)
  958.       { return  Flag92 (Id); }
  959.  
  960.    INLINE R Small_Value (E Id)
  961.       { return Ureal6 (Id); }
  962.  
  963.    INLINE E Storage_Size_Variable (E Id)
  964.       { return Node15 (Id); }
  965.  
  966.    INLINE Uint String_Literal_Length (E Id)
  967.       { return Uint11 (Id); }
  968.  
  969.    INLINE B Suppress_Access_Checks (E Id)
  970.       { return Flag31 (Id); }
  971.  
  972.    INLINE B Suppress_Accessibility_Checks (E Id)
  973.       { return Flag32 (Id); }
  974.  
  975.    INLINE B Suppress_Discriminant_Checks (E Id)
  976.       { return Flag33 (Id); }
  977.  
  978.    INLINE B Suppress_Division_Checks (E Id)
  979.       { return Flag34 (Id); }
  980.  
  981.    INLINE B Suppress_Elaboration_Checks (E Id)
  982.       { return Flag35 (Id); }
  983.  
  984.    INLINE B Suppress_Index_Checks (E Id)
  985.       { return Flag36 (Id); }
  986.  
  987.    INLINE B Suppress_Length_Checks (E Id)
  988.       { return Flag37 (Id); }
  989.  
  990.    INLINE B Suppress_Overflow_Checks (E Id)
  991.       { return Flag38 (Id); }
  992.  
  993.    INLINE B Suppress_Range_Checks (E Id)
  994.       { return Flag39 (Id); }
  995.  
  996.    INLINE B Suppress_Storage_Checks (E Id)
  997.       { return Flag40 (Id); }
  998.  
  999.    INLINE B Suppress_Tag_Checks (E Id)
  1000.       { return Flag41 (Id); }
  1001.  
  1002.    INLINE N Table_High_Bound (E Id)
  1003.       { return Node11 (Id); }
  1004.  
  1005.    INLINE E Task_Activation_Chain_Entity (E Id)
  1006.       { return Node14 (Id); }
  1007.  
  1008.    INLINE E Task_Body_Procedure (E Id)
  1009.       { return Node19 (Id); }
  1010.  
  1011.    INLINE B Uses_Sec_Stack (E Id)
  1012.       { return Flag95 (Id); }
  1013.  
  1014.    INLINE B Is_Access_Type (E Id)
  1015.       { return IN (Ekind (Id), Access_Kind); }
  1016.  
  1017.    INLINE B Is_Array_Type (E Id)
  1018.       { return IN (Ekind (Id), Array_Kind); }
  1019.  
  1020.    INLINE B Is_Class_Wide_Type (E Id)
  1021.       { return IN (Ekind (Id), Class_Wide_Kind); }
  1022.  
  1023.    INLINE B Is_Child_Unit (E Id)
  1024.       { return Flag73 (Id); }
  1025.  
  1026.    INLINE B Is_Composite_Type (E Id)
  1027.       { return IN (Ekind (Id), Composite_Kind); }
  1028.  
  1029.    INLINE B Is_Concurrent_Body (E Id)
  1030.       { return IN (Ekind (Id), Concurrent_Body_Kind); }
  1031.  
  1032.    INLINE B Is_Concurrent_Record_Type (E Id)
  1033.       { return Flag20 (Id); }
  1034.  
  1035.    INLINE B Is_Concurrent_Type (E Id)
  1036.       { return IN (Ekind (Id), Concurrent_Kind); }
  1037.  
  1038.    INLINE B Is_Decimal_Fixed_Point_Type (E Id)
  1039.       { return IN (Ekind (Id), Decimal_Fixed_Point_Kind); }
  1040.  
  1041.    INLINE B Is_Digits_Type (E Id)
  1042.       { return IN (Ekind (Id), Digits_Kind); }
  1043.  
  1044.    INLINE B Is_Discrete_Type (E Id)
  1045.       { return IN (Ekind (Id), Discrete_Kind); }
  1046.  
  1047.    INLINE B Is_Elementary_Type (E Id)
  1048.       { return IN (Ekind (Id), Elementary_Kind); }
  1049.  
  1050.    INLINE B Is_Enumeration_Type (E Id)
  1051.       { return IN (Ekind (Id), Enumeration_Kind); }
  1052.  
  1053.    INLINE B Is_Fixed_Point_Type (E Id)
  1054.       { return IN (Ekind (Id), Fixed_Point_Kind); }
  1055.  
  1056.    INLINE B Is_Floating_Point_Type (E Id)
  1057.       { return IN (Ekind (Id), Float_Kind); }
  1058.  
  1059.    INLINE B Is_Generic_Type (E Id)
  1060.       { return Flag1 (Id); }
  1061.  
  1062.    INLINE B Is_Generic_Actual_Type (E Id)
  1063.       { return Flag94 (Id); }
  1064.  
  1065.    INLINE B Is_Incomplete_Or_Private_Type (E Id)
  1066.       { return IN (Ekind (Id), Incomplete_Or_Private_Kind); }
  1067.  
  1068.    INLINE B Is_Integer_Type (E Id)
  1069.       { return IN (Ekind (Id), Integer_Kind); }
  1070.  
  1071.    INLINE B Is_Modular_Integer_Type (E Id)
  1072.       { return IN (Ekind (Id), Modular_Integer_Kind); }
  1073.  
  1074.    INLINE B Is_Numeric_Type (E Id)
  1075.       { return IN (Ekind (Id), Numeric_Kind); }
  1076.  
  1077.    INLINE B Is_Object (E Id)
  1078.       { return IN (Ekind (Id), Object_Kind); }
  1079.  
  1080.    INLINE B Is_Ordinary_Fixed_Point_Type (E Id)
  1081.       { return IN (Ekind (Id), Ordinary_Fixed_Point_Kind); }
  1082.  
  1083.    INLINE B Depends_On_Private (E Id)
  1084.       { return Flag14 (Id); }
  1085.  
  1086.    INLINE B Is_Private_Type (E Id)
  1087.       { return IN (Ekind (Id), Private_Kind); }
  1088.  
  1089.    INLINE B Is_Protected_Type (E Id)
  1090.       { return IN (Ekind (Id), Protected_Kind); }
  1091.  
  1092.    INLINE B Is_Real_Type (E Id)
  1093.       { return IN (Ekind (Id), Real_Kind); }
  1094.  
  1095.    INLINE B Is_Record_Type (E Id)
  1096.       { return IN (Ekind (Id), Record_Kind); }
  1097.  
  1098.    INLINE B Is_Scalar_Type (E Id)
  1099.       { return IN (Ekind (Id), Scalar_Kind); }
  1100.  
  1101.    INLINE B Is_Signed_Integer_Type (E Id)
  1102.       { return IN (Ekind (Id), Signed_Integer_Kind); }
  1103.  
  1104.    INLINE B Is_Tagged_Type (E Id)
  1105.       { return Flag55 (Id); }
  1106.  
  1107.    INLINE B Is_Task_Type (E Id)
  1108.       { return IN (Ekind (Id), Task_Kind); }
  1109.  
  1110.    INLINE B Is_Type (E Id)
  1111.       { return IN (Ekind (Id), Type_Kind); }
  1112.  
  1113.    INLINE Node_Id Next_Index (Node_Id Id)
  1114.       { return Next (Id); }
  1115.  
  1116.    INLINE E Next_Literal (E Id)
  1117.       { return Next (Id); }
  1118.  
  1119.    INLINE E Next_Overloads (E Id)
  1120.       { return Homonym (Id); }
  1121.  
  1122.    INLINE Formal_Kind Parameter_Mode (E Id)
  1123.       { return Ekind (Id); }
  1124.  
  1125.    INLINE Node_Id Type_High_Bound (E Id)
  1126.       { return High_Bound (Scalar_Range (Id)); }
  1127.  
  1128.    INLINE Node_Id Type_Low_Bound (E Id)
  1129.       { return Low_Bound (Scalar_Range (Id)); }
  1130.  
  1131. /* End of einfo.h (C version of Einfo package specification) */
  1132.