24
24
25
25
#include " goto_model.h"
26
26
27
+ // / \brief Gets the language which should be used for showing the type and value
28
+ // / of the supplied \p symbol.
29
+ static std::unique_ptr<languaget>
30
+ get_show_symbol_language (const symbolt &symbol)
31
+ {
32
+ std::unique_ptr<languaget> ptr;
33
+
34
+ if (symbol.mode .empty ())
35
+ {
36
+ ptr=get_default_language ();
37
+ }
38
+ else
39
+ {
40
+ ptr=get_language_from_mode (symbol.mode );
41
+ }
42
+
43
+ if (!ptr)
44
+ throw " symbol " +id2string (symbol.name )+" has unknown mode" ;
45
+
46
+ return ptr;
47
+ }
48
+
27
49
void show_symbol_table_xml_ui ()
28
50
{
29
51
}
@@ -39,16 +61,7 @@ void show_symbol_table_brief_plain(
39
61
{
40
62
const symbolt &symbol=ns.lookup (id);
41
63
42
- std::unique_ptr<languaget> ptr;
43
-
44
- if (symbol.mode .empty ())
45
- ptr=get_default_language ();
46
- else
47
- {
48
- ptr=get_language_from_mode (symbol.mode );
49
- if (ptr==nullptr )
50
- throw " symbol " +id2string (symbol.name )+" has unknown mode" ;
51
- }
64
+ const std::unique_ptr<languaget> ptr = get_show_symbol_language (symbol);
52
65
53
66
std::string type_str;
54
67
@@ -72,19 +85,7 @@ void show_symbol_table_plain(
72
85
{
73
86
const symbolt &symbol=ns.lookup (id);
74
87
75
- std::unique_ptr<languaget> ptr;
76
-
77
- if (symbol.mode .empty ())
78
- {
79
- ptr=get_default_language ();
80
- }
81
- else
82
- {
83
- ptr=get_language_from_mode (symbol.mode );
84
- }
85
-
86
- if (!ptr)
87
- throw " symbol " +id2string (symbol.name )+" has unknown mode" ;
88
+ const std::unique_ptr<languaget> ptr = get_show_symbol_language (symbol);
88
89
89
90
std::string type_str, value_str;
90
91
@@ -160,19 +161,7 @@ static void show_symbol_table_json_ui(
160
161
{
161
162
const symbolt &symbol = id_and_symbol.second ;
162
163
163
- std::unique_ptr<languaget> ptr;
164
-
165
- if (symbol.mode .empty ())
166
- {
167
- ptr=get_default_language ();
168
- }
169
- else
170
- {
171
- ptr=get_language_from_mode (symbol.mode );
172
- }
173
-
174
- if (!ptr)
175
- throw " symbol " +id2string (symbol.name )+" has unknown mode" ;
164
+ const std::unique_ptr<languaget> ptr = get_show_symbol_language (symbol);
176
165
177
166
std::string type_str, value_str;
178
167
@@ -234,19 +223,7 @@ static void show_symbol_table_brief_json_ui(
234
223
{
235
224
const symbolt &symbol = id_and_symbol.second ;
236
225
237
- std::unique_ptr<languaget> ptr;
238
-
239
- if (symbol.mode .empty ())
240
- {
241
- ptr=get_default_language ();
242
- }
243
- else
244
- {
245
- ptr=get_language_from_mode (symbol.mode );
246
- }
247
-
248
- if (!ptr)
249
- throw " symbol " +id2string (symbol.name )+" has unknown mode" ;
226
+ const std::unique_ptr<languaget> ptr = get_show_symbol_language (symbol);
250
227
251
228
std::string type_str, value_str;
252
229
0 commit comments