macro_prototype
macro_prototype copied to clipboard
Consider adding a `ResolvedTypeReference` class
This would be what you get when you introspect on types in the Declaration phase. Today, we give you a TypeDeclaration object, but that gets a bit confusing, because ClassDeclaration extends TypeDeclaration, but we should never give you a ClassDeclaration in this phase. If an implementation gave you ClassDecaration it would expose information that should only be available to directly annotated classes such as the members of that class.
We could avoid this situation by instead returning a ResolvedTypeReference, which would have an identical api to TypeDeclaration, but ClassDeclaration would not implement it.