logic: expanded indexer to cover more template argument related elements

* recording of usages of FunctionProtoTypes (e.g. "int(void)" can be used as a template argument)
* implemented solving names of dependent template specialization types (these are not as bad as it sounds ;) )
* implemented correct solving or decayed types
* fixed: qualified type usages are recorded in the correct context
* changed cxx indexer tests not to crash anymore when something is not found
This commit is contained in:
malte_langkabel
2016-11-24 15:56:55 +01:00
parent d787db57be
commit 3124a4320e
6 changed files with 778 additions and 485 deletions
-1
View File
@@ -33,7 +33,6 @@ void ParserClientImpl::finishParsingFile()
{
}
Id ParserClientImpl::recordSymbol(
const NameHierarchy& symbolName, SymbolKind symbolType,
AccessKind access, bool isImplicit
+13
View File
@@ -58,6 +58,19 @@ namespace utility
);
}
template<typename T>
bool containsElement(const std::vector<T>& v, const T& e)
{
for (const T& ve: v)
{
if (ve == e)
{
return true;
}
}
return false;
}
bool intersectionPoint(Vec2f a1, Vec2f b1, Vec2f a2, Vec2f b2, Vec2f* i);
size_t digits(size_t n);