Skip to content

Commit bc30502

Browse files
committed
Changing namespacet to take symbol_table_baset instead of symbol_tablet
1 parent 0164707 commit bc30502

File tree

3 files changed

+30
-28
lines changed

3 files changed

+30
-28
lines changed

src/jsil/jsil_typecheck.h

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ Author: Michael Tautschnig, tautschn@amazon.com
1414

1515
#include <unordered_set>
1616

17-
#include <util/typecheck.h>
1817
#include <util/namespace.h>
1918
#include <util/std_code.h>
19+
#include <util/symbol_table_base.h>
20+
#include <util/typecheck.h>
2021

2122
class symbol_exprt;
2223
class codet;
@@ -34,12 +35,12 @@ class jsil_typecheckt:public typecheckt
3435
{
3536
public:
3637
jsil_typecheckt(
37-
symbol_tablet &_symbol_table,
38-
message_handlert &_message_handler):
39-
typecheckt(_message_handler),
40-
symbol_table(_symbol_table),
41-
ns(symbol_table),
42-
proc_name()
38+
symbol_table_baset &_symbol_table,
39+
message_handlert &_message_handler)
40+
: typecheckt(_message_handler),
41+
symbol_table(_symbol_table),
42+
ns(symbol_table),
43+
proc_name()
4344
{
4445
}
4546

@@ -49,7 +50,7 @@ class jsil_typecheckt:public typecheckt
4950
virtual void typecheck_expr(exprt &expr);
5051

5152
protected:
52-
symbol_tablet &symbol_table;
53+
symbol_table_baset &symbol_table;
5354
const namespacet ns;
5455
// prefix to variables which is set in typecheck_declaration
5556
irep_idt proc_name;

src/linking/linking_class.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ class linkingt:public typecheckt
2828
{
2929
public:
3030
linkingt(
31-
symbol_tablet &_main_symbol_table,
32-
symbol_tablet &_src_symbol_table,
33-
message_handlert &_message_handler):
34-
typecheckt(_message_handler),
35-
main_symbol_table(_main_symbol_table),
36-
src_symbol_table(_src_symbol_table),
37-
ns(_main_symbol_table)
31+
symbol_table_baset &_main_symbol_table,
32+
symbol_table_baset &_src_symbol_table,
33+
message_handlert &_message_handler)
34+
: typecheckt(_message_handler),
35+
main_symbol_table(_main_symbol_table),
36+
src_symbol_table(_src_symbol_table),
37+
ns(_main_symbol_table)
3838
{
3939
}
4040

@@ -171,8 +171,8 @@ class linkingt:public typecheckt
171171
const struct_typet &old_type,
172172
const struct_typet &new_type);
173173

174-
symbol_tablet &main_symbol_table;
175-
symbol_tablet &src_symbol_table;
174+
symbol_table_baset &main_symbol_table;
175+
symbol_table_baset &src_symbol_table;
176176

177177
namespacet ns;
178178

src/util/namespace.h

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class c_enum_typet;
2626
class union_tag_typet;
2727
class struct_tag_typet;
2828
class c_enum_tag_typet;
29+
class symbol_table_baset;
2930

3031
class namespace_baset
3132
{
@@ -80,20 +81,20 @@ class namespacet:public namespace_baset
8081
{
8182
public:
8283
// constructors
83-
explicit namespacet(const symbol_tablet &_symbol_table)
84+
explicit namespacet(const symbol_table_baset &_symbol_table)
8485
{ symbol_table1=&_symbol_table; symbol_table2=nullptr; }
8586

8687
namespacet(
87-
const symbol_tablet &_symbol_table1,
88-
const symbol_tablet &_symbol_table2)
88+
const symbol_table_baset &_symbol_table1,
89+
const symbol_table_baset &_symbol_table2)
8990
{
9091
symbol_table1=&_symbol_table1;
9192
symbol_table2=&_symbol_table2;
9293
}
9394

9495
namespacet(
95-
const symbol_tablet *_symbol_table1,
96-
const symbol_tablet *_symbol_table2)
96+
const symbol_table_baset *_symbol_table1,
97+
const symbol_table_baset *_symbol_table2)
9798
{
9899
symbol_table1=_symbol_table1;
99100
symbol_table2=_symbol_table2;
@@ -108,13 +109,13 @@ class namespacet:public namespace_baset
108109
/// See documentation for namespace_baset::smallest_unused_suffix().
109110
std::size_t smallest_unused_suffix(const std::string &prefix) const override;
110111

111-
const symbol_tablet &get_symbol_table() const
112+
const symbol_table_baset &get_symbol_table() const
112113
{
113114
return *symbol_table1;
114115
}
115116

116117
protected:
117-
const symbol_tablet *symbol_table1, *symbol_table2;
118+
const symbol_table_baset *symbol_table1, *symbol_table2;
118119
};
119120

120121
class multi_namespacet:public namespacet
@@ -125,8 +126,8 @@ class multi_namespacet:public namespacet
125126
{
126127
}
127128

128-
explicit multi_namespacet(
129-
const symbol_tablet &symbol_table):namespacet(nullptr, nullptr)
129+
explicit multi_namespacet(const symbol_table_baset &symbol_table)
130+
: namespacet(nullptr, nullptr)
130131
{
131132
add(symbol_table);
132133
}
@@ -137,13 +138,13 @@ class multi_namespacet:public namespacet
137138
bool lookup(const irep_idt &name, const symbolt *&symbol) const override;
138139
std::size_t smallest_unused_suffix(const std::string &prefix) const override;
139140

140-
void add(const symbol_tablet &symbol_table)
141+
void add(const symbol_table_baset &symbol_table)
141142
{
142143
symbol_table_list.push_back(&symbol_table);
143144
}
144145

145146
protected:
146-
typedef std::vector<const symbol_tablet *> symbol_table_listt;
147+
typedef std::vector<const symbol_table_baset *> symbol_table_listt;
147148
symbol_table_listt symbol_table_list;
148149
};
149150

0 commit comments

Comments
 (0)