diff options
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r-- | src/memberdef.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 303d8f3..69bcf9f 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -1114,12 +1114,6 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, } Specifier lvirt=virtualness(); - MemberDef *rmd=reimplements(); - while (rmd && lvirt==Normal) - { - lvirt = rmd->virtualness()==Normal ? Normal : Virtual; - rmd = rmd->reimplements(); - } if (protection()!=Public || lvirt!=Normal || isFriend() || isRelated() || isExplicit() || @@ -1725,3 +1719,15 @@ void MemberDef::setSectionList(Definition *d, MemberList *sl) classSectionSDict->append((int)d,sl); } +Specifier MemberDef::virtualness() const +{ + Specifier v = virt; + MemberDef *rmd = reimplements(); + while (rmd && v==Normal) + { + v = rmd->virtualness()==Normal ? Normal : Virtual; + rmd = rmd->reimplements(); + } + return v; +} + |