Given an anonymous type defined in a method, the call hierarchy of a
method in the anonymous type can contain wrong entries. This is due to
SearchPattern.enclosingTypeNames() adding '*' symbols to a part of the
search pattern, for anonymous types defined in a method. The '*' symbol
then matches more inner types than actual matches.
This change replaces the '*' symbol with type names, when possible. This
ensures no unexpected matches are seen in the call hierarchy.
Fixes: #856
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>