Add ExplicitlyTyped flag to Declaration.
Explicitly typed declaration has the type writen as part of the declaration. The opposite, implicitly typed declaration, has the type deduced by the compiler.
E.g. in C++ variable declarations are explicitly typed unless the "auto" keyword is used.
The intended use is to display inline note with the deduced type next to all implicitly typed declarations.
Another use, maybe a bit of a stretch; Suggestions on the right side of assignment to an explicitly typed declaration should take the declaration type into consideration, but assignments to implicitly typed declaration should ignore the currently deduced type, since it will change into whatever new type will be assigned into it.
Test Plan: The plugins/clang/tests/files/variables.cpp was extended to test the basic C++ case.
Reviewed By: brauch
Subscribers: brauch, kdevelop-devel
Differential Revision: https://phabricator.kde.org/D14838