Skip to content

Commit 299f0ad

Browse files
authored
Merge pull request #7408 from tautschnig/cleanup/jsil-symbolt
jsil: use new symbolt constructors
2 parents db07f93 + fa671a8 commit 299f0ad

File tree

3 files changed

+11
-41
lines changed

3 files changed

+11
-41
lines changed

src/jsil/jsil_entry_point.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,9 @@ Author: Michael Tautschnig, [email protected]
2626

2727
static void create_initialize(symbol_table_baset &symbol_table)
2828
{
29-
symbolt initialize;
30-
initialize.name = INITIALIZE_FUNCTION;
29+
symbolt initialize{
30+
INITIALIZE_FUNCTION, code_typet({}, empty_typet()), "jsil"};
3131
initialize.base_name = INITIALIZE_FUNCTION;
32-
initialize.mode="jsil";
33-
34-
initialize.type = code_typet({}, empty_typet());
3532

3633
code_blockt init_code;
3734

@@ -150,11 +147,9 @@ bool jsil_entry_point(
150147
init_code.add(call_main);
151148

152149
// add "main"
153-
symbolt new_symbol;
154-
155-
new_symbol.name=goto_functionst::entry_point();
150+
symbolt new_symbol{
151+
goto_functionst::entry_point(), code_typet{{}, empty_typet{}}, "jsil"};
156152
new_symbol.base_name = goto_functionst::entry_point();
157-
new_symbol.type = code_typet({}, empty_typet());
158153
new_symbol.value.swap(init_code);
159154

160155
if(!symbol_table.insert(std::move(new_symbol)).second)

src/jsil/jsil_internal_additions.cpp

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,8 @@ void jsil_internal_additions(symbol_table_baset &dest)
2424
// add __CPROVER_rounding_mode
2525

2626
{
27-
symbolt symbol;
28-
symbol.name = rounding_mode_identifier();
27+
symbolt symbol{rounding_mode_identifier(), signed_int_type(), ID_C};
2928
symbol.base_name = symbol.name;
30-
symbol.type=signed_int_type();
31-
symbol.mode=ID_C;
3229
symbol.is_lvalue=true;
3330
symbol.is_state_var=true;
3431
symbol.is_thread_local=true;
@@ -42,22 +39,16 @@ void jsil_internal_additions(symbol_table_baset &dest)
4239
{
4340
code_typet eval_type({code_typet::parametert(typet())}, empty_typet());
4441

45-
symbolt symbol;
42+
symbolt symbol{"eval", eval_type, "jsil"};
4643
symbol.base_name="eval";
47-
symbol.name="eval";
48-
symbol.type=eval_type;
49-
symbol.mode="jsil";
5044
dest.add(symbol);
5145
}
5246

5347
// add nan
5448

5549
{
56-
symbolt symbol;
50+
symbolt symbol{"nan", floatbv_typet(), "jsil"};
5751
symbol.base_name="nan";
58-
symbol.name="nan";
59-
symbol.type=floatbv_typet();
60-
symbol.mode="jsil";
6152
// mark as already typechecked
6253
symbol.is_extern=true;
6354
dest.add(symbol);
@@ -66,11 +57,8 @@ void jsil_internal_additions(symbol_table_baset &dest)
6657
// add empty symbol used for decl statements
6758

6859
{
69-
symbolt symbol;
60+
symbolt symbol{"decl_symbol", empty_typet(), "jsil"};
7061
symbol.base_name="decl_symbol";
71-
symbol.name="decl_symbol";
72-
symbol.type=empty_typet();
73-
symbol.mode="jsil";
7462
// mark as already typechecked
7563
symbol.is_extern=true;
7664
dest.add(symbol);
@@ -92,13 +80,8 @@ void jsil_internal_additions(symbol_table_baset &dest)
9280

9381
for(const auto &identifier : builtin_objects)
9482
{
95-
symbolt new_symbol;
96-
new_symbol.name=identifier;
97-
new_symbol.type=jsil_builtin_object_type();
83+
symbolt new_symbol{identifier, jsil_builtin_object_type(), "jsil"};
9884
new_symbol.base_name=identifier;
99-
new_symbol.mode="jsil";
100-
new_symbol.is_type=false;
101-
new_symbol.is_lvalue=false;
10285
// mark as already typechecked
10386
new_symbol.is_extern=true;
10487
dest.add(new_symbol);

src/jsil/jsil_typecheck.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -602,12 +602,8 @@ void jsil_typecheckt::typecheck_symbol_expr(symbol_exprt &symbol_expr)
602602
if(s_it==symbol_table.symbols.end())
603603
{
604604
// create new symbol
605-
symbolt new_symbol;
606-
new_symbol.name=identifier;
607-
new_symbol.type=symbol_expr.type();
605+
symbolt new_symbol{identifier, symbol_expr.type(), "jsil"};
608606
new_symbol.base_name=identifier_base;
609-
new_symbol.mode="jsil";
610-
new_symbol.is_type=false;
611607
new_symbol.is_lvalue=new_symbol.type.id()!=ID_code;
612608

613609
// mark as already typechecked
@@ -787,11 +783,7 @@ void jsil_typecheckt::typecheck_function_call(
787783
else
788784
{
789785
// Should be function, declaration not found yet
790-
symbolt new_symbol;
791-
new_symbol.name=id;
792-
new_symbol.type = code_typet({}, typet());
793-
new_symbol.mode="jsil";
794-
new_symbol.is_type=false;
786+
symbolt new_symbol{id, code_typet({}, typet()), "jsil"};
795787
new_symbol.value=exprt("no-body-just-yet");
796788

797789
make_type_compatible(lhs, jsil_any_type(), true);

0 commit comments

Comments
 (0)