File resolve-type-alias-base-class.patch of Package ccls
--- a/src/indexer.cc
+++ b/src/indexer.cc
@@ -325,6 +325,9 @@ try_again:
switch (tp->getTypeClass()) {
case Type::Typedef:
d = cast<TypedefType>(tp)->getDecl();
+ tp = cast<TypedefType>(tp)->getDecl()->getUnderlyingType().getTypePtrOrNull();
+ if (tp)
+ goto try_again;
break;
case Type::ObjCObject:
d = cast<ObjCObjectType>(tp)->getInterface();