cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp_declarator.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: C++ Language Type Checking
4
5
Author: Daniel Kroening, kroening@cs.cmu.edu
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_CPP_CPP_DECLARATOR_H
13
#define CPROVER_CPP_CPP_DECLARATOR_H
14
15
#include <
util/expr.h
>
16
17
#include "
cpp_name.h
"
18
19
class
cpp_declaratort
:
public
exprt
20
{
21
public
:
22
cpp_declaratort
():
exprt
(ID_cpp_declarator)
23
{
24
value
().
make_nil
();
25
name
().
make_nil
();
26
add_source_location
().
make_nil
();
27
}
28
29
explicit
cpp_declaratort
(
const
typet
&
type
):
exprt
(ID_cpp_declarator,
type
)
30
{
31
value
().
make_nil
();
32
name
().
make_nil
();
33
add_source_location
().
make_nil
();
34
}
35
36
cpp_namet
&
name
() {
return
static_cast<
cpp_namet
&
>
(
add
(ID_name)); }
37
const
cpp_namet
&
name
()
const
38
{
39
return
static_cast<
const
cpp_namet
&
>
(
find
(ID_name));
40
}
41
42
exprt
&
value
() {
return
static_cast<
exprt
&
>
(
add
(ID_value)); }
43
const
exprt
&
value
()
const
44
{
45
return
static_cast<
const
exprt
&
>
(
find
(ID_value));
46
}
47
48
bool
get_is_parameter
()
const
49
{
50
return
get_bool
(ID_is_parameter);
51
}
52
53
void
set_is_parameter
(
bool
is_parameter)
54
{
55
set
(ID_is_parameter, is_parameter);
56
}
57
58
// initializers for function arguments
59
exprt
&
init_args
()
60
{
61
return
static_cast<
exprt
&
>
(
add
(ID_init_args));
62
}
63
const
exprt
&
init_args
()
const
64
{
65
return
static_cast<
const
exprt
&
>
(
find
(ID_init_args));
66
}
67
68
irept
&
method_qualifier
() {
return
add
(ID_method_qualifier); }
69
const
irept
&
method_qualifier
()
const
{
return
find
(ID_method_qualifier); }
70
71
irept
&
member_initializers
() {
return
add
(ID_member_initializers); }
72
const
irept
&
member_initializers
()
const
73
{
74
return
find
(ID_member_initializers);
75
}
76
77
irept
&
throw_decl
()
78
{
79
return
add
(ID_throw_decl);
80
}
81
const
irept
&
throw_decl
()
const
82
{
83
return
find
(ID_throw_decl);
84
}
85
86
void
output
(std::ostream &out)
const
;
87
88
typet
merge_type
(
const
typet
&declaration_type)
const
;
89
};
90
91
#endif
// CPROVER_CPP_CPP_DECLARATOR_H
cpp_declaratort::value
exprt & value()
Definition
cpp_declarator.h:42
cpp_declaratort::name
const cpp_namet & name() const
Definition
cpp_declarator.h:37
cpp_declaratort::throw_decl
const irept & throw_decl() const
Definition
cpp_declarator.h:81
cpp_declaratort::throw_decl
irept & throw_decl()
Definition
cpp_declarator.h:77
cpp_declaratort::set_is_parameter
void set_is_parameter(bool is_parameter)
Definition
cpp_declarator.h:53
cpp_declaratort::output
void output(std::ostream &out) const
Definition
cpp_declarator.cpp:18
cpp_declaratort::member_initializers
irept & member_initializers()
Definition
cpp_declarator.h:71
cpp_declaratort::merge_type
typet merge_type(const typet &declaration_type) const
Definition
cpp_declarator.cpp:27
cpp_declaratort::member_initializers
const irept & member_initializers() const
Definition
cpp_declarator.h:72
cpp_declaratort::cpp_declaratort
cpp_declaratort()
Definition
cpp_declarator.h:22
cpp_declaratort::name
cpp_namet & name()
Definition
cpp_declarator.h:36
cpp_declaratort::init_args
const exprt & init_args() const
Definition
cpp_declarator.h:63
cpp_declaratort::value
const exprt & value() const
Definition
cpp_declarator.h:43
cpp_declaratort::method_qualifier
const irept & method_qualifier() const
Definition
cpp_declarator.h:69
cpp_declaratort::method_qualifier
irept & method_qualifier()
Definition
cpp_declarator.h:68
cpp_declaratort::init_args
exprt & init_args()
Definition
cpp_declarator.h:59
cpp_declaratort::get_is_parameter
bool get_is_parameter() const
Definition
cpp_declarator.h:48
cpp_declaratort::cpp_declaratort
cpp_declaratort(const typet &type)
Definition
cpp_declarator.h:29
cpp_namet
Definition
cpp_name.h:17
exprt::exprt
exprt()
Definition
expr.h:62
exprt::type
typet & type()
Return the type of the expression.
Definition
expr.h:85
exprt::add_source_location
source_locationt & add_source_location()
Definition
expr.h:241
irept::get_bool
bool get_bool(const irep_idt &name) const
Definition
irep.cpp:57
irept::find
const irept & find(const irep_idt &name) const
Definition
irep.cpp:93
irept::irept
irept(const irep_idt &_id)
Definition
irep.h:377
irept::set
void set(const irep_idt &name, const irep_idt &value)
Definition
irep.h:412
irept::make_nil
void make_nil()
Definition
irep.h:446
irept::add
irept & add(const irep_idt &name)
Definition
irep.cpp:103
typet
The type of an expression, extends irept.
Definition
type.h:29
cpp_name.h
expr.h
cpp
cpp_declarator.h
Generated by
1.17.0