CBMC
java_qualifiers.h
Go to the documentation of this file.
1 // Author: Diffblue Ltd.
2 
5 
6 #ifndef CPROVER_JAVA_BYTECODE_JAVA_QUALIFIERS_H
7 #define CPROVER_JAVA_BYTECODE_JAVA_QUALIFIERS_H
8 
9 #include "java_types.h"
10 #include <ansi-c/c_qualifiers.h>
11 
13 {
14 private:
15  const namespacet &ns;
16  std::vector<java_annotationt> annotations;
17 
18 public:
19  explicit java_qualifierst(const namespacet &ns)
20  : ns(ns)
21  {}
22 
23 protected:
25 public:
26  virtual std::unique_ptr<qualifierst> clone() const override;
27 
28  virtual qualifierst &operator+=(const qualifierst &other) override;
29 
30  const std::vector<java_annotationt> &get_annotations() const
31  {
32  return annotations;
33  }
34  virtual std::size_t count() const override;
35 
36  virtual void clear() override;
37 
38  virtual void read(const typet &src) override;
39  virtual void write(typet &src) const override;
40 
41  virtual bool is_subset_of(const qualifierst &other) const override;
42  virtual bool operator==(const qualifierst &other) const override;
43 
44  virtual std::string as_string() const override;
45 };
46 
47 #endif // CPROVER_JAVA_BYTECODE_JAVA_QUALIFIERS_H
virtual std::unique_ptr< qualifierst > clone() const override
virtual void read(const typet &src) override
virtual bool is_subset_of(const qualifierst &other) const override
virtual void write(typet &src) const override
virtual std::string as_string() const override
virtual bool operator==(const qualifierst &other) const override
virtual qualifierst & operator+=(const qualifierst &other) override
virtual std::size_t count() const override
virtual void clear() override
java_qualifierst & operator=(const java_qualifierst &other)
java_qualifierst(const namespacet &ns)
std::vector< java_annotationt > annotations
const std::vector< java_annotationt > & get_annotations() const
const namespacet & ns
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition: namespace.h:94
The type of an expression, extends irept.
Definition: type.h:29