cppcheck/cfg/qt.cfg

82 lines
2.4 KiB
INI

<?xml version="1.0"?>
<def>
<markup ext=".qml" reporterrors="false" aftercode="true">
<!-- keywords in QML code to ignore -->
<keywords>
<keyword name="if"/>
<keyword name="while"/>
<keyword name="typeof"/>
<keyword name="for"/>
</keywords>
<!-- code blocks are meta-code/pseudo code placed in the library
that is used/called by the native c/c++ code -->
<codeblocks>
<!-- need to add all the QML function names below -->
<block name="onClicked"/>
<block name="onFinished"/>
<block name="onTriggered"/>
<block name="onRetrieveTriggered"/>
<block name="onPressed"/>
<block name="onTouch"/>
<block name="onFocusedChanged"/>
<block name="onSubmittedNewStatusChanged"/>
<block name="onCreationCompleted"/>
<block name="onFileSelected"/>
<!-- code block structure in QML is:
onClicked: {
call(var)
} -->
<structure offset="3" start="{" end="}"/>
<!-- the start block is '3' tokens after the
name token so we skip them -->
</codeblocks>
<codeblocks>
<block name="function"/>
<!-- code block structure in QML is:
funnction x(args): {
call(var)
} -->
<structure offset="2" start="{" end="}"/>
</codeblocks>
<!-- Qt Properties have the format :
Q_PROPERTY(<type> <name> READ <func> WRITE <func> NOTIFY <func>)
the READ/WRITE/NOTIFY parts are optional -->
<exported>
<exporter prefix="Q_PROPERTY">
<suffix>READ</suffix> <!-- catch the element before READ if present -->
<prefix>READ</prefix>
<prefix>WRITE</prefix>
<prefix>NOTIFY</prefix>
</exporter>
</exported>
<!-- qml files can call connect on the c++ code -->
<imported>
<importer>connect</importer>
</imported>
</markup>
<!-- qt can call methods as strings using invokeMethod -->
<reflection>
<call arg="2">invokeMethod</call>
</reflection>
<!-- the SLOT/SIGNAL methods can be cause false-positives for pure
virtual functions being called in the constructor because it sees
the macro as a function. -->
<function name="SLOT">
<ignorefunction>true</ignorefunction>
</function>
<function name="SIGNAL">
<ignorefunction>true</ignorefunction>
</function>
<define name="Q_DECL_EXPORT" value=""/>
<define name="Q_DECL_IMPORT" value=""/>
</def>