Skip to content

Commit 8300e2d

Browse files
authored
Merge pull request #3884 from tautschnig/deprecation-parametert
Construct parametert in a non-deprecated way [blocks: #3800]
2 parents d87f247 + 91b2939 commit 8300e2d

7 files changed

+18
-26
lines changed

jbmc/src/java_bytecode/java_bytecode_convert_class.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -831,11 +831,11 @@ void java_bytecode_convert_classt::add_array_types(symbol_tablet &symbol_table)
831831

832832
const irep_idt clone_name =
833833
id2string(struct_tag_type_identifier) + ".clone:()Ljava/lang/Object;";
834-
java_method_typet::parametert this_param;
834+
java_method_typet::parametert this_param(
835+
java_reference_type(struct_tag_type));
835836
this_param.set_identifier(id2string(clone_name)+"::this");
836837
this_param.set_base_name(ID_this);
837838
this_param.set_this();
838-
this_param.type() = java_reference_type(struct_tag_type);
839839
const java_method_typet clone_type({this_param}, java_lang_object_type());
840840

841841
parameter_symbolt this_symbol;

jbmc/src/java_bytecode/java_bytecode_convert_method.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -368,10 +368,9 @@ void java_bytecode_convert_method_lazy(
368368
if(!m.is_static)
369369
{
370370
java_method_typet::parameterst &parameters = member_type.parameters();
371-
java_method_typet::parametert this_p;
372371
const reference_typet object_ref_type =
373372
java_reference_type(struct_tag_typet(class_symbol.name));
374-
this_p.type()=object_ref_type;
373+
java_method_typet::parametert this_p(object_ref_type);
375374
this_p.set_this();
376375
parameters.insert(parameters.begin(), this_p);
377376
}

src/ansi-c/c_typecheck_type.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -439,11 +439,11 @@ void c_typecheck_baset::typecheck_code_type(code_typet &type)
439439
ansi_c_declarationt &declaration=
440440
to_ansi_c_declaration(param);
441441

442-
code_typet::parametert parameter;
443442

444443
// first fix type
444+
code_typet::parametert parameter(
445+
declaration.full_type(declaration.declarator()));
445446
typet &param_type = parameter.type();
446-
param_type = declaration.full_type(declaration.declarator());
447447
std::list<codet> tmp_clean_code;
448448
tmp_clean_code.swap(clean_code); // ignore side-effects
449449
typecheck_type(param_type);

src/cpp/cpp_typecheck_compound_type.cpp

+7-12
Original file line numberDiff line numberDiff line change
@@ -1349,17 +1349,6 @@ void cpp_typecheckt::add_this_to_method_type(
13491349
code_typet &type,
13501350
const typet &method_qualifier)
13511351
{
1352-
code_typet::parameterst &parameters = type.parameters();
1353-
1354-
parameters.insert(
1355-
parameters.begin(), code_typet::parametert());
1356-
1357-
code_typet::parametert &parameter=parameters.front();
1358-
1359-
parameter.set_identifier(ID_this); // check? Not qualified
1360-
parameter.set_base_name(ID_this);
1361-
parameter.set_this();
1362-
13631352
typet subtype;
13641353

13651354
if(compound_symbol.type.id() == ID_union)
@@ -1373,7 +1362,13 @@ void cpp_typecheckt::add_this_to_method_type(
13731362
if(has_volatile(method_qualifier))
13741363
subtype.set(ID_C_volatile, true);
13751364

1376-
parameter.type()=pointer_type(subtype);
1365+
code_typet::parametert parameter(pointer_type(subtype));
1366+
parameter.set_identifier(ID_this); // check? Not qualified
1367+
parameter.set_base_name(ID_this);
1368+
parameter.set_this();
1369+
1370+
code_typet::parameterst &parameters = type.parameters();
1371+
parameters.insert(parameters.begin(), parameter);
13771372
}
13781373

13791374
void cpp_typecheckt::add_anonymous_members_to_scope(

src/cpp/parse.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -5615,7 +5615,7 @@ bool Parser::rTypeNameOrFunctionType(typet &tname)
56155615
if(!rArgDeclaration(parameter_declaration))
56165616
return false;
56175617

5618-
code_typet::parametert parameter;
5618+
code_typet::parametert parameter(typet{});
56195619
parameter.swap(parameter_declaration);
56205620
type.parameters().push_back(parameter);
56215621

src/jsil/jsil_internal_additions.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,7 @@ void jsil_internal_additions(symbol_tablet &dest)
5656
// add eval
5757

5858
{
59-
code_typet eval_type;
60-
code_typet::parametert p;
61-
eval_type.parameters().push_back(p);
59+
code_typet eval_type({code_typet::parametert(typet())}, empty_typet());
6260

6361
symbolt symbol;
6462
symbol.base_name="eval";

src/jsil/parser.y

+4-4
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,15 @@ procedure_decl: TOK_PROCEDURE proc_ident '(' parameters_opt ')'
118118
'{' statements_opt '}'
119119
{
120120
symbol_exprt proc(to_symbol_expr(stack($2)));
121-
code_typet ct;
121+
code_typet::parameterst parameters;
122122
forall_operands(it, stack($4))
123123
{
124124
symbol_exprt s(to_symbol_expr(*it));
125-
code_typet::parametert p;
125+
code_typet::parametert p(typet{});
126126
p.set_identifier(s.get_identifier());
127-
ct.parameters().push_back(p);
127+
parameters.push_back(p);
128128
}
129-
proc.type().swap(ct);
129+
proc.type() = code_typet(std::move(parameters), typet());
130130

131131
symbol_exprt rv(to_symbol_expr(stack($7)));
132132
symbol_exprt rl(to_symbol_expr(stack($9)));

0 commit comments

Comments
 (0)