class AidlTypenames

Defined at line 58 of file ../../third_party/android/platform/system/tools/aidl/aidl_typenames.h

AidlTypenames is a collection of AIDL types available to a compilation unit.

Basic types (such as int, String, etc.) are added by default, while defined

types (such as IFoo, MyParcelable, etc.) and types from preprocessed inputs

are added as they are recognized by the parser.

When AidlTypeSpecifier is encountered during parsing, parser defers the

resolution of it until the end of the parsing, where it uses AidlTypenames

to resolve type names in AidlTypeSpecifier.

Note that nothing here is specific to either Java or C++.

Public Methods

bool AddDocument (std::unique_ptr<AidlDocument> doc)
void AidlTypenames ()

Defined at line 60 of file ../../third_party/android/platform/system/tools/aidl/aidl_typenames.h

const std::vector<std::unique_ptr<AidlDocument>> & AllDocuments ()

Defined at line 62 of file ../../third_party/android/platform/system/tools/aidl/aidl_typenames.h

const AidlDocument & MainDocument ()
bool IsBuiltinTypename (const string & type_name)
bool IsPrimitiveTypename (const string & type_name)
bool IsParcelable (const string & type_name)
const AidlDefinedType * TryGetDefinedType (const string & type_name)
std::vector<const AidlDefinedType *> AllDefinedTypes ()
ResolvedTypename ResolveTypename (const string & type_name)
std::unique_ptr<AidlTypeSpecifier> MakeResolvedType (const AidlLocation & location, const string & name, bool is_array)
ArgumentAspect GetArgumentAspect (const AidlTypeSpecifier & type)
bool CanBeJavaOnlyImmutable (const AidlTypeSpecifier & type)
bool CanBeFixedSize (const AidlTypeSpecifier & type)
bool IsList (const AidlTypeSpecifier & type)
bool IsIgnorableImport (const string & import)
const AidlEnumDeclaration * GetEnumDeclaration (const AidlTypeSpecifier & type)

Returns the AidlEnumDeclaration of the given type, or nullptr if the type

is not an AidlEnumDeclaration;

const AidlInterface * GetInterface (const AidlTypeSpecifier & type)

Returns the AidlInterface of the given type, or nullptr if the type

is not an AidlInterface;

const AidlParcelable * GetParcelable (const AidlTypeSpecifier & type)

Returns the AidlParcelable of the given type, or nullptr if the type

is not an AidlParcelable;

void IterateTypes (const std::function<void (const AidlDefinedType &)> & body)

Iterates over all defined types

bool Autofill ()

Fixes AST after type/ref resolution before validation

Records