[Libreoffice-commits] core.git: compilerplugins/clang

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Thu Oct 17 14:52:09 UTC 2019


 compilerplugins/clang/virtualdead.cxx                  |   31 +
 compilerplugins/clang/virtualdead.py                   |   76 ++
 compilerplugins/clang/virtualdead.results              |   29 -
 compilerplugins/clang/virtualdead.unusedparams.results |  450 +++++++++++++++++
 4 files changed, 543 insertions(+), 43 deletions(-)

New commits:
commit e8475b6343af23bc1ac2d722afd8df4d7615a7a8
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Thu Oct 17 11:05:43 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Oct 17 16:51:07 2019 +0200

    loplugin:virtualdead look for virtual methods where a param is unused
    
    Change-Id: Ibadc2aa79a52082db16eff44c89ab30938838dd8
    Reviewed-on: https://gerrit.libreoffice.org/80935
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/compilerplugins/clang/virtualdead.cxx b/compilerplugins/clang/virtualdead.cxx
index c2d804067d7b..330085b18781 100644
--- a/compilerplugins/clang/virtualdead.cxx
+++ b/compilerplugins/clang/virtualdead.cxx
@@ -43,9 +43,19 @@ bool operator<(const MyFuncInfo& lhs, const MyFuncInfo& rhs)
 {
     return std::tie(lhs.name, lhs.returnValue) < std::tie(rhs.name, rhs.returnValue);
 }
+struct MyParamInfo
+{
+    std::string funcName;
+    std::string paramBitField;
+};
+bool operator<(const MyParamInfo& lhs, const MyParamInfo& rhs)
+{
+    return std::tie(lhs.funcName, lhs.paramBitField) < std::tie(rhs.funcName, rhs.paramBitField);
+}
 
 // try to limit the voluminous output a little
 static std::set<MyFuncInfo> definitionSet;
+static std::set<MyParamInfo> paramUsedSet;
 
 class VirtualDead : public RecursiveASTVisitor<VirtualDead>, public loplugin::Plugin
 {
@@ -64,6 +74,8 @@ public:
         std::string output;
         for (const MyFuncInfo& s : definitionSet)
             output += "virtual:\t" + s.name + "\t" + s.sourceLocation + "\t" + s.returnValue + "\n";
+        for (const MyParamInfo& s : paramUsedSet)
+            output += "param:\t" + s.funcName + "\t" + s.paramBitField + "\n";
         std::ofstream myfile;
         myfile.open(WORKDIR "/loplugin.virtualdead.log", std::ios::app | std::ios::out);
         myfile << output;
@@ -77,7 +89,8 @@ public:
 private:
     std::string getCallValue(const Expr* arg);
     std::string toString(SourceLocation loc);
-    void markSuperclassMethods(const CXXMethodDecl* methodDecl, std::string returnValue);
+    void markSuperclassMethods(const CXXMethodDecl* methodDecl, const std::string& returnValue,
+                               const std::string& paramBitField);
 };
 
 std::string niceName(const CXXMethodDecl* cxxMethodDecl)
@@ -142,18 +155,28 @@ bool VirtualDead::VisitCXXMethodDecl(const CXXMethodDecl* methodDecl)
     else
         returnValue = "empty";
 
-    markSuperclassMethods(methodDecl, returnValue);
+    std::string paramBitfield;
+    for (auto it = methodDecl->param_begin(); it != methodDecl->param_end(); ++it)
+    {
+        auto param = *it;
+        paramBitfield += param->getName().empty() ? "0" : "1";
+    }
+
+    markSuperclassMethods(methodDecl, returnValue, paramBitfield);
 
     return true;
 }
 
-void VirtualDead::markSuperclassMethods(const CXXMethodDecl* methodDecl, std::string returnValue)
+void VirtualDead::markSuperclassMethods(const CXXMethodDecl* methodDecl,
+                                        const std::string& returnValue,
+                                        std::string const& paramBitField)
 {
     if (methodDecl->size_overridden_methods() == 0)
     {
         std::string aNiceName = niceName(methodDecl);
         definitionSet.insert(
             { aNiceName, toString(methodDecl->getCanonicalDecl()->getLocation()), returnValue });
+        paramUsedSet.insert({ aNiceName, paramBitField });
         return;
     }
 
@@ -161,7 +184,7 @@ void VirtualDead::markSuperclassMethods(const CXXMethodDecl* methodDecl, std::st
          iter != methodDecl->end_overridden_methods(); ++iter)
     {
         const CXXMethodDecl* overriddenMethod = *iter;
-        markSuperclassMethods(overriddenMethod, returnValue);
+        markSuperclassMethods(overriddenMethod, returnValue, paramBitField);
     }
 }
 
diff --git a/compilerplugins/clang/virtualdead.py b/compilerplugins/clang/virtualdead.py
index 9f5ab39663d0..eccfbd4f76e3 100755
--- a/compilerplugins/clang/virtualdead.py
+++ b/compilerplugins/clang/virtualdead.py
@@ -5,6 +5,8 @@ import re
 import io
 
 callDict = dict() # callInfo tuple -> callValue
+definitionToSourceLocationMap = dict()
+paramSet = set() # paraminfo tuple
 
 # clang does not always use exactly the same numbers in the type-parameter vars it generates
 # so I need to substitute them to ensure we can match correctly.
@@ -17,13 +19,22 @@ with io.open("workdir/loplugin.virtualdead.log", "rb", buffering=1024*1024) as t
     for line in txt:
         try:
             tokens = line.strip().split("\t")
-            nameAndParams = normalizeTypeParams(tokens[1])
-            sourceLocation = tokens[2]
-            returnValue = tokens[3]
-            callInfo = (nameAndParams, sourceLocation)
-            if not callInfo in callDict:
-                callDict[callInfo] = set()
-            callDict[callInfo].add(returnValue)
+            if tokens[0] == "virtual:":
+                nameAndParams = normalizeTypeParams(tokens[1])
+                sourceLocation = tokens[2]
+                returnValue = tokens[3]
+                callInfo = (nameAndParams, sourceLocation)
+                if not callInfo in callDict:
+                    callDict[callInfo] = set()
+                callDict[callInfo].add(returnValue)
+                definitionToSourceLocationMap[nameAndParams] = sourceLocation
+            elif tokens[0] == "param:":
+                name = normalizeTypeParams(tokens[1])
+                if len(tokens)>2:
+                    bitfield = tokens[2]
+                    paramSet.add((name,bitfield))
+            else:
+                print( "unknown line: " + line)
         except IndexError:
             print "problem with line " + line.strip()
             raise
@@ -44,18 +55,56 @@ for callInfo, callValues in callDict.iteritems():
         continue
     if "pure" in callValue:
         continue
-    sourceLoc = callInfo[1]
-    if sourceLoc.startswith("workdir/"):
-        continue
+    srcloc = callInfo[1]
+    if srcloc.startswith("workdir/"): continue
+    # ignore Qt stuff
+    if srcloc.startswith("Gui/"): continue
+    if srcloc.startswith("Widgets/"): continue
+    if srcloc.startswith("Core/"): continue
     functionSig = callInfo[0]
-    tmp1list.append((sourceLoc, functionSig, callValue))
+    tmp1list.append((srcloc, functionSig, callValue))
 
+def merge_bitfield(a, b):
+    if len(a) == 0: return b
+    ret = ""
+    for i, c in enumerate(b):
+        if c == "1" or a[i] == "1":
+            ret += "1"
+        else:
+            ret += "0"
+    return ret;
+tmp2dict = dict()
+tmp2list = list()
+for paramInfo in paramSet:
+    name = paramInfo[0]
+    bitfield = paramInfo[1]
+    if re.match( r"\w+ com::", name): continue
+    if re.match( r"\w+ ooo::vba::", name): continue
+    if re.match( r"\w+ orcus::", name): continue
+    if re.match( r"\w+ std::", name): continue
+    if not name in tmp2dict:
+        tmp2dict[name] = bitfield
+    else:
+        tmp2dict[name] = merge_bitfield(tmp2dict[name], bitfield)
+for name, bitfield in tmp2dict.iteritems():
+    srcloc = definitionToSourceLocationMap[name]
+    # ignore Qt stuff
+    if srcloc.startswith("Gui/"): continue
+    if srcloc.startswith("Widgets/"): continue
+    if srcloc.startswith("Core/"): continue
+    # ignore external stuff
+    if srcloc.startswith("workdir/"): continue
+    # referenced by generated code in workdir/
+    if srcloc.startswith("writerfilter/source/ooxml/OOXMLFactory.hxx"): continue
+    if "0" in bitfield:
+        tmp2list.append((srcloc, name, bitfield))
 
 # sort results by filename:lineno
 def natural_sort_key(s, _nsre=re.compile('([0-9]+)')):
     return [int(text) if text.isdigit() else text.lower()
             for text in re.split(_nsre, s)]
 tmp1list.sort(key=lambda v: natural_sort_key(v[0]))
+tmp2list.sort(key=lambda v: natural_sort_key(v[0]))
 
 # print out the results
 with open("compilerplugins/clang/virtualdead.results", "wt") as f:
@@ -63,3 +112,8 @@ with open("compilerplugins/clang/virtualdead.results", "wt") as f:
         f.write(v[0] + "\n")
         f.write("    " + v[1] + "\n")
         f.write("    " + v[2] + "\n")
+with open("compilerplugins/clang/virtualdead.unusedparams.results", "wt") as f:
+    for v in tmp2list:
+        f.write(v[0] + "\n")
+        f.write("    " + v[1] + "\n")
+        f.write("    " + v[2] + "\n")
diff --git a/compilerplugins/clang/virtualdead.results b/compilerplugins/clang/virtualdead.results
index 1e8d8a886cad..87e6431675e0 100644
--- a/compilerplugins/clang/virtualdead.results
+++ b/compilerplugins/clang/virtualdead.results
@@ -10,27 +10,6 @@ basic/source/comp/codegen.cxx:526
 desktop/source/deployment/registry/inc/dp_backenddb.hxx:119
     class rtl::OUString dp_registry::backend::BackendDb::getDbNSName()
     "http://openoffi
-Gui/qaccessible.h:465
-    class QObject * QAccessibleInterface::object()const
-    0
-Gui/qaccessible.h:466
-    class QWindow * QAccessibleInterface::window()const
-    0
-Gui/qaccessible.h:478
-    int QAccessibleInterface::indexOfChild(const class QAccessibleInterface *,)const
-    0
-Gui/qaccessible.h:482
-    void QAccessibleInterface::setText(enum QAccessible::Text,const class QString &,)
-    empty
-Gui/qaccessible.h:612
-    _Bool QAccessibleTableInterface::isColumnSelected(int,)const
-    1
-Gui/qaccessible.h:613
-    _Bool QAccessibleTableInterface::isRowSelected(int,)const
-    1
-Gui/qaccessible.h:619
-    void QAccessibleTableInterface::modelChange(class QAccessibleTableModelChangeEvent *,)
-    empty
 include/basegfx/utils/unopolypolygon.hxx:97
     void basegfx::unotools::UnoPolyPolygon::modifying()const
     empty
@@ -55,9 +34,6 @@ include/canvas/base/graphicdevicebase.hxx:319
 include/connectivity/sdbcx/IRefreshable.hxx:31
     void connectivity::sdbcx::IRefreshableGroups::refreshGroups()
     empty
-include/dbaccess/ToolBoxHelper.hxx:56
-    void dbaui::OToolBoxHelper::setImageList(short,)
-    empty
 include/filter/msfilter/msdffimp.hxx:546
     _Bool SvxMSDffManager::ShapeHasText(unsigned long,unsigned long,)const
     1
@@ -82,7 +58,7 @@ include/svtools/unoevent.hxx:199
 include/test/text/xtextcontent.hxx:29
     _Bool apitest::XTextContent::isAttachSupported()
     1
-include/ucbhelper/resultset.hxx:425
+include/ucbhelper/resultset.hxx:411
     void ucbhelper::ResultSetDataSupplier::close()
     empty
 include/unotools/desktopterminationobserver.hxx:35
@@ -91,9 +67,6 @@ include/unotools/desktopterminationobserver.hxx:35
 include/vbahelper/vbahelperinterface.hxx:77
     int InheritedHelperInterfaceImpl::getCreator()
     1400204879
-include/vcl/tabpage.hxx:51
-    void TabPage::DeactivatePage()
-    empty
 sc/source/core/opencl/formulagroupcl.cxx:1059
     void sc::opencl::DynamicKernelSlidingArgument::GenSlidingWindowFunction(class std::__cxx11::basic_stringstream<char> &,)
     empty
diff --git a/compilerplugins/clang/virtualdead.unusedparams.results b/compilerplugins/clang/virtualdead.unusedparams.results
new file mode 100644
index 000000000000..4a5fe58aa00c
--- /dev/null
+++ b/compilerplugins/clang/virtualdead.unusedparams.results
@@ -0,0 +1,450 @@
+basctl/source/inc/doceventnotifier.hxx:42
+    void basctl::DocumentEventListener::onDocumentCreated(const class basctl::ScriptDocument &,)
+    0
+basctl/source/inc/doceventnotifier.hxx:43
+    void basctl::DocumentEventListener::onDocumentOpened(const class basctl::ScriptDocument &,)
+    0
+basctl/source/inc/doceventnotifier.hxx:44
+    void basctl::DocumentEventListener::onDocumentSave(const class basctl::ScriptDocument &,)
+    0
+basctl/source/inc/doceventnotifier.hxx:45
+    void basctl::DocumentEventListener::onDocumentSaveDone(const class basctl::ScriptDocument &,)
+    0
+basctl/source/inc/doceventnotifier.hxx:46
+    void basctl::DocumentEventListener::onDocumentSaveAs(const class basctl::ScriptDocument &,)
+    0
+basctl/source/inc/doceventnotifier.hxx:47
+    void basctl::DocumentEventListener::onDocumentSaveAsDone(const class basctl::ScriptDocument &,)
+    0
+basctl/source/inc/doceventnotifier.hxx:49
+    void basctl::DocumentEventListener::onDocumentTitleChanged(const class basctl::ScriptDocument &,)
+    0
+basic/source/comp/codegen.cxx:464
+    void OffSetAccumulator::start(const unsigned char *,)
+    0
+basic/source/comp/codegen.cxx:465
+    void OffSetAccumulator::processOpCode0(enum SbiOpcode,)
+    0
+basic/source/comp/codegen.cxx:466
+    void OffSetAccumulator::processOpCode1(enum SbiOpcode,type-parameter-?-?,)
+    00
+basic/source/comp/codegen.cxx:467
+    void OffSetAccumulator::processOpCode2(enum SbiOpcode,type-parameter-?-?,type-parameter-?-?,)
+    000
+chart2/source/controller/dialogs/ChangingResource.hxx:30
+    void chart::ResourceChangeListener::stateChanged(class chart::ChangingResource *,)
+    0
+chart2/source/controller/dialogs/ChartTypeDialogController.hxx:105
+    void chart::ChartTypeDialogController::fillExtraControls(const class chart::ChartTypeParameter &,const class com::sun::star::uno::Reference<class com::sun::star::chart2::XChartDocument> &,const class com::sun::star::uno::Reference<class com::sun::star::beans::XPropertySet> &,)const
+    011
+dbaccess/source/core/api/CacheSet.hxx:174
+    _Bool dbaccess::OCacheSet::previous_checked(_Bool,)
+    0
+dbaccess/source/core/api/CacheSet.hxx:175
+    _Bool dbaccess::OCacheSet::absolute_checked(int,_Bool,)
+    10
+dbaccess/source/core/api/CacheSet.hxx:176
+    _Bool dbaccess::OCacheSet::last_checked(_Bool,)
+    0
+dbaccess/source/core/inc/containerapprove.hxx:53
+    void dbaccess::IContainerApprove::approveElement(const class rtl::OUString &,const class com::sun::star::uno::Reference<class com::sun::star::uno::XInterface> &,)
+    10
+dbaccess/source/ui/inc/callbacks.hxx:53
+    _Bool dbaui::IControlActionListener::requestDrag(signed char,const class Point &,)
+    01
+dbaccess/source/ui/inc/TableDesignControl.hxx:68
+    _Bool dbaui::OTableRowView::IsPrimaryKeyAllowed(long,)
+    0
+dbaccess/source/ui/inc/TableDesignControl.hxx:70
+    _Bool dbaui::OTableRowView::IsDeleteAllowed(long,)
+    0
+desktop/source/deployment/registry/inc/dp_backend.h:84
+    void dp_registry::backend::Package::processPackage_(class osl::ResettableGuard<class osl::Mutex> &,_Bool,_Bool,const class rtl::Reference<class dp_misc::AbortChannel> &,const class com::sun::star::uno::Reference<class com::sun::star::ucb::XCommandEnvironment> &,)
+    01111
+extensions/source/bibliography/loadlisteneradapter.hxx:110
+    void bib::OLoadListener::_unloading(const struct com::sun::star::lang::EventObject &,)
+    0
+extensions/source/bibliography/loadlisteneradapter.hxx:111
+    void bib::OLoadListener::_reloading(const struct com::sun::star::lang::EventObject &,)
+    0
+forms/source/richtext/textattributelistener.hxx:32
+    void frm::ITextAttributeListener::onAttributeStateChanged(int,const struct frm::AttributeState &,)
+    10
+forms/source/richtext/textattributelistener.hxx:44
+    void frm::ITextSelectionListener::onSelectionChanged(const struct ESelection &,)
+    0
+fpicker/source/office/fpdialogbase.hxx:106
+    void SvtFileDialog_Base::setImage(short,const class com::sun::star::uno::Any &,)
+    01
+include/canvas/base/bufferedgraphicdevicebase.hxx:230
+    void canvas::BufferedGraphicDeviceBase::windowShown(const struct com::sun::star::lang::EventObject &,)
+    0
+include/canvas/base/bufferedgraphicdevicebase.hxx:237
+    void canvas::BufferedGraphicDeviceBase::windowHidden(const struct com::sun::star::lang::EventObject &,)
+    0
+include/canvas/base/graphicdevicebase.hxx:240
+    unsigned char canvas::GraphicDeviceBase::enterFullScreenMode(unsigned char,)
+    0
+include/canvas/base/graphicdevicebase.hxx:306
+    void canvas::GraphicDeviceBase::removePropertyChangeListener(const class rtl::OUString &,const class com::sun::star::uno::Reference<class com::sun::star::beans::XPropertyChangeListener> &,)
+    00
+include/canvas/base/graphicdevicebase.hxx:319
+    void canvas::GraphicDeviceBase::removeVetoableChangeListener(const class rtl::OUString &,const class com::sun::star::uno::Reference<class com::sun::star::beans::XVetoableChangeListener> &,)
+    00
+include/canvas/base/integerbitmapbase.hxx:59
+    void canvas::IntegerBitmapBase::setData(const class com::sun::star::uno::Sequence<signed char> &,const struct com::sun::star::rendering::IntegerBitmapLayout &,const struct com::sun::star::geometry::IntegerRectangle2D &,)
+    011
+include/canvas/base/integerbitmapbase.hxx:73
+    void canvas::IntegerBitmapBase::setPixel(const class com::sun::star::uno::Sequence<signed char> &,const struct com::sun::star::rendering::IntegerBitmapLayout &,const struct com::sun::star::geometry::IntegerPoint2D &,)
+    011
+include/cppuhelper/propshlp.hxx:326
+    void cppu::IEventNotificationHook::fireEvents(int *,int,unsigned char,_Bool,)
+    0111
+include/drawinglayer/primitive2d/textbreakuphelper.hxx:61
+    _Bool drawinglayer::primitive2d::TextBreakupHelper::allowChange(unsigned int,class basegfx::B2DHomMatrix &,unsigned int,unsigned int,)
+    0111
+include/editeng/editeng.hxx:475
+    void EditEngine::PaintingFirstLine(int,const class Point &,long,const class Point &,short,class OutputDevice *,)
+    110111
+include/editeng/editeng.hxx:478
+    void EditEngine::ParagraphConnected(int,int,)
+    01
+include/editeng/editeng.hxx:503
+    void EditEngine::FieldClicked(const class SvxFieldItem &,int,int,)
+    100
+include/editeng/svxrtf.hxx:247
+    void SvxRTFParser::UnknownAttrToken(int,class SfxItemSet *,)
+    10
+include/filter/msfilter/msdffimp.hxx:506
+    void SvxMSDffManager::ProcessClientAnchor2(class SvStream &,class DffRecordHeader &,class SvxMSDffClientData &,struct DffObjData &,)
+    1101
+include/filter/msfilter/msdffimp.hxx:546
+    _Bool SvxMSDffManager::ShapeHasText(unsigned long,unsigned long,)const
+    00
+include/oox/dump/dumperbase.hxx:473
+    void oox::dump::ConfigItemBase::implProcessConfigItemInt(class oox::TextInputStream &,long,const class rtl::OUString &,)
+    011
+include/oox/dump/dumperbase.hxx:564
+    class rtl::OUString oox::dump::NameListBase::implGetNameDbl(const class oox::dump::Config &,double,)const
+    01
+include/oox/dump/oledumper.hxx:166
+    void oox::dump::ComCtlObjectBase::implDumpCommonExtra(long,)
+    0
+include/oox/export/shapes.hxx:136
+    class oox::drawingml::ShapeExport & oox::drawingml::ShapeExport::WriteNonVisualProperties(const class com::sun::star::uno::Reference<class com::sun::star::drawing::XShape> &,)
+    0
+include/sfx2/objsh.hxx:637
+    void SfxObjectShell::FillClass(class SvGlobalName *,enum SotClipboardFormatId *,class rtl::OUString *,class rtl::OUString *,class rtl::OUString *,int,_Bool,)const
+    1101111
+include/sfx2/sfxstatuslistener.hxx:49
+    void SfxStatusListener::StateChanged(unsigned short,enum SfxItemState,const class SfxPoolItem *,)
+    011
+include/sfx2/sidebar/ControllerItem.hxx:44
+    void sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface::NotifyItemUpdate(const unsigned short,const enum SfxItemState,const class SfxPoolItem *,const _Bool,)
+    1110
+include/sfx2/sidebar/TitleBar.hxx:61
+    void sfx2::sidebar::TitleBar::PaintDecoration(class OutputDevice &,const class tools::Rectangle &,)
+    10
+include/sfx2/stbitem.hxx:100
+    _Bool SfxStatusBarControl::MouseButtonUp(const class MouseEvent &,)
+    0
+include/sfx2/thumbnailviewitem.hxx:118
+    void ThumbnailViewItem::calculateItemsPosition(const long,const long,const long,unsigned int,const struct ThumbnailItemAttributes *,)
+    10111
+include/svl/svdde.hxx:228
+    _Bool DdeGetPutItem::Put(const class DdeData *,)
+    0
+include/svl/svdde.hxx:237
+    class DdeData * DdeTopic::Get(enum SotClipboardFormatId,)
+    0
+include/svl/svdde.hxx:238
+    _Bool DdeTopic::Put(const class DdeData *,)
+    0
+include/svl/svdde.hxx:239
+    _Bool DdeTopic::Execute(const class rtl::OUString *,)
+    0
+include/svl/svdde.hxx:241
+    _Bool DdeTopic::MakeItem(const class rtl::OUString &,)
+    0
+include/svtools/table/tablerenderer.hxx:113
+    void svt::table::ITableRenderer::PaintColumnHeader(int,_Bool,class OutputDevice &,const class tools::Rectangle &,const class StyleSettings &,)
+    10111
+include/svtools/table/tablerenderer.hxx:177
+    void svt::table::ITableRenderer::PaintRowHeader(_Bool,_Bool,class OutputDevice &,const class tools::Rectangle &,const class StyleSettings &,)
+    00111
+include/svtools/table/tablerenderer.hxx:224
+    void svt::table::ITableRenderer::HideCellCursor(class vcl::Window &,const class tools::Rectangle &,)
+    10
+include/svx/fmtools.hxx:141
+    void FmXDisposeListener::disposing(const struct com::sun::star::lang::EventObject &,short,)
+    01
+include/svx/IAccessibleParent.hxx:80
+    _Bool accessibility::IAccessibleParent::ReplaceChild(class accessibility::AccessibleShape *,const class com::sun::star::uno::Reference<class com::sun::star::drawing::XShape> &,const long,const class accessibility::AccessibleShapeTreeInfo &,)
+    1101
+include/svx/selectioncontroller.hxx:48
+    _Bool sdr::SelectionController::onMouseButtonUp(const class MouseEvent &,class vcl::Window *,)
+    10
+include/svx/svdhdl.hxx:242
+    void SdrHdl::onHelpRequest(const class HelpEvent &,)
+    0
+include/svx/svdundo.hxx:69
+    class rtl::OUString SdrUndoAction::GetSdrRepeatComment(class SdrView &,)const
+    0
+include/svx/svxdlg.hxx:463
+    class VclPtr<class SfxAbstractTabDialog> SvxAbstractDialogFactory::CreateSvxFormatCellsDialog(class weld::Window *,const class SfxItemSet *,const class SdrModel &,const class SdrObject *,)
+    1110
+include/vcl/accessibletable.hxx:91
+    class tools::Rectangle vcl::table::IAccessibleTable::GetFieldCharacterBounds(int,int,int,)
+    001
+include/vcl/accessibletable.hxx:92
+    int vcl::table::IAccessibleTable::GetFieldIndexAtPoint(int,int,const class Point &,)
+    001
+include/vcl/accessibletable.hxx:93
+    void vcl::table::IAccessibleTable::FillAccessibleStateSetForCell(class utl::AccessibleStateSetHelper &,int,unsigned short,)const
+    110
+include/vcl/dndhelp.hxx:72
+    void vcl::unohelper::DragAndDropClient::dragExit(const struct com::sun::star::datatransfer::dnd::DropTargetEvent &,)
+    0
+include/vcl/ITiledRenderable.hxx:209
+    void vcl::ITiledRenderable::setClientZoom(int,int,int,int,)
+    1010
+include/vcl/opengl/OpenGLContext.hxx:141
+    struct SystemWindowData OpenGLContext::generateWinData(class vcl::Window *,_Bool,)
+    10
+include/vcl/task.hxx:71
+    unsigned long Task::UpdateMinPeriod(unsigned long,unsigned long,)const
+    01
+include/vcl/treelist.hxx:304
+    void SvListView::ModelIsMoving(class SvTreeListEntry *,class SvTreeListEntry *,unsigned long,)
+    100
+include/xmloff/txtimp.hxx:677
+    void XMLTextImportHelper::RedlineAdjustStartNodeCursor(_Bool,)
+    0
+include/xmloff/xmlevent.hxx:129
+    class SvXMLImportContext * XMLEventContextFactory::CreateContext(class SvXMLImport &,unsigned short,const class rtl::OUString &,const class com::sun::star::uno::Reference<class com::sun::star::xml::sax::XAttributeList> &,class XMLEventsImportContext *,const class rtl::OUString &,const class rtl::OUString &,)
+    1111110
+include/xmloff/xmlimp.hxx:244
+    class SvXMLImportContext * SvXMLImport::CreateDocumentContext(const unsigned short,const class rtl::OUString &,const class com::sun::star::uno::Reference<class com::sun::star::xml::sax::XAttributeList> &,)
+    110
+sc/inc/filter.hxx:82
+    void ScFormatFilterPlugin::ScExportHTML(class SvStream &,const class rtl::OUString &,class ScDocument *,const class ScRange &,const unsigned short,_Bool,const class rtl::OUString &,class rtl::OUString &,const class rtl::OUString &,)
+    111101111
+sc/inc/filter.hxx:84
+    void ScFormatFilterPlugin::ScExportRTF(class SvStream &,class ScDocument *,const class ScRange &,const unsigned short,)
+    1110
+sc/inc/formulagroup.hxx:145
+    class boost::intrusive_ptr<class ScMatrix> sc::FormulaGroupInterpreter::inverseMatrix(const class ScMatrix &,)
+    0
+sc/source/core/opencl/formulagroupcl.cxx:1059
+    void sc::opencl::DynamicKernelSlidingArgument::GenSlidingWindowFunction(class std::__cxx11::basic_stringstream<char> &,)
+    0
+sc/source/ui/vba/vbarange.hxx:68
+    void ValueGetter::processValue(int,int,const class com::sun::star::uno::Any &,)
+    001
+sd/source/ui/inc/View.hxx:92
+    signed char sd::View::AcceptDrop(const struct AcceptDropEvent &,class DropTargetHelper &,class sd::Window *,unsigned short,struct o3tl::strong_int<unsigned char, struct SdrLayerIDTag>,)
+    11001
+sd/source/ui/inc/ViewClipboard.hxx:64
+    unsigned short sd::ViewClipboard::DetermineInsertPosition(const class SdTransferable &,)
+    0
+sd/source/ui/inc/ViewShell.hxx:212
+    void sd::ViewShell::UpdatePreview(class SdPage *,_Bool,)
+    10
+sdext/source/pdfimport/inc/contentsink.hxx:150
+    void pdfi::ContentSink::drawMask(const class com::sun::star::uno::Sequence<struct com::sun::star::beans::PropertyValue> &,_Bool,)
+    10
+sdext/source/pdfimport/inc/contentsink.hxx:160
+    void pdfi::ContentSink::drawColorMaskedImage(const class com::sun::star::uno::Sequence<struct com::sun::star::beans::PropertyValue> &,const class com::sun::star::uno::Sequence<class com::sun::star::uno::Any> &,)
+    10
+sdext/source/pdfimport/inc/contentsink.hxx:164
+    void pdfi::ContentSink::drawMaskedImage(const class com::sun::star::uno::Sequence<struct com::sun::star::beans::PropertyValue> &,const class com::sun::star::uno::Sequence<struct com::sun::star::beans::PropertyValue> &,_Bool,)
+    110
+sdext/source/pdfimport/inc/treevisiting.hxx:46
+    void pdfi::ElementTreeVisitor::visit(struct pdfi::HyperlinkElement &,const class __gnu_debug::_Safe_iterator<struct std::__cxx1998::_List_const_iterator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > >, class std::__debug::list<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> >, class std::allocator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > > >, struct std::bidirectional_iterator_tag> &,)
+    10
+sdext/source/pdfimport/inc/treevisiting.hxx:47
+    void pdfi::ElementTreeVisitor::visit(struct pdfi::TextElement &,const class __gnu_debug::_Safe_iterator<struct std::__cxx1998::_List_const_iterator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > >, class std::__debug::list<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> >, class std::allocator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > > >, struct std::bidirectional_iterator_tag> &,)
+    10
+sdext/source/pdfimport/inc/treevisiting.hxx:49
+    void pdfi::ElementTreeVisitor::visit(struct pdfi::FrameElement &,const class __gnu_debug::_Safe_iterator<struct std::__cxx1998::_List_const_iterator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > >, class std::__debug::list<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> >, class std::allocator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > > >, struct std::bidirectional_iterator_tag> &,)
+    10
+sdext/source/pdfimport/inc/treevisiting.hxx:51
+    void pdfi::ElementTreeVisitor::visit(struct pdfi::ImageElement &,const class __gnu_debug::_Safe_iterator<struct std::__cxx1998::_List_const_iterator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > >, class std::__debug::list<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> >, class std::allocator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > > >, struct std::bidirectional_iterator_tag> &,)
+    10
+sdext/source/pdfimport/inc/treevisiting.hxx:52
+    void pdfi::ElementTreeVisitor::visit(struct pdfi::PageElement &,const class __gnu_debug::_Safe_iterator<struct std::__cxx1998::_List_const_iterator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > >, class std::__debug::list<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> >, class std::allocator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > > >, struct std::bidirectional_iterator_tag> &,)
+    10
+sdext/source/pdfimport/inc/treevisiting.hxx:53
+    void pdfi::ElementTreeVisitor::visit(struct pdfi::DocumentElement &,const class __gnu_debug::_Safe_iterator<struct std::__cxx1998::_List_const_iterator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > >, class std::__debug::list<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> >, class std::allocator<class std::unique_ptr<struct pdfi::Element, struct std::default_delete<struct pdfi::Element> > > >, struct std::bidirectional_iterator_tag> &,)
+    10
+sdext/source/presenter/PresenterScrollBar.hxx:178
+    double sdext::presenter::PresenterScrollBar::GetDragDistance(const int,const int,)const
+    01
+sdext/source/presenter/PresenterScrollBar.hxx:180
+    double sdext::presenter::PresenterScrollBar::GetMinor(const double,const double,)const
+    10
+slideshow/source/engine/animationfactory.cxx:443
+    void slideshow::internal::(anonymous namespace)::GenericAnimation::prefetch(const class std::shared_ptr<class slideshow::internal::AnimatableShape> &,const class std::shared_ptr<class slideshow::internal::ShapeAttributeLayer> &,)
+    00
+slideshow/source/engine/opengl/TransitionImpl.hxx:174
+    void OGLTransitionImpl::prepare(double,double,double,double,double,)
+    01100
+slideshow/source/engine/opengl/TransitionImpl.hxx:180
+    void OGLTransitionImpl::finish(double,double,double,double,double,)
+    00000
+slideshow/source/inc/animation.hxx:61
+    void slideshow::internal::Animation::prefetch(const class std::shared_ptr<class slideshow::internal::AnimatableShape> &,const class std::shared_ptr<class slideshow::internal::ShapeAttributeLayer> &,)
+    00
+slideshow/source/inc/shapelistenereventhandler.hxx:51
+    _Bool slideshow::internal::ShapeListenerEventHandler::listenerAdded(const class com::sun::star::uno::Reference<class com::sun::star::presentation::XShapeEventListener> &,const class com::sun::star::uno::Reference<class com::sun::star::drawing::XShape> &,)
+    01
+slideshow/source/inc/shapelistenereventhandler.hxx:54
+    _Bool slideshow::internal::ShapeListenerEventHandler::listenerRemoved(const class com::sun::star::uno::Reference<class com::sun::star::presentation::XShapeEventListener> &,const class com::sun::star::uno::Reference<class com::sun::star::drawing::XShape> &,)
+    01
+starmath/source/wordexportbase.hxx:37
+    void SmWordExportBase::HandleText(const class SmNode *,int,)
+    10
+svx/source/inc/fmtextcontrolshell.hxx:69
+    void svx::IContextRequestObserver::contextMenuRequested(const struct com::sun::star::awt::MouseEvent &,)
+    0
+sw/inc/calbck.hxx:144
+    void SwClient::Modify(const class SfxPoolItem *const,const class SfxPoolItem *const,)
+    10
+sw/inc/IDocumentLinksAdministration.hxx:55
+    _Bool IDocumentLinksAdministration::SetData(const class rtl::OUString &,const class rtl::OUString &,const class com::sun::star::uno::Any &,)
+    100
+sw/inc/IDocumentRedlineAccess.hxx:168
+    _Bool IDocumentRedlineAccess::AppendTableRowRedline(class SwTableRowRedline *,_Bool,)
+    10
+sw/inc/IDocumentRedlineAccess.hxx:169
+    _Bool IDocumentRedlineAccess::AppendTableCellRedline(class SwTableCellRedline *,_Bool,)
+    10
+sw/inc/swcrsr.hxx:161
+    _Bool SwCursor::LeftRight(_Bool,unsigned short,unsigned short,_Bool,_Bool,_Bool,const class SwRootFrame *,)
+    1100000
+sw/source/core/access/acccontext.hxx:348
+    _Bool SwAccessibleContext::SetSelectedState(_Bool,)
+    0
+sw/source/core/inc/flowfrm.hxx:145
+    _Bool SwFlowFrame::ShouldBwdMoved(class SwLayoutFrame *,_Bool,_Bool &,)
+    101
+sw/source/core/inc/swblocks.hxx:109
+    class ErrCode SwImpBlocks::Rename(unsigned short,const class rtl::OUString &,const class rtl::OUString &,)
+    110
+sw/source/core/inc/txmsrt.hxx:145
+    void SwTOXSortTabBase::FillText(class SwTextNode &,const class SwIndex &,unsigned short,const class SwRootFrame *const,)const
+    1100
+sw/source/filter/ww8/wrtww8.hxx:798
+    void MSWordExportBase::WriteHyperlinkData(const class sw::mark::IFieldmark &,)
+    0
+sw/source/filter/ww8/wrtww8.hxx:863
+    void MSWordExportBase::OutputGrfNode(const class SwGrfNode &,)
+    0
+sw/source/filter/xml/xmlexpit.hxx:84
+    void SvXMLExportItemMapper::handleElementItem(class SvXMLExport &,const struct SvXMLItemMapEntry &,const class SfxPoolItem &,const class SvXMLUnitConverter &,const class SfxItemSet &,enum SvXmlExportFlags,)const
+    011000
+sw/source/filter/xml/xmlimpit.hxx:48
+    _Bool SvXMLImportItemMapper::handleSpecialItem(const struct SvXMLItemMapEntry &,class SfxPoolItem &,class SfxItemSet &,const class rtl::OUString &,const class SvXMLUnitConverter &,const class SvXMLNamespaceMap &,)
+    111110
+sw/source/uibase/inc/imaildsplistener.hxx:44
+    void IMailDispatcherListener::idle(class rtl::Reference<class MailDispatcher>,)
+    0
+sw/source/uibase/inc/imaildsplistener.hxx:50
+    void IMailDispatcherListener::mailDelivered(class rtl::Reference<class MailDispatcher>,class com::sun::star::uno::Reference<class com::sun::star::mail::XMailMessage>,)
+    01
+vcl/inc/outdev.h:122
+    _Bool ImplGlyphFallbackFontSubstitution::FindFontSubstitute(class FontSelectPattern &,class LogicalFontInstance *,class rtl::OUString &,)const
+    101
+vcl/inc/salframe.hxx:145
+    void SalFrame::SetRepresentedURL(const class rtl::OUString &,)
+    0
+vcl/inc/salframe.hxx:191
+    void SalFrame::Flush(const class tools::Rectangle &,)
+    0
+vcl/inc/salframe.hxx:201
+    _Bool SalFrame::MapUnicodeToKeyCode(char16_t,struct o3tl::strong_int<unsigned short, struct LanguageTypeTag>,class vcl::KeyCode &,)
+    000
+vcl/inc/salframe.hxx:244
+    void SalFrame::BeginSetClipRegion(unsigned int,)
+    0
+vcl/inc/salgdiimpl.hxx:78
+    void SalGraphicsImpl::SetXORMode(_Bool,_Bool,)
+    10
+vcl/inc/salgdiimpl.hxx:115
+    _Bool SalGraphicsImpl::drawPolyLineBezier(unsigned int,const struct SalPoint *,const enum PolyFlags *,)
+    000
+vcl/inc/salgdiimpl.hxx:120
+    _Bool SalGraphicsImpl::drawPolygonBezier(unsigned int,const struct SalPoint *,const enum PolyFlags *,)
+    000
+vcl/inc/salgdiimpl.hxx:125
+    _Bool SalGraphicsImpl::drawPolyPolygonBezier(unsigned int,const unsigned int *,const struct SalPoint *const *,const enum PolyFlags *const *,)
+    0000
+vcl/inc/salgdiimpl.hxx:132
+    void SalGraphicsImpl::copyArea(long,long,long,long,long,long,_Bool,)
+    1111110
+vcl/inc/salgdiimpl.hxx:166
+    _Bool SalGraphicsImpl::drawEPS(long,long,long,long,void *,unsigned int,)
+    000000
+vcl/inc/salinst.hxx:92
+    _Bool SalInstance::SVMainHook(int *,)
+    0
+vcl/inc/salinst.hxx:125
+    void SalInstance::GetPrinterQueueState(struct SalPrinterQueueInfo *,)
+    0
+vcl/inc/salinst.hxx:185
+    void SalInstance::AddToRecentDocumentList(const class rtl::OUString &,const class rtl::OUString &,const class rtl::OUString &,)
+    100
+vcl/inc/salmenu.hxx:71
+    void SalMenu::SetItemBits(unsigned int,enum MenuItemBits,)
+    10
+vcl/inc/salmenu.hxx:75
+    void SalMenu::SetItemImage(unsigned int,class SalMenuItem *,const class Image &,)
+    011
+vcl/inc/salmenu.hxx:76
+    void SalMenu::SetAccelerator(unsigned int,class SalMenuItem *,const class vcl::KeyCode &,const class rtl::OUString &,)
+    0101
+vcl/inc/salmenu.hxx:77
+    void SalMenu::GetSystemMenuData(struct SystemMenuData *,)
+    0
+vcl/inc/salmenu.hxx:80
+    _Bool SalMenu::AddMenuBarButton(const struct SalMenuButtonItem &,)
+    0
+vcl/inc/salmenu.hxx:81
+    void SalMenu::RemoveMenuBarButton(unsigned short,)
+    0
+vcl/inc/salmenu.hxx:93
+    class tools::Rectangle SalMenu::GetMenuBarButtonRectPixel(unsigned short,class SalFrame *,)
+    00
+vcl/inc/salobj.hxx:49
+    void SalObject::Enable(_Bool,)
+    0
+vcl/inc/salprn.hxx:83
+    void SalInfoPrinter::InitPaperFormats(const class ImplJobSetup *,)
+    0
+vcl/inc/salprn.hxx:85
+    int SalInfoPrinter::GetLandscapeAngle(const class ImplJobSetup *,)
+    0
+vcl/inc/salprn.hxx:114
+    class SalGraphics * SalPrinter::StartPage(class ImplJobSetup *,_Bool,)
+    10
+vcl/inc/WidgetDrawInterface.hxx:63
+    _Bool vcl::WidgetDrawInterface::drawNativeControl(enum ControlType,enum ControlPart,const class tools::Rectangle &,enum ControlState,const class ImplControlValue &,const class rtl::OUString &,)
+    111110
+vcl/inc/WidgetDrawInterface.hxx:87
+    _Bool vcl::WidgetDrawInterface::getNativeControlRegion(enum ControlType,enum ControlPart,const class tools::Rectangle &,enum ControlState,const class ImplControlValue &,const class rtl::OUString &,class tools::Rectangle &,class tools::Rectangle &,)
+    11111011
+writerfilter/inc/dmapper/resourcemodel.hxx:173
+    void writerfilter::BinaryObj::data(const unsigned char *,unsigned long,class tools::SvRef<class writerfilter::Reference<class writerfilter::Properties> >,)
+    110
+writerfilter/inc/ooxml/OOXMLDocument.hxx:216
+    void writerfilter::ooxml::OOXMLDocument::setXNoteType(unsigned int,)
+    0
+writerfilter/source/dmapper/LoggedResources.hxx:93
+    void writerfilter::LoggedStream::lcl_info(const class std::__cxx11::basic_string<char, struct std::char_traits<char>, class std::allocator<char> > &,)
+    0
+writerfilter/source/dmapper/LoggedResources.hxx:129
+    void writerfilter::LoggedTable::lcl_entry(int,class tools::SvRef<class writerfilter::Reference<class writerfilter::Properties> >,)
+    01
+xmloff/inc/forms/property_handler.hxx:44
+    class rtl::OUString xmloff::PropertyHandlerBase::getAttributeValue(const class std::__debug::map<enum xmloff::PropertyId, class com::sun::star::uno::Any, struct std::less<enum xmloff::PropertyId>, class std::allocator<struct std::pair<const enum xmloff::PropertyId, class com::sun::star::uno::Any> > > &,)const
+    0


More information about the Libreoffice-commits mailing list