Use type name as fallback ID for anon typedef'ed structs/unions etc.

Authored by mwolff on Sep 21 2019, 12:27 PM.

Description

Use type name as fallback ID for anon typedef'ed structs/unions etc.

The cursor pointing to the struct within typedef struct {...} foo;
has an empty cursor spelling, but its type spelling is set to foo.
This is ideal to disambiguate between different structs. Without that,
we would end up associating uses of different cursors to the first
declaration with an empty name. Now that we set a proper non-empty
name, we can correctly disambiguate and associate the uses correctly.

BUG: 409041