forked from danmar/cppcheck
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathqt.cfg
91 lines (91 loc) · 3.2 KB
/
qt.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?xml version="1.0"?>
<def format="1">
<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=""/>
<define name="Q_DISABLE_COPY(C)" value="C(C&);C& operator=(const C&);"/>
<define name="Q_PROPERTY(X)" value=""/>
<podtype name="qint8" sign="s" size="1"/>
<podtype name="qint16" sign="s" size="2"/>
<podtype name="qint32" sign="s" size="4"/>
<podtype name="qint64" sign="s" size="8"/>
<podtype name="quint8" sign="u" size="1"/>
<podtype name="quint16" sign="u" size="2"/>
<podtype name="quint32" sign="u" size="4"/>
<podtype name="quint64" sign="u" size="8"/>
<podtype name="qlonglong" sign="s"/>
<podtype name="qulonglong" sign="u"/>
<podtype name="uchar" sign="u"/>
<podtype name="uint" sign="u"/>
<podtype name="ulong" sign="u"/>
<podtype name="ushort" sign="u"/>
<podtype name="qptrdiff" sign="s"/>
<podtype name="quinitptr" sign="u"/>
</def>