Scope.h revision a2723d26427f7db19777dfed330047253e7a4e1b
1#ifndef SCOPE_H_ 2 3#define SCOPE_H_ 4 5#include "NamedType.h" 6 7#include <utils/KeyedVector.h> 8#include <utils/Vector.h> 9 10namespace android { 11 12struct Constant; 13 14struct Scope : public NamedType { 15 Scope(const char *name); 16 17 bool addType(NamedType *type); 18 Type *lookupType(const char *name) const; 19 20 bool addConstant(Constant *constant); 21 22 void dump(Formatter &out) const override; 23 bool isScope() const override; 24 bool containsSingleInterface(std::string *ifaceName) const; 25 26private: 27 Vector<Type *> mTypes; 28 KeyedVector<std::string, size_t> mTypeIndexByName; 29 30 KeyedVector<std::string, Constant *> mConstants; 31 32 DISALLOW_COPY_AND_ASSIGN(Scope); 33}; 34 35} // namespace android 36 37#endif // SCOPE_H_ 38 39