File tree Expand file tree Collapse file tree 7 files changed +18
-26
lines changed
Expand file tree Collapse file tree 7 files changed +18
-26
lines changed Original file line number Diff line number Diff 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;
Original file line number Diff line number Diff line change @@ -368,10 +368,9 @@ void java_bytecode_convert_method_lazy(
368368 if (!m.is_static )
369369 {
370370 java_method_typet::parameterst ¶meters = 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 }
Original file line number Diff line number Diff 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 ¶m_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);
Original file line number Diff line number Diff 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 ¶meters = type.parameters ();
1353-
1354- parameters.insert (
1355- parameters.begin (), code_typet::parametert ());
1356-
1357- code_typet::parametert ¶meter=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 ¶meters = type.parameters ();
1371+ parameters.insert (parameters.begin (), parameter);
13771372}
13781373
13791374void cpp_typecheckt::add_anonymous_members_to_scope (
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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" ;
Original file line number Diff line number Diff 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 )));
You can’t perform that action at this time.
0 commit comments