Fix using reserved type names in identifiers.
Summary:
Remove special tokens for base type names (PHP itself doesn't
have them either in their AST). Unfortunately, keeping them,
while cleaner, is also a lot more complicated and would leave
us with double the amount of FIRST/FIRST conflicts in the grammar.
(Mostly when NamespacedIdentifiers would conflict with base types
in typehints. Think 'String\Stringhandler $foo' vs 'string $bar'.
Removing the tokens essentially immediately resolves the bug,
with the remaining work just being error handling and a bit of
cleanup.
BUG: 392759
BUG: 395305
FIXED-IN: 5.3.0
Reviewers: mwolff
Reviewed By: mwolff
Subscribers: mwolff, kdevelop-devel
Tags: KDevelop
Differential Revision: https://phabricator.kde.org/D13313