@@ -758,6 +758,31 @@ inline c_enum_tag_typet &to_c_enum_tag_type(typet &type)
758
758
class code_typet :public typet
759
759
{
760
760
public:
761
+ class parametert ;
762
+ typedef std::vector<parametert> parameterst;
763
+
764
+ // / Constructs a new code type, i.e. function type
765
+ // / \param _parameters: the vector of function parameters
766
+ // / \param _return_type: the return type
767
+ code_typet (parameterst &&_parameters, typet &&_return_type)
768
+ : typet(ID_code)
769
+ {
770
+ parameters ().swap (_parameters);
771
+ return_type ().swap (_return_type);
772
+ }
773
+
774
+ // / Constructs a new code type, i.e. function type
775
+ // / \param _parameters: the vector of function parameters
776
+ // / \param _return_type: the return type
777
+ code_typet (parameterst &&_parameters, const typet &_return_type)
778
+ : typet(ID_code)
779
+ {
780
+ parameters ().swap (_parameters);
781
+ return_type () = _return_type;
782
+ }
783
+
784
+ // / \deprecated
785
+ DEPRECATED (" Use the two argument constructor instead" )
761
786
code_typet ():typet(ID_code)
762
787
{
763
788
// make sure these properties are always there to avoid problems
@@ -862,8 +887,6 @@ class code_typet:public typet
862
887
add (ID_parameters).remove (ID_ellipsis);
863
888
}
864
889
865
- typedef std::vector<parametert> parameterst;
866
-
867
890
const typet &return_type () const
868
891
{
869
892
return find_type (ID_return_type);
0 commit comments