Kaydet (Commit) 385a2485 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Do not warn about Link<Window *>

Change-Id: Id26adce17a2479eead935958556012f13f2821b7
üst a8174d25
...@@ -105,12 +105,17 @@ bool containsWindowSubclass(const Type* pType0) { ...@@ -105,12 +105,17 @@ bool containsWindowSubclass(const Type* pType0) {
if (pRecordDecl) { if (pRecordDecl) {
const ClassTemplateSpecializationDecl* pTemplate = dyn_cast<ClassTemplateSpecializationDecl>(pRecordDecl); const ClassTemplateSpecializationDecl* pTemplate = dyn_cast<ClassTemplateSpecializationDecl>(pRecordDecl);
if (pTemplate) { if (pTemplate) {
bool link = pTemplate->getQualifiedNameAsString() == "Link";
for(unsigned i=0; i<pTemplate->getTemplateArgs().size(); ++i) { for(unsigned i=0; i<pTemplate->getTemplateArgs().size(); ++i) {
const TemplateArgument& rArg = pTemplate->getTemplateArgs()[i]; const TemplateArgument& rArg = pTemplate->getTemplateArgs()[i];
if (rArg.getKind() == TemplateArgument::ArgKind::Type && if (rArg.getKind() == TemplateArgument::ArgKind::Type &&
containsWindowSubclass(rArg.getAsType())) containsWindowSubclass(rArg.getAsType()))
{ {
return true; // OK for first template argument of tools/link.hxx Link
// to be a Window-derived pointer:
if (!link || i != 0) {
return true;
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment