~ubuntu-branches/ubuntu/precise/gnat-gps/precise

« back to all changes in this revision

Viewing changes to kernel/src_info/sn_wrapper/sn.ads

  • Committer: Package Import Robot
  • Author(s): Ludovic Brenta
  • Date: 2012-01-15 15:42:21 UTC
  • mfrom: (10.1.10 sid)
  • Revision ID: package-import@ubuntu.com-20120115154221-ccysuzvh02pkhuwq
Tags: 5.0-6
Rebuild against libgtkada 2.24.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
-----------------------------------------------------------------------
2
 
-----------------------------------------------------------------------
3
 
 
4
 
with Basic_Types; use Basic_Types;
5
 
 
6
 
package SN is
7
 
   --  Types and constants specific to Source Navigator.
8
 
 
9
 
   type All_Table_Types is
10
 
     (BY,      --  No longer used
11
 
      F,       --  Project files
12
 
      FIL,     --  Global per-file information
13
 
      SN_REM,  --  Remarks
14
 
      TO,      --  Global cross-references
15
 
 
16
 
      CL,      --  class/struct
17
 
      COM,     --  common block (Fortran)
18
 
      CON,     --  constant
19
 
      COV,     --  common variable (Fortran)
20
 
      E,       --  enum
21
 
      EC,      --  enum value
22
 
      FD,      --  function declaration
23
 
      FR,      --  friend
24
 
      FU,      --  function
25
 
      GV,      --  global variable
26
 
      SN_IN,   --  inheritance
27
 
      IU,      --  include
28
 
      IV,      --  instance variable
29
 
      LV,      --  local variable
30
 
      MA,      --  macro
31
 
      MD,      --  method declaration
32
 
      MI,      --  method implementation
33
 
      SU,      --  subroutine (Fortran)
34
 
      T,       --  typedef
35
 
      TA,      --  template argument
36
 
      UN,      --  union
37
 
 
38
 
      UD,      --  undefined
39
 
      Undef    --  Undefined (leave last)
40
 
     );
41
 
   --  Source Navigator DB tables types.
42
 
   --  see dbutils.c::SN_symbol_types and sn.h for more information
43
 
 
44
 
   subtype Table_Type  is All_Table_Types range BY .. UD;
45
 
   subtype Symbol_Type is All_Table_Types range CL .. Undef;
46
 
 
47
 
   Max_Src_Line_Length : constant Integer := 4096;
48
 
   --  Specifies the maximum line length for arbitrary source file.
49
 
 
50
 
   type Point is record
51
 
      Line   : Integer;
52
 
      Column : Visible_Column_Type;
53
 
      --  ??? Is this the right type ?
54
 
   end record;
55
 
   --  Position between symbols in source
56
 
 
57
 
   Invalid_Point    : constant Point := (-1, -1);
58
 
   Predefined_Point : constant Point := (Integer'Last,
59
 
                                         Visible_Column_Type'Last);
60
 
 
61
 
   Invalid_String  : constant String := "";
62
 
 
63
 
   function "<" (P1, P2 : Point) return Boolean;
64
 
   --  LessThan operation for operands of Point type
65
 
 
66
 
   type Segment is record
67
 
      First : Integer;
68
 
      Last  : Integer;
69
 
   end record;
70
 
 
71
 
   Invalid_Segment : constant Segment := (-1, -1);
72
 
   Empty_Segment   : constant Segment := (1, 0);
73
 
 
74
 
   function Length (S : Segment) return Integer;
75
 
 
76
 
   type SN_Attributes is mod 2**32;
77
 
 
78
 
   --  symbol attributums
79
 
   SN_PRIVATE            : constant SN_Attributes := 16#000001#;
80
 
   SN_PROTECTED          : constant SN_Attributes := 16#000002#;
81
 
   SN_PUBLIC             : constant SN_Attributes := 16#000004#;
82
 
   SN_STATIC             : constant SN_Attributes := 16#000008#;
83
 
   SN_VIRTUAL            : constant SN_Attributes := 16#001000#;
84
 
 
85
 
   SN_ABSTRACT           : constant SN_Attributes := 16#000010#;
86
 
   SN_FINAL              : constant SN_Attributes := 16#000020#;
87
 
   SN_NATIVE             : constant SN_Attributes := 16#000040#;
88
 
   SN_SYNCHRONIZED       : constant SN_Attributes := 16#000080#;
89
 
   SN_VOLATILE           : constant SN_Attributes := 16#000100#;
90
 
   SN_TRANSIENT          : constant SN_Attributes := 16#000200#;
91
 
   SN_INTERFACE          : constant SN_Attributes := 16#000400#;
92
 
   SN_IMPLEMENTS         : constant SN_Attributes := 16#000800#;
93
 
   SN_INLINE             : constant SN_Attributes := 16#002000#;
94
 
   SN_CONSTRUCTOR        : constant SN_Attributes := 16#004000#;
95
 
   SN_DESTRUCTOR         : constant SN_Attributes := SN_CONSTRUCTOR;
96
 
   SN_PUREVIRTUAL        : constant SN_Attributes := 16#008000# or SN_VIRTUAL;
97
 
   SN_STRUCT_DEF         : constant SN_Attributes := 16#010000#;
98
 
 
99
 
   SN_OVERRIDE           : constant SN_Attributes := 16#20000#;
100
 
   SN_OVERLOADED         : constant SN_Attributes := 16#40000#;
101
 
   SN_TEMPLATE           : constant SN_Attributes := 16#80000#;
102
 
 
103
 
   --  Template argument types
104
 
   SN_TA_TYPE            : constant SN_Attributes := 0;
105
 
   SN_TA_VALUE           : constant SN_Attributes := 1;
106
 
   SN_TA_TEMPLATE        : constant SN_Attributes := 2;
107
 
 
108
 
   --  Symbol types
109
 
   SN_TYPE_DEF           : constant SN_Attributes := 1;
110
 
   SN_CLASS_DEF          : constant SN_Attributes := 2;
111
 
   SN_MBR_FUNC_DEF       : constant SN_Attributes := 3;
112
 
   SN_MBR_VAR_DEF        : constant SN_Attributes := 4;
113
 
   SN_ENUM_DEF           : constant SN_Attributes := 5;
114
 
   SN_CONS_DEF           : constant SN_Attributes := 6;
115
 
   SN_MACRO_DEF          : constant SN_Attributes := 7;
116
 
   SN_FUNC_DEF           : constant SN_Attributes := 8;
117
 
   SN_SUBR_DEF           : constant SN_Attributes := 9;
118
 
   SN_GLOB_VAR_DEF       : constant SN_Attributes := 10;
119
 
   SN_COMMON_DEF         : constant SN_Attributes := 11;
120
 
   SN_COMMON_MBR_VAR_DEF : constant SN_Attributes := 12;
121
 
   SN_CLASS_INHERIT      : constant SN_Attributes := 13;
122
 
   SN_FILE_SYMBOLS       : constant SN_Attributes := 14;
123
 
   SN_CROSS_REF_BY       : constant SN_Attributes := 15;
124
 
   SN_CROSS_REF          : constant SN_Attributes := 16;
125
 
   SN_MBR_FUNC_DCL       : constant SN_Attributes := 17;
126
 
   SN_FUNC_DCL           : constant SN_Attributes := 18;
127
 
   SN_ENUM_CONST_DEF     : constant SN_Attributes := 19;
128
 
   SN_UNION_DEF          : constant SN_Attributes := 20;
129
 
   SN_FRIEND_DCL         : constant SN_Attributes := 21;
130
 
   SN_NAMESPACE_DEF      : constant SN_Attributes := 22;
131
 
   SN_EXCEPTION_DEF      : constant SN_Attributes := 23;
132
 
   SN_LOCAL_VAR_DEF      : constant SN_Attributes := 24;
133
 
   SN_VAR_DCL            : constant SN_Attributes := 25;
134
 
   SN_INCLUDE_DEF        : constant SN_Attributes := 26;
135
 
   SN_COMMENT_DEF        : constant SN_Attributes := 27;
136
 
   SN_CROSS_REF_CPP      : constant SN_Attributes := 28;
137
 
   SN_REF_UNDEFINED      : constant SN_Attributes := 29;
138
 
   SN_CROSS_REF_FILE     : constant SN_Attributes := 30;
139
 
 
140
 
   --  Cross reference values.
141
 
   SN_REF_TO_TYPEDEF     : constant SN_Attributes := SN_TYPE_DEF;
142
 
   SN_REF_TO_DEFINE      : constant SN_Attributes := SN_MACRO_DEF;
143
 
   SN_REF_TO_ENUM        : constant SN_Attributes := SN_ENUM_CONST_DEF;
144
 
   SN_REF_TO_STRUCT      : constant SN_Attributes := SN_STRUCT_DEF;
145
 
   SN_REF_TO_UNION       : constant SN_Attributes := SN_UNION_DEF;
146
 
   SN_REF_TO_CLASS       : constant SN_Attributes := SN_CLASS_DEF;
147
 
   SN_REF_TO_FUNCTION    : constant SN_Attributes := SN_FUNC_DEF;
148
 
   SN_REF_TO_MBR_FUNC    : constant SN_Attributes := SN_MBR_FUNC_DEF;
149
 
   SN_REF_TO_MBR_VAR     : constant SN_Attributes := SN_MBR_VAR_DEF;
150
 
   SN_REF_TO_COMM_VAR    : constant SN_Attributes := SN_COMMON_MBR_VAR_DEF;
151
 
   SN_REF_TO_CONSTANT    : constant SN_Attributes := SN_CONS_DEF;
152
 
   SN_REF_TO_SUBROUTINE  : constant SN_Attributes := SN_SUBR_DEF;
153
 
   SN_REF_TO_GLOB_VAR    : constant SN_Attributes := SN_GLOB_VAR_DEF;
154
 
   SN_REF_TO_LOCAL_VAR   : constant SN_Attributes := SN_LOCAL_VAR_DEF;
155
 
   --  SN_REF_TO_TEMPLATE    : constant SN_Attributes := SN_TEMPLATE_DEF;
156
 
   SN_REF_TO_NAMESPACE   : constant SN_Attributes := SN_NAMESPACE_DEF;
157
 
   SN_REF_TO_EXCEPTION   : constant SN_Attributes := SN_EXCEPTION_DEF;
158
 
   SN_REF_TO_LABEL       : constant SN_Attributes := SN_SUBR_DEF;
159
 
 
160
 
   SN_REF_SCOPE_LOCAL    : constant SN_Attributes := 0;
161
 
   SN_REF_SCOPE_GLOBAL   : constant SN_Attributes := 1;
162
 
 
163
 
   --  Variable references
164
 
   SN_REF_READ           : constant SN_Attributes := 0;
165
 
   SN_REF_WRITE          : constant SN_Attributes := 1;
166
 
   SN_REF_PASS           : constant SN_Attributes := 2;
167
 
   SN_REF_UNUSED         : constant SN_Attributes := 3;
168
 
 
169
 
end SN;