blob: 5f79bf643d2dd2c36fcd8c74ddbf1fc76b8dc3a3 [file] [log] [blame]
Andreas Huberc9410c72016-07-28 12:18:40 -07001#ifndef NAMED_TYPE_H_
2
3#define NAMED_TYPE_H_
4
5#include "Type.h"
6
Andreas Huber31629bc2016-08-03 09:06:40 -07007#include "FQName.h"
8
Andreas Huberc9410c72016-07-28 12:18:40 -07009#include <string>
10
11namespace android {
12
13struct NamedType : public Type {
Andreas Huber9ed827c2016-08-22 12:31:13 -070014 NamedType(const char *localName);
Andreas Huber31629bc2016-08-03 09:06:40 -070015
Andreas Huber39fa7182016-08-19 14:27:33 -070016 bool isNamedType() const override;
17
Andreas Huber31629bc2016-08-03 09:06:40 -070018 void setFullName(const FQName &fullName);
Andreas Huberc9410c72016-07-28 12:18:40 -070019
Andreas Huberbfd76212016-08-09 11:12:16 -070020 const FQName &fqName() const;
Andreas Huber0e00de42016-08-03 09:56:02 -070021 std::string localName() const;
Andreas Huber31629bc2016-08-03 09:06:40 -070022 std::string fullName() const;
Andreas Huber2831d512016-08-15 09:33:47 -070023 std::string fullJavaName() const;
Andreas Huberc9410c72016-07-28 12:18:40 -070024
25private:
Andreas Huber31629bc2016-08-03 09:06:40 -070026 std::string mLocalName;
27 FQName mFullName;
Andreas Huberc9410c72016-07-28 12:18:40 -070028
29 DISALLOW_COPY_AND_ASSIGN(NamedType);
30};
31
32} // namespace android
33
34#endif // NAMED_TYPE_H_
35