Optimization in Development Tools
Optimize code completion for many items of potential match quality.
The match quality is not queried just once, but multiple times.
Thus it is quite noticeable when we cache that value after first read.
We do the same for the match types of the CodeCompletionContext
and further cleanup getMatchQuality(), esp. to reuse the same
TypeConversion for the given loop.
The biggest impact is in constructor calls, esp. of e.g. QString.