typeName property
For message and enum types, this is the name of the type.
If the name starts with a '.', it is fully-qualified. Otherwise, C++-like scoping rules are used to find the type (i.e. first the nested types within this message are searched, then within the parent, on up to the root namespace).
Implementation
core.String? typeName;