forked from diffblue/cbmc
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathjava_qualifiers.h
50 lines (37 loc) · 1.11 KB
/
java_qualifiers.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Author: Diffblue Ltd.
/// \file
/// Java-specific type qualifiers
#ifndef CPROVER_JAVA_BYTECODE_JAVA_QUALIFIERS_H
#define CPROVER_JAVA_BYTECODE_JAVA_QUALIFIERS_H
#include "java_types.h"
#include <ansi-c/c_qualifiers.h>
class java_qualifierst : public c_qualifierst
{
private:
const namespacet &ns;
std::vector<java_annotationt> annotations;
public:
explicit java_qualifierst(const namespacet &ns)
: ns(ns)
{}
protected:
java_qualifierst &operator=(const java_qualifierst &other);
public:
std::unique_ptr<c_qualifierst> clone() const override;
java_qualifierst &operator+=(const java_qualifierst &other);
const std::vector<java_annotationt> &get_annotations() const
{
return annotations;
}
void clear() override;
void read(const typet &src) override;
void write(typet &src) const override;
bool is_subset_of(const java_qualifierst &other) const;
bool operator==(const java_qualifierst &other) const;
bool operator!=(const java_qualifierst &other) const
{
return !(*this == other);
}
std::string as_string() const override;
};
#endif // CPROVER_JAVA_BYTECODE_JAVA_QUALIFIERS_H