blob: 52a7434c85072daa8e81b3c00345892c0054a805 [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 Huber31629bc2016-08-03 09:06:40 -070014 NamedType();
15
Andreas Huber39fa7182016-08-19 14:27:33 -070016 bool isNamedType() const override;
17
Andreas Huber31629bc2016-08-03 09:06:40 -070018 void setLocalName(const std::string &localName);
19 void setFullName(const FQName &fullName);
Andreas Huberc9410c72016-07-28 12:18:40 -070020
Andreas Huberbfd76212016-08-09 11:12:16 -070021 const FQName &fqName() const;
Andreas Huber0e00de42016-08-03 09:56:02 -070022 std::string localName() const;
Andreas Huber31629bc2016-08-03 09:06:40 -070023 std::string fullName() const;
Andreas Huber2831d512016-08-15 09:33:47 -070024 std::string fullJavaName() const;
Andreas Huberc9410c72016-07-28 12:18:40 -070025
26private:
Andreas Huber31629bc2016-08-03 09:06:40 -070027 std::string mLocalName;
28 FQName mFullName;
Andreas Huberc9410c72016-07-28 12:18:40 -070029
30 DISALLOW_COPY_AND_ASSIGN(NamedType);
31};
32
33} // namespace android
34
35#endif // NAMED_TYPE_H_
36