cprover
cpp_storage_spec.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module:
4
5
Author: Daniel Kroening, kroening@cs.cmu.edu
6
7
\*******************************************************************/
8
9
10
#ifndef CPROVER_CPP_CPP_STORAGE_SPEC_H
11
#define CPROVER_CPP_CPP_STORAGE_SPEC_H
12
13
#include <
util/source_location.h
>
14
15
class
cpp_storage_spect
:
public
irept
16
{
17
public
:
18
cpp_storage_spect
():
irept
(ID_cpp_storage_spec)
19
{
20
}
21
22
source_locationt
&
location
()
23
{
24
return
static_cast<
source_locationt
&
>
(
add
(ID_C_source_location));
25
}
26
27
const
source_locationt
&
location
()
const
28
{
29
return
static_cast<
const
source_locationt
&
>
(
find
(ID_C_source_location));
30
}
31
32
bool
is_static
()
const
{
return
get_bool
(ID_static); }
33
bool
is_extern
()
const
{
return
get_bool
(ID_extern); }
34
bool
is_auto
()
const
{
return
get_bool
(ID_auto); }
35
bool
is_register
()
const
{
return
get_bool
(ID_register); }
36
bool
is_mutable
()
const
{
return
get_bool
(ID_mutable); }
37
bool
is_thread_local
()
const
{
return
get_bool
(ID_thread_local); }
38
bool
is_asm
()
const
{
return
get_bool
(ID_asm); }
39
40
void
set_static
() {
set
(ID_static,
true
); }
41
void
set_extern
() {
set
(ID_extern,
true
); }
42
void
set_auto
() {
set
(ID_auto,
true
); }
43
void
set_register
() {
set
(ID_register,
true
); }
44
void
set_mutable
() {
set
(ID_mutable,
true
); }
45
void
set_thread_local
() {
set
(ID_thread_local,
true
); }
46
void
set_asm
() {
set
(ID_asm,
true
); }
47
48
bool
is_empty
()
const
49
{
50
return
!
is_static
() && !
is_extern
() && !
is_auto
() &&
51
!
is_register
() && !
is_mutable
() && !
is_thread_local
() &&
52
!
is_asm
();
53
}
54
};
55
56
#endif // CPROVER_CPP_CPP_STORAGE_SPEC_H
cpp_storage_spect
Definition:
cpp_storage_spec.h:15
cpp_storage_spect::set_mutable
void set_mutable()
Definition:
cpp_storage_spec.h:44
cpp_storage_spect::is_asm
bool is_asm() const
Definition:
cpp_storage_spec.h:38
irept::add
irept & add(const irep_namet &name)
Definition:
irep.cpp:305
irept::find
const irept & find(const irep_namet &name) const
Definition:
irep.cpp:284
cpp_storage_spect::set_extern
void set_extern()
Definition:
cpp_storage_spec.h:41
cpp_storage_spect::set_static
void set_static()
Definition:
cpp_storage_spec.h:40
cpp_storage_spect::is_extern
bool is_extern() const
Definition:
cpp_storage_spec.h:33
cpp_storage_spect::is_empty
bool is_empty() const
Definition:
cpp_storage_spec.h:48
cpp_storage_spect::is_static
bool is_static() const
Definition:
cpp_storage_spec.h:32
irept::get_bool
bool get_bool(const irep_namet &name) const
Definition:
irep.cpp:239
cpp_storage_spect::is_mutable
bool is_mutable() const
Definition:
cpp_storage_spec.h:36
cpp_storage_spect::set_register
void set_register()
Definition:
cpp_storage_spec.h:43
source_location.h
cpp_storage_spect::cpp_storage_spect
cpp_storage_spect()
Definition:
cpp_storage_spec.h:18
cpp_storage_spect::is_auto
bool is_auto() const
Definition:
cpp_storage_spec.h:34
cpp_storage_spect::location
source_locationt & location()
Definition:
cpp_storage_spec.h:22
cpp_storage_spect::is_register
bool is_register() const
Definition:
cpp_storage_spec.h:35
source_locationt
Definition:
source_location.h:20
irept::set
void set(const irep_namet &name, const irep_idt &value)
Definition:
irep.h:286
cpp_storage_spect::is_thread_local
bool is_thread_local() const
Definition:
cpp_storage_spec.h:37
cpp_storage_spect::set_thread_local
void set_thread_local()
Definition:
cpp_storage_spec.h:45
irept
Base class for tree-like data structures with sharing.
Definition:
irep.h:156
cpp_storage_spect::set_auto
void set_auto()
Definition:
cpp_storage_spec.h:42
cpp_storage_spect::set_asm
void set_asm()
Definition:
cpp_storage_spec.h:46
cpp_storage_spect::location
const source_locationt & location() const
Definition:
cpp_storage_spec.h:27
cpp
cpp_storage_spec.h
Generated by
1.8.17