source: trunk/ada-2012/src/semantic/gela-property_resets.ads@ 552

Last change on this file since 552 was 514, checked in by Maxim Reznik, 5 years ago

Add new test

File size: 5.8 KB
Line 
1with Gela.Elements.Defining_Names;
2with Gela.Elements;
3with Gela.Interpretations;
4with Gela.Lexical_Types;
5with Gela.Property_Setters;
6with Gela.Semantic_Types;
7
8package Gela.Property_Resets is
9 pragma Preelaborate;
10
11 type Property_Reset is limited new Gela.Property_Setters.Property_Setter
12 with record
13 Defining_Name : Gela.Elements.Defining_Names.Defining_Name_Access;
14 Down : Gela.Interpretations.Interpretation_Index := 0;
15 Env_In : Gela.Semantic_Types.Env_Index := 0;
16 Env_Out : Gela.Semantic_Types.Env_Index := 0;
17 Errors : Gela.Semantic_Types.Error_Set_Index := 0;
18 Expanded : Gela.Elements.Element_Access;
19 Full_Name : Gela.Lexical_Types.Symbol := 0;
20 Index : Gela.Lexical_Types.Token_Count := 0;
21 Static_Value : Gela.Semantic_Types.Value_Index := 0;
22 Type_Index : Gela.Semantic_Types.Type_Index := 0;
23 Up_Set : Gela.Interpretations.Interpretation_Set_Index := 0;
24 Up_Tuple : Gela.Interpretations.Interpretation_Tuple_Index := 0;
25 Inh_List : Gela.Elements.Element_Sequence_Access;
26
27 Name_List : Gela.Lexical_Types.Symbol_List :=
28 Gela.Lexical_Types.Empty_Symbol_List;
29
30 Up_Tuple_List : Gela.Interpretations.Interpretation_Tuple_List_Index
31 := 0;
32
33 With_List : Gela.Lexical_Types.Symbol_List :=
34 Gela.Lexical_Types.Empty_Symbol_List;
35
36 Limited_With_List : Gela.Lexical_Types.Symbol_List :=
37 Gela.Lexical_Types.Empty_Symbol_List;
38
39 Chosen_Interpretation : Gela.Interpretations.Interpretation_Kinds :=
40 Gela.Interpretations.Unknown;
41
42 Declarative_Region : Gela.Semantic_Types.Env_Index := 0;
43
44 Corresponding_Generic_Element : Gela.Elements.Element_Access;
45 Corresponding_View : Gela.Elements.Element_Access;
46 Corresponding_Type : Gela.Elements.Element_Access;
47 end record;
48
49private
50
51 overriding procedure On_Index
52 (Self : in out Property_Reset;
53 Element : Gela.Elements.Element_Access;
54 Value : out Gela.Lexical_Types.Token_Count);
55
56 overriding procedure On_Env_In
57 (Self : in out Property_Reset;
58 Element : Gela.Elements.Element_Access;
59 Value : out Gela.Semantic_Types.Env_Index);
60
61 overriding procedure On_Env_Out
62 (Self : in out Property_Reset;
63 Element : Gela.Elements.Element_Access;
64 Value : out Gela.Semantic_Types.Env_Index);
65
66 overriding procedure On_Down
67 (Self : in out Property_Reset;
68 Element : Gela.Elements.Element_Access;
69 Value : out Gela.Interpretations.Interpretation_Index);
70
71 overriding procedure On_Errors
72 (Self : in out Property_Reset;
73 Element : Gela.Elements.Element_Access;
74 Value : out Gela.Semantic_Types.Error_Set_Index);
75
76 overriding procedure On_Up
77 (Self : in out Property_Reset;
78 Element : Gela.Elements.Element_Access;
79 Value : out Gela.Interpretations.
80 Interpretation_Tuple_Index);
81
82 overriding procedure On_Up
83 (Self : in out Property_Reset;
84 Element : Gela.Elements.Element_Access;
85 Value : out Gela.Interpretations.
86 Interpretation_Tuple_List_Index);
87
88 overriding procedure On_Name_List
89 (Self : in out Property_Reset;
90 Element : Gela.Elements.Element_Access;
91 Value : out Gela.Lexical_Types.Symbol_List);
92
93 overriding procedure On_Limited_With_List
94 (Self : in out Property_Reset;
95 Element : Gela.Elements.Element_Access;
96 Value : out Gela.Lexical_Types.Symbol_List);
97
98 overriding procedure On_With_List
99 (Self : in out Property_Reset;
100 Element : Gela.Elements.Element_Access;
101 Value : out Gela.Lexical_Types.Symbol_List);
102
103 overriding procedure On_Up
104 (Self : in out Property_Reset;
105 Element : Gela.Elements.Element_Access;
106 Value : out Gela.Interpretations.
107 Interpretation_Set_Index);
108
109 overriding procedure On_Static_Value
110 (Self : in out Property_Reset;
111 Element : Gela.Elements.Element_Access;
112 Value : out Gela.Semantic_Types.Value_Index);
113
114 overriding procedure On_Defining_Name
115 (Self : in out Property_Reset;
116 Element : Gela.Elements.Element_Access;
117 Value : out Gela.Elements.Defining_Names.
118 Defining_Name_Access);
119
120 overriding procedure On_Full_Name
121 (Self : in out Property_Reset;
122 Element : Gela.Elements.Element_Access;
123 Value : out Gela.Lexical_Types.Symbol);
124
125 overriding procedure On_Declarative_Region
126 (Self : in out Property_Reset;
127 Element : Gela.Elements.Element_Access;
128 Value : out Gela.Semantic_Types.Env_Index);
129
130 overriding procedure On_Type_Index
131 (Self : in out Property_Reset;
132 Element : Gela.Elements.Element_Access;
133 Value : out Gela.Semantic_Types.Type_Index);
134
135 overriding procedure On_Corresponding_Type
136 (Self : in out Property_Reset;
137 Element : Gela.Elements.Element_Access;
138 Value : out Gela.Elements.Element_Access);
139
140 overriding procedure On_Corresponding_Generic_Element
141 (Self : in out Property_Reset;
142 Element : Gela.Elements.Element_Access;
143 Value : out Gela.Elements.Element_Access);
144
145 overriding procedure On_Corresponding_View
146 (Self : in out Property_Reset;
147 Element : Gela.Elements.Element_Access;
148 Value : out Gela.Elements.Element_Access);
149
150 overriding procedure On_Expanded
151 (Self : in out Property_Reset;
152 Element : Gela.Elements.Element_Access;
153 Value : out Gela.Elements.Element_Access);
154
155 overriding procedure On_Chosen_Interpretation
156 (Self : in out Property_Reset;
157 Element : Gela.Elements.Element_Access;
158 Value : out Gela.Interpretations.Interpretation_Kinds);
159
160 overriding procedure On_Inh_List
161 (Self : in out Property_Reset;
162 Element : Gela.Elements.Element_Access;
163 Value : out Gela.Elements.Element_Sequence_Access);
164
165end Gela.Property_Resets;
Note: See TracBrowser for help on using the repository browser.