blob: 00e7f0bb506d1c8dae3b1d0161488b97c81acbaf [file] [log] [blame]
Andreas Huber5345ec22016-07-29 13:33:27 -07001#ifndef COORDINATOR_H_
2
3#define COORDINATOR_H_
4
5#include <android-base/macros.h>
6#include <string>
7#include <utils/KeyedVector.h>
8
9namespace android {
10
11struct AST;
12struct FQName;
13struct Type;
14
15struct Coordinator {
16 Coordinator();
17 ~Coordinator();
18
Andreas Huber68f24592016-07-29 14:53:48 -070019 AST *parse(const FQName &fqName);
Andreas Huber5345ec22016-07-29 13:33:27 -070020
21 Type *lookupType(const FQName &fqName) const;
22
23 static std::string GetPackagePath(const FQName &fqName);
24
25private:
Andreas Huber68f24592016-07-29 14:53:48 -070026 KeyedVector<FQName, AST *> mCache;
Andreas Huber5345ec22016-07-29 13:33:27 -070027
28 DISALLOW_COPY_AND_ASSIGN(Coordinator);
29};
30
31} // namespace android
32
33#endif // COORDINATOR_H_