Adds a new import to the rewriter's record and returns a type reference that can be used in the code. The type binding can be an array binding, type variable or wildcard. If the binding is a generic type, the type parameters are ignored. For parameterized types, also the type arguments are processed and imports added if necessary. Anonymous types inside type arguments are normalized to their base type, wildcard of wildcards are ignored.
No imports are added for types that are already known. If a import for a type is recorded to be removed, this record is discarded instead.
The content of the compilation unit itself is actually not modified in any way by this method; rather, the rewriter just records that a new import has been added.
@param binding the signature of the type to be added.
@return returns a type to which the type binding can be assigned to. The returned type contains is unqualifiedwhen an import could be added or was already known. It is fully qualified, if an import conflict prevented the import.