Skip to content

Commit 21ee71a

Browse files
Add pragma Obsolescent to constants
The bindings generator now detect the 'deprecated' tag for constants too, and add a pragma Obsolescent for them. For eng/ide/gnatstudio#330
1 parent 086e027 commit 21ee71a

File tree

2 files changed

+228
-3
lines changed

2 files changed

+228
-3
lines changed

contrib/binding.py

+19-3
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ def __init__(self, files):
142142
for cl in root.findall(k):
143143
self.constants[cl.get(ctype_qname)] = cl
144144

145+
145146
# Some <record> are defined with methods. They are bound the same
146147
# way in GtkAda, except that they do not derive from GObject
147148

@@ -2564,10 +2565,25 @@ def constants_binding(self, section, regexp, prefix):
25642565
type = node.findall(ntype)
25652566
ctype = type[0].get(ctype_qname)
25662567
ftype = naming.type(name="", cname=ctype)
2568+
deprecated = node.get("deprecated")
2569+
deprecated_version = node.get("deprecated-version")
2570+
2571+
constant_str = '%s : constant %s := "%s";' % (
2572+
name,
2573+
ftype.ada,
2574+
node.get("value"),
2575+
)
2576+
2577+
if deprecated:
2578+
if deprecated_version:
2579+
constant_str += (
2580+
'\npragma Obsolescent (%s, Message => "Deprecated since %s");\n'
2581+
% (name, node.get("deprecated-version"))
2582+
)
2583+
else:
2584+
constant_str += '\npragma Obsolescent (%s);\n' % (name)
25672585

2568-
constants.append(
2569-
'%s : constant %s := "%s";' %
2570-
(name, ftype.ada, node.get("value")))
2586+
constants.append(constant_str)
25712587

25722588
constants.sort()
25732589
section.add("\n".join(constants))

src/generated/gtk-stock.ads

+209
Original file line numberDiff line numberDiff line change
@@ -29,110 +29,319 @@ with Gtkada.Types; use Gtkada.Types;
2929
package Gtk.Stock is
3030

3131
Stock_About : constant UTF8_String := "gtk-about";
32+
pragma Obsolescent (Stock_About, Message => "Deprecated since 3.10");
33+
3234
Stock_Add : constant UTF8_String := "gtk-add";
35+
pragma Obsolescent (Stock_Add, Message => "Deprecated since 3.10");
36+
3337
Stock_Apply : constant UTF8_String := "gtk-apply";
38+
pragma Obsolescent (Stock_Apply, Message => "Deprecated since 3.10");
39+
3440
Stock_Bold : constant UTF8_String := "gtk-bold";
41+
pragma Obsolescent (Stock_Bold, Message => "Deprecated since 3.10");
42+
3543
Stock_Cancel : constant UTF8_String := "gtk-cancel";
44+
pragma Obsolescent (Stock_Cancel, Message => "Deprecated since 3.10");
45+
3646
Stock_Caps_Lock_Warning : constant UTF8_String := "gtk-caps-lock-warning";
47+
pragma Obsolescent (Stock_Caps_Lock_Warning, Message => "Deprecated since 3.10");
48+
3749
Stock_Cdrom : constant UTF8_String := "gtk-cdrom";
50+
pragma Obsolescent (Stock_Cdrom, Message => "Deprecated since 3.10");
51+
3852
Stock_Clear : constant UTF8_String := "gtk-clear";
53+
pragma Obsolescent (Stock_Clear, Message => "Deprecated since 3.10");
54+
3955
Stock_Close : constant UTF8_String := "gtk-close";
56+
pragma Obsolescent (Stock_Close, Message => "Deprecated since 3.10");
57+
4058
Stock_Color_Picker : constant UTF8_String := "gtk-color-picker";
59+
pragma Obsolescent (Stock_Color_Picker, Message => "Deprecated since 3.10");
60+
4161
Stock_Connect : constant UTF8_String := "gtk-connect";
62+
pragma Obsolescent (Stock_Connect, Message => "Deprecated since 3.10");
63+
4264
Stock_Convert : constant UTF8_String := "gtk-convert";
65+
pragma Obsolescent (Stock_Convert, Message => "Deprecated since 3.10");
66+
4367
Stock_Copy : constant UTF8_String := "gtk-copy";
68+
pragma Obsolescent (Stock_Copy, Message => "Deprecated since 3.10");
69+
4470
Stock_Cut : constant UTF8_String := "gtk-cut";
71+
pragma Obsolescent (Stock_Cut, Message => "Deprecated since 3.10");
72+
4573
Stock_Delete : constant UTF8_String := "gtk-delete";
74+
pragma Obsolescent (Stock_Delete, Message => "Deprecated since 3.10");
75+
4676
Stock_Dialog_Authentication : constant UTF8_String := "gtk-dialog-authentication";
77+
pragma Obsolescent (Stock_Dialog_Authentication, Message => "Deprecated since 3.10");
78+
4779
Stock_Dialog_Error : constant UTF8_String := "gtk-dialog-error";
80+
pragma Obsolescent (Stock_Dialog_Error, Message => "Deprecated since 3.10");
81+
4882
Stock_Dialog_Info : constant UTF8_String := "gtk-dialog-info";
83+
pragma Obsolescent (Stock_Dialog_Info, Message => "Deprecated since 3.10");
84+
4985
Stock_Dialog_Question : constant UTF8_String := "gtk-dialog-question";
86+
pragma Obsolescent (Stock_Dialog_Question, Message => "Deprecated since 3.10");
87+
5088
Stock_Dialog_Warning : constant UTF8_String := "gtk-dialog-warning";
89+
pragma Obsolescent (Stock_Dialog_Warning, Message => "Deprecated since 3.10");
90+
5191
Stock_Directory : constant UTF8_String := "gtk-directory";
92+
pragma Obsolescent (Stock_Directory, Message => "Deprecated since 3.10");
93+
5294
Stock_Discard : constant UTF8_String := "gtk-discard";
95+
pragma Obsolescent (Stock_Discard, Message => "Deprecated since 3.10");
96+
5397
Stock_Disconnect : constant UTF8_String := "gtk-disconnect";
98+
pragma Obsolescent (Stock_Disconnect, Message => "Deprecated since 3.10");
99+
54100
Stock_Dnd : constant UTF8_String := "gtk-dnd";
101+
pragma Obsolescent (Stock_Dnd, Message => "Deprecated since 3.10");
102+
55103
Stock_Dnd_Multiple : constant UTF8_String := "gtk-dnd-multiple";
104+
pragma Obsolescent (Stock_Dnd_Multiple, Message => "Deprecated since 3.10");
105+
56106
Stock_Edit : constant UTF8_String := "gtk-edit";
107+
pragma Obsolescent (Stock_Edit, Message => "Deprecated since 3.10");
108+
57109
Stock_Execute : constant UTF8_String := "gtk-execute";
110+
pragma Obsolescent (Stock_Execute, Message => "Deprecated since 3.10");
111+
58112
Stock_File : constant UTF8_String := "gtk-file";
113+
pragma Obsolescent (Stock_File, Message => "Deprecated since 3.10");
114+
59115
Stock_Find : constant UTF8_String := "gtk-find";
116+
pragma Obsolescent (Stock_Find, Message => "Deprecated since 3.10");
117+
60118
Stock_Find_And_Replace : constant UTF8_String := "gtk-find-and-replace";
119+
pragma Obsolescent (Stock_Find_And_Replace, Message => "Deprecated since 3.10");
120+
61121
Stock_Floppy : constant UTF8_String := "gtk-floppy";
122+
pragma Obsolescent (Stock_Floppy, Message => "Deprecated since 3.10");
123+
62124
Stock_Fullscreen : constant UTF8_String := "gtk-fullscreen";
125+
pragma Obsolescent (Stock_Fullscreen, Message => "Deprecated since 3.10");
126+
63127
Stock_Go_Back : constant UTF8_String := "gtk-go-back";
128+
pragma Obsolescent (Stock_Go_Back, Message => "Deprecated since 3.10");
129+
64130
Stock_Go_Down : constant UTF8_String := "gtk-go-down";
131+
pragma Obsolescent (Stock_Go_Down, Message => "Deprecated since 3.10");
132+
65133
Stock_Go_Forward : constant UTF8_String := "gtk-go-forward";
134+
pragma Obsolescent (Stock_Go_Forward, Message => "Deprecated since 3.10");
135+
66136
Stock_Go_Up : constant UTF8_String := "gtk-go-up";
137+
pragma Obsolescent (Stock_Go_Up, Message => "Deprecated since 3.10");
138+
67139
Stock_Goto_Bottom : constant UTF8_String := "gtk-goto-bottom";
140+
pragma Obsolescent (Stock_Goto_Bottom, Message => "Deprecated since 3.10");
141+
68142
Stock_Goto_First : constant UTF8_String := "gtk-goto-first";
143+
pragma Obsolescent (Stock_Goto_First, Message => "Deprecated since 3.10");
144+
69145
Stock_Goto_Last : constant UTF8_String := "gtk-goto-last";
146+
pragma Obsolescent (Stock_Goto_Last, Message => "Deprecated since 3.10");
147+
70148
Stock_Goto_Top : constant UTF8_String := "gtk-goto-top";
149+
pragma Obsolescent (Stock_Goto_Top, Message => "Deprecated since 3.10");
150+
71151
Stock_Harddisk : constant UTF8_String := "gtk-harddisk";
152+
pragma Obsolescent (Stock_Harddisk, Message => "Deprecated since 3.10");
153+
72154
Stock_Help : constant UTF8_String := "gtk-help";
155+
pragma Obsolescent (Stock_Help, Message => "Deprecated since 3.10");
156+
73157
Stock_Home : constant UTF8_String := "gtk-home";
158+
pragma Obsolescent (Stock_Home, Message => "Deprecated since 3.10");
159+
74160
Stock_Indent : constant UTF8_String := "gtk-indent";
161+
pragma Obsolescent (Stock_Indent, Message => "Deprecated since 3.10");
162+
75163
Stock_Index : constant UTF8_String := "gtk-index";
164+
pragma Obsolescent (Stock_Index, Message => "Deprecated since 3.10");
165+
76166
Stock_Info : constant UTF8_String := "gtk-info";
167+
pragma Obsolescent (Stock_Info, Message => "Deprecated since 3.10");
168+
77169
Stock_Italic : constant UTF8_String := "gtk-italic";
170+
pragma Obsolescent (Stock_Italic, Message => "Deprecated since 3.10");
171+
78172
Stock_Jump_To : constant UTF8_String := "gtk-jump-to";
173+
pragma Obsolescent (Stock_Jump_To, Message => "Deprecated since 3.10");
174+
79175
Stock_Justify_Center : constant UTF8_String := "gtk-justify-center";
176+
pragma Obsolescent (Stock_Justify_Center, Message => "Deprecated since 3.10");
177+
80178
Stock_Justify_Fill : constant UTF8_String := "gtk-justify-fill";
179+
pragma Obsolescent (Stock_Justify_Fill, Message => "Deprecated since 3.10");
180+
81181
Stock_Justify_Left : constant UTF8_String := "gtk-justify-left";
182+
pragma Obsolescent (Stock_Justify_Left, Message => "Deprecated since 3.10");
183+
82184
Stock_Justify_Right : constant UTF8_String := "gtk-justify-right";
185+
pragma Obsolescent (Stock_Justify_Right, Message => "Deprecated since 3.10");
186+
83187
Stock_Leave_Fullscreen : constant UTF8_String := "gtk-leave-fullscreen";
188+
pragma Obsolescent (Stock_Leave_Fullscreen, Message => "Deprecated since 3.10");
189+
84190
Stock_Media_Forward : constant UTF8_String := "gtk-media-forward";
191+
pragma Obsolescent (Stock_Media_Forward, Message => "Deprecated since 3.10");
192+
85193
Stock_Media_Next : constant UTF8_String := "gtk-media-next";
194+
pragma Obsolescent (Stock_Media_Next, Message => "Deprecated since 3.10");
195+
86196
Stock_Media_Pause : constant UTF8_String := "gtk-media-pause";
197+
pragma Obsolescent (Stock_Media_Pause, Message => "Deprecated since 3.10");
198+
87199
Stock_Media_Play : constant UTF8_String := "gtk-media-play";
200+
pragma Obsolescent (Stock_Media_Play, Message => "Deprecated since 3.10");
201+
88202
Stock_Media_Previous : constant UTF8_String := "gtk-media-previous";
203+
pragma Obsolescent (Stock_Media_Previous, Message => "Deprecated since 3.10");
204+
89205
Stock_Media_Record : constant UTF8_String := "gtk-media-record";
206+
pragma Obsolescent (Stock_Media_Record, Message => "Deprecated since 3.10");
207+
90208
Stock_Media_Rewind : constant UTF8_String := "gtk-media-rewind";
209+
pragma Obsolescent (Stock_Media_Rewind, Message => "Deprecated since 3.10");
210+
91211
Stock_Media_Stop : constant UTF8_String := "gtk-media-stop";
212+
pragma Obsolescent (Stock_Media_Stop, Message => "Deprecated since 3.10");
213+
92214
Stock_Missing_Image : constant UTF8_String := "gtk-missing-image";
215+
pragma Obsolescent (Stock_Missing_Image, Message => "Deprecated since 3.10");
216+
93217
Stock_Network : constant UTF8_String := "gtk-network";
218+
pragma Obsolescent (Stock_Network, Message => "Deprecated since 3.10");
219+
94220
Stock_New : constant UTF8_String := "gtk-new";
221+
pragma Obsolescent (Stock_New, Message => "Deprecated since 3.10");
222+
95223
Stock_No : constant UTF8_String := "gtk-no";
224+
pragma Obsolescent (Stock_No, Message => "Deprecated since 3.10");
225+
96226
Stock_Ok : constant UTF8_String := "gtk-ok";
227+
pragma Obsolescent (Stock_Ok, Message => "Deprecated since 3.10");
228+
97229
Stock_Open : constant UTF8_String := "gtk-open";
230+
pragma Obsolescent (Stock_Open, Message => "Deprecated since 3.10");
231+
98232
Stock_Orientation_Landscape : constant UTF8_String := "gtk-orientation-landscape";
233+
pragma Obsolescent (Stock_Orientation_Landscape, Message => "Deprecated since 3.10");
234+
99235
Stock_Orientation_Portrait : constant UTF8_String := "gtk-orientation-portrait";
236+
pragma Obsolescent (Stock_Orientation_Portrait, Message => "Deprecated since 3.10");
237+
100238
Stock_Orientation_Reverse_Landscape : constant UTF8_String := "gtk-orientation-reverse-landscape";
239+
pragma Obsolescent (Stock_Orientation_Reverse_Landscape, Message => "Deprecated since 3.10");
240+
101241
Stock_Orientation_Reverse_Portrait : constant UTF8_String := "gtk-orientation-reverse-portrait";
242+
pragma Obsolescent (Stock_Orientation_Reverse_Portrait, Message => "Deprecated since 3.10");
243+
102244
Stock_Page_Setup : constant UTF8_String := "gtk-page-setup";
245+
pragma Obsolescent (Stock_Page_Setup, Message => "Deprecated since 3.10");
246+
103247
Stock_Paste : constant UTF8_String := "gtk-paste";
248+
pragma Obsolescent (Stock_Paste, Message => "Deprecated since 3.10");
249+
104250
Stock_Preferences : constant UTF8_String := "gtk-preferences";
251+
pragma Obsolescent (Stock_Preferences, Message => "Deprecated since 3.10");
252+
105253
Stock_Print : constant UTF8_String := "gtk-print";
254+
pragma Obsolescent (Stock_Print, Message => "Deprecated since 3.10");
255+
106256
Stock_Print_Error : constant UTF8_String := "gtk-print-error";
257+
pragma Obsolescent (Stock_Print_Error, Message => "Deprecated since 3.10");
258+
107259
Stock_Print_Paused : constant UTF8_String := "gtk-print-paused";
260+
pragma Obsolescent (Stock_Print_Paused, Message => "Deprecated since 3.10");
261+
108262
Stock_Print_Preview : constant UTF8_String := "gtk-print-preview";
263+
pragma Obsolescent (Stock_Print_Preview, Message => "Deprecated since 3.10");
264+
109265
Stock_Print_Report : constant UTF8_String := "gtk-print-report";
266+
pragma Obsolescent (Stock_Print_Report, Message => "Deprecated since 3.10");
267+
110268
Stock_Print_Warning : constant UTF8_String := "gtk-print-warning";
269+
pragma Obsolescent (Stock_Print_Warning, Message => "Deprecated since 3.10");
270+
111271
Stock_Properties : constant UTF8_String := "gtk-properties";
272+
pragma Obsolescent (Stock_Properties, Message => "Deprecated since 3.10");
273+
112274
Stock_Quit : constant UTF8_String := "gtk-quit";
275+
pragma Obsolescent (Stock_Quit, Message => "Deprecated since 3.10");
276+
113277
Stock_Redo : constant UTF8_String := "gtk-redo";
278+
pragma Obsolescent (Stock_Redo, Message => "Deprecated since 3.10");
279+
114280
Stock_Refresh : constant UTF8_String := "gtk-refresh";
281+
pragma Obsolescent (Stock_Refresh, Message => "Deprecated since 3.10");
282+
115283
Stock_Remove : constant UTF8_String := "gtk-remove";
284+
pragma Obsolescent (Stock_Remove, Message => "Deprecated since 3.10");
285+
116286
Stock_Revert_To_Saved : constant UTF8_String := "gtk-revert-to-saved";
287+
pragma Obsolescent (Stock_Revert_To_Saved, Message => "Deprecated since 3.10");
288+
117289
Stock_Save : constant UTF8_String := "gtk-save";
290+
pragma Obsolescent (Stock_Save, Message => "Deprecated since 3.10");
291+
118292
Stock_Save_As : constant UTF8_String := "gtk-save-as";
293+
pragma Obsolescent (Stock_Save_As, Message => "Deprecated since 3.10");
294+
119295
Stock_Select_All : constant UTF8_String := "gtk-select-all";
296+
pragma Obsolescent (Stock_Select_All, Message => "Deprecated since 3.10");
297+
120298
Stock_Select_Color : constant UTF8_String := "gtk-select-color";
299+
pragma Obsolescent (Stock_Select_Color, Message => "Deprecated since 3.10");
300+
121301
Stock_Select_Font : constant UTF8_String := "gtk-select-font";
302+
pragma Obsolescent (Stock_Select_Font, Message => "Deprecated since 3.10");
303+
122304
Stock_Sort_Ascending : constant UTF8_String := "gtk-sort-ascending";
305+
pragma Obsolescent (Stock_Sort_Ascending, Message => "Deprecated since 3.10");
306+
123307
Stock_Sort_Descending : constant UTF8_String := "gtk-sort-descending";
308+
pragma Obsolescent (Stock_Sort_Descending, Message => "Deprecated since 3.10");
309+
124310
Stock_Spell_Check : constant UTF8_String := "gtk-spell-check";
311+
pragma Obsolescent (Stock_Spell_Check, Message => "Deprecated since 3.10");
312+
125313
Stock_Stop : constant UTF8_String := "gtk-stop";
314+
pragma Obsolescent (Stock_Stop, Message => "Deprecated since 3.10");
315+
126316
Stock_Strikethrough : constant UTF8_String := "gtk-strikethrough";
317+
pragma Obsolescent (Stock_Strikethrough, Message => "Deprecated since 3.10");
318+
127319
Stock_Undelete : constant UTF8_String := "gtk-undelete";
320+
pragma Obsolescent (Stock_Undelete, Message => "Deprecated since 3.10");
321+
128322
Stock_Underline : constant UTF8_String := "gtk-underline";
323+
pragma Obsolescent (Stock_Underline, Message => "Deprecated since 3.10");
324+
129325
Stock_Undo : constant UTF8_String := "gtk-undo";
326+
pragma Obsolescent (Stock_Undo, Message => "Deprecated since 3.10");
327+
130328
Stock_Unindent : constant UTF8_String := "gtk-unindent";
329+
pragma Obsolescent (Stock_Unindent, Message => "Deprecated since 3.10");
330+
131331
Stock_Yes : constant UTF8_String := "gtk-yes";
332+
pragma Obsolescent (Stock_Yes, Message => "Deprecated since 3.10");
333+
132334
Stock_Zoom_100 : constant UTF8_String := "gtk-zoom-100";
335+
pragma Obsolescent (Stock_Zoom_100, Message => "Deprecated since 3.10");
336+
133337
Stock_Zoom_Fit : constant UTF8_String := "gtk-zoom-fit";
338+
pragma Obsolescent (Stock_Zoom_Fit, Message => "Deprecated since 3.10");
339+
134340
Stock_Zoom_In : constant UTF8_String := "gtk-zoom-in";
341+
pragma Obsolescent (Stock_Zoom_In, Message => "Deprecated since 3.10");
342+
135343
Stock_Zoom_Out : constant UTF8_String := "gtk-zoom-out";
344+
pragma Obsolescent (Stock_Zoom_Out, Message => "Deprecated since 3.10");
136345

137346
type Gtk_Stock_Item is private;
138347
function From_Object_Free (B : access Gtk_Stock_Item) return Gtk_Stock_Item;

0 commit comments

Comments
 (0)