Qt-WritingToTemporary¶
Catches when calling setters on temporaries
Required inputs: IR
The example
widget->sizePolicy().setHorizontalStretch(1);should be written as
QSizePolicy sp = widget->sizePolicy();
sp.setHorizontalStretch(1);
widget->setSizePolicy(sp);
The method must be of void return type, non-static and non-const. For unknown classes only methods starting with "set" are reported unless widen_criteria is true and ignore_unknown_classes is false. In contrast to clazy ignore_unknown_classes is true by default.
This rule is based on clazy rule writing-to-temporary
Possible Messages
Key |
Text |
Severity |
Disabled |
|---|---|---|---|
writing_to_temporary |
Call to temporary is a no-op. |
None |
False |
Options¶
This rule shares the following common options: exclude_in_macros, exclude_messages_in_system_headers, excludes, extend_exclude_to_macro_invocations, includes, justification_checker, languages, post_processing, provider, report_at, severity
The following places define options that affect this rule: Stylechecks, Analysis-GlobalOptions
ignore_unknown_classes¶
ignore_unknown_classes : bool = True
ignored_classes¶
ignored_classes
Classes being ignored for method calls.Type: set[bauhaus.analysis.config.QualifiedName]
Default:
{'KConfigGroup', 'QDomElement', 'QDomNode', 'QJSValue', 'QScriptValue', 'QTextBlock', 'QTextCursor', 'QTextLine', 'QTextTableCell', 'QWebElement'}
ignored_methods¶
ignored_methods : set[bauhaus.analysis.config.QualifiedName] = {'QColor::getCmyk', 'QColor::getCmykF'}
known_classes¶
known_classes
For known classes all methods are considered. All classes not contained in this set are either ignored or unknown classes.Type: set[bauhaus.analysis.config.QualifiedName]
Default:
{'QBitmap', 'QByteArray', 'QColor', 'QHash', 'QLinkedList', 'QList', 'QMap', 'QPoint', 'QPointF', 'QRect', 'QRectF', 'QSet', 'QSize', 'QSizeF', 'QSizePolicy', 'QString', 'QUrl', 'QVarLengthArray', 'QVector', 'QVector2D', 'QVector3D', 'QVector4D'}
level¶
level : int = 0
widen_criteria¶
widen_criteria : bool = False