Consolidate type checking logic
Move logic used to check types used in AIDL into a common superclass
of the language specific type namespaces. Add a templated
LanguageTypeNamespace class to allow language specific type reasoning
while sharing an implementation.
Move functionality important to the the AIDL type checking into
ValidatableType and out of the Java and C++ subclasses.
Removed GenericType from the Java type system because it messed around
with the canonical name for a type post construction, while adding
absolutely no value of its own.
Bug: 24470786
Test: unittests continue to pass, full build of android succeeds.
Change-Id: Ic03eb5d770c7f51abbde87c20a9b7287ce6a277e
7 files changed