NamedType.h revision 2831d5145675ead9f2fb767bf5fe4ae56b88349f
1c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber#ifndef NAMED_TYPE_H_
2c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
3c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber#define NAMED_TYPE_H_
4c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
5c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber#include "Type.h"
6c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
731629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber#include "FQName.h"
831629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber
9c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber#include <string>
10c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
11c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Hubernamespace android {
12c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
13c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huberstruct NamedType : public Type {
1431629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber    NamedType();
1531629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber
1631629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber    void setLocalName(const std::string &localName);
1731629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber    void setFullName(const FQName &fullName);
18c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
19bfd7621b737387ded85d81c5ef9ec0f7cc35635fAndreas Huber    const FQName &fqName() const;
200e00de41d11a83ce3becb0dbd20b799acceb19a7Andreas Huber    std::string localName() const;
2131629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber    std::string fullName() const;
222831d5145675ead9f2fb767bf5fe4ae56b88349fAndreas Huber    std::string fullJavaName() const;
23c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
24c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huberprivate:
2531629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber    std::string mLocalName;
2631629bcd51ab30bc0aadc69f3fc8ce4893eca900Andreas Huber    FQName mFullName;
27c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
28c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber    DISALLOW_COPY_AND_ASSIGN(NamedType);
29c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber};
30c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
31c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber}  // namespace android
32c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
33c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber#endif  // NAMED_TYPE_H_
34c9410c7e62a33fd7599b2f3e025093a2d171577eAndreas Huber
35