OpenCoverage

Qt Quick Test Coverage

Function Tree

Page:<>1
eLOC - Effective Lines of Code: 8077
...6
eLOC - Effective Lines of Code: 34
7
eLOC - Effective Lines of Code: 24
8
eLOC - Effective Lines of Code: 18
9
eLOC - Effective Lines of Code: 12
1011
eLOC - Effective Lines of Code: 6
12
eLOC - Effective Lines of Code: 4
13
eLOC - Effective Lines of Code: 3
14
eLOC - Effective Lines of Code: 2
...18
eLOC - Effective Lines of Code: 1
FunctionCondition %eLOC - Effective Lines of Codeā–¾McCabe - Cyclomatic Complexity
QQuickStateAction
Name: QQuickStateAction
Coverage:  92.308% (12/13)
 92.308% (12/13)
97
QQuickQuaternionValueType
Name: QQuickQuaternionValueType
Coverage: 100.000% (9/9)
100.000% (9/9)
99
QQuickPathAnimationAnimator
Name: QQuickPathAnimationAnimator
Coverage:  78.571% (11/14)
 78.571% (11/14)
96
QQuickCanvasContext
Name: QQuickCanvasContext
Coverage:  0.000% (0/3)
  0.000% (0/3)
93
QQmlModelsModule
Name: QQmlModelsModule
Coverage: 100.000% (1/1)
100.000% (1/1)
91
QQmlDelegateModelEngineData
Name: QQmlDelegateModelEngineData
Coverage: 100.000% (5/5)
100.000% (5/5)
92
QQmlBindPrivate
Name: QQmlBindPrivate
Coverage: 100.000% (15/15)
100.000% (15/15)
95
LoaderApplication
Name: LoaderApplication
Coverage:  0.000% (0/10)
  0.000% (0/10)
95
FrameJob
Name: FrameJob
Coverage:  50.000% (3/6)
 50.000% (3/6)
94
BindableFbo
Name: BindableFbo
Coverage:  66.667% (8/12)
 66.667% (8/12)
96
ArgumentsSetterFunction
Name: ArgumentsSetterFunction
Coverage:  50.000% (2/4)
 50.000% (2/4)
92
vpe_clear
Name: vpe_clear
Prototype: static void vpe_clear(QQmlListProperty<QObject> *property)
Coverage:  0.000% (0/5)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quickshapes/qquickshape.cpp
Lines: 870-884
  0.000% (0/5)
83
vcenter
Name: vcenter
Prototype: static inline qreal vcenter(const QQuickItem *item)
Coverage: 100.000% (10/10)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/qquickanchors.cpp
Lines: 95-107
100.000% (10/10)
84
variantListToJS
Name: variantListToJS
Prototype: static QV4::ReturnedValue variantListToJS(QV4::ExecutionEngine *v4, const QVariantList &lst)
Coverage: 100.000% (4/4)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4engine.cpp
Lines: 1528-1538
100.000% (4/4)
82
value
Name: value
Prototype: static bool value(const Value *thisObject, bool *exception)
Coverage: 100.000% (8/8)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4booleanobject.cpp
Lines: 76-88
100.000% (8/8)
83
usage
Name: usage
Prototype: static void usage(bool showHelp = false)
Coverage:  0.000% (0/4)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/tools/qmlmin/main.cpp
Lines: 545-557
  0.000% (0/4)
82
qt_next_power_of_two
Name: qt_next_power_of_two
Prototype: static inline int qt_next_power_of_two(int v)
Coverage:  0.000% (0/1)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/context2d/qquickcontext2dtexture.cpp
Lines: 63-73
  0.000% (0/1)
81
qt_debug_remove_texture
Name: qt_debug_remove_texture
Prototype: static void qt_debug_remove_texture(QSGTexture* texture)
Coverage:  0.000% (0/10)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/scenegraph/util/qsgtexture.cpp
Lines: 184-202
  0.000% (0/10)
84
qt_debug_add_texture
Name: qt_debug_add_texture
Prototype: inline static void qt_debug_add_texture(QSGTexture* texture)
Coverage:  0.000% (0/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/scenegraph/util/qsgtexture.cpp
Lines: 163-182
  0.000% (0/7)
83
qsg_device_pixel_ratio
Name: qsg_device_pixel_ratio
Prototype: static inline qreal qsg_device_pixel_ratio(QOpenGLContext *ctx)
Coverage:  40.000% (4/10)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
Lines: 74-87
 40.000% (4/10)
83
qquick_uniqueInUniformData
Name: qquick_uniqueInUniformData
Prototype: static bool qquick_uniqueInUniformData(QQuickItem *source, const QVector<QQuickOpenGLShaderEffectMaterial::UniformData> *uniformData, int typeToSkip, int indexToSkip)
Coverage:  0.000% (0/19)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/qquickopenglshadereffect.cpp
Lines: 557-569
  0.000% (0/19)
85
qmlRegisterSingletonType
Name: qmlRegisterSingletonType
Prototype: inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName, QJSValue (*callback)(QQmlEngine *, QJSEngine *))
Coverage: 100.000% (1/1)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqml.h
Lines: 578-590
100.000% (1/1)
81
qmlRegisterSingletonType
Name: qmlRegisterSingletonType
Prototype: template <typename T> inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName, QObject *(*callback)(QQmlEngine *, QJSEngine *))
Coverage: 100.000% (1/1)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqml.h
Lines: 593-608
100.000% (1/1)
81
qmlClearEnginePlugins
Name: qmlClearEnginePlugins
Prototype: void qmlClearEnginePlugins()
Coverage:  57.143% (4/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmlimport.cpp
Lines: 226-239
 57.143% (4/7)
83
parseVersion
Name: parseVersion
Prototype: static bool parseVersion(const QString &str, int *major, int *minor)
Coverage:  77.778% (7/9)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmldirparser.cpp
Lines: 64-75
 77.778% (7/9)
83
operator<<
Name: operator<<
Prototype: QDebug operator<<(QDebug dbg, const QQuickEventPoint *event)
Coverage:  0.000% (0/1)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/qquickevents.cpp
Lines: 1955-1965
  0.000% (0/1)
81
operator<<
Name: operator<<
Prototype: QDebug operator<<(QDebug d, const QSGRootNode *n)
Coverage:  0.000% (0/4)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/scenegraph/coreapi/qsgnode.cpp
Lines: 1577-1590
  0.000% (0/4)
82
objectFromVariantMap
Name: objectFromVariantMap
Prototype: static QV4::ReturnedValue objectFromVariantMap(QV4::ExecutionEngine *e, const QVariantMap &map)
Coverage: 100.000% (4/4)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4engine.cpp
Lines: 1370-1381
100.000% (4/4)
82
npotAdjustedSize
Name: npotAdjustedSize
Prototype: static inline QSize npotAdjustedSize(const QSize &size)
Coverage:  0.000% (0/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/context2d/qquickcontext2dtexture.cpp
Lines: 402-419
  0.000% (0/7)
83
isIdentifierStart
Name: isIdentifierStart
Prototype: static inline bool isIdentifierStart(uint ch)
Coverage:  91.304% (21/23)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/parser/qqmljslexer.cpp
Lines: 396-416
 91.304% (21/23)
89
hcenter
Name: hcenter
Prototype: static inline qreal hcenter(const QQuickItem *item)
Coverage: 100.000% (10/10)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/qquickanchors.cpp
Lines: 81-93
100.000% (10/10)
84
getThisString
Name: getThisString
Prototype: static QString getThisString(ExecutionEngine *v4, const QV4::Value *thisObject)
Coverage: 100.000% (12/12)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4stringobject.cpp
Lines: 287-298
100.000% (12/12)
84
getFileSansBangLine
Name: getFileSansBangLine
Prototype: bool getFileSansBangLine(const QString &path, QByteArray &output)
Coverage:  0.000% (0/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/tools/qml/main.cpp
Lines: 401-412
  0.000% (0/7)
83
fastFlagsForProperty
Name: fastFlagsForProperty
Prototype: static QQmlPropertyData::Flags fastFlagsForProperty(const QMetaProperty &p)
Coverage: 100.000% (4/4)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmlpropertycache.cpp
Lines: 85-98
100.000% (4/4)
82
displayFileDialog
Name: displayFileDialog
Prototype: static void displayFileDialog(Options *options)
Coverage:  0.000% (0/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/tools/qmlscene/main.cpp
Lines: 295-309
  0.000% (0/7)
83
decomposeDouble
Name: decomposeDouble
Prototype: inline void decomposeDouble(double number, bool& sign, int32_t& exponent, uint64_t& mantissa)
Coverage:  0.000% (0/6)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/3rdparty/masm/wtf/MathExtras.h
Lines: 377-393
  0.000% (0/6)
82
currentTextLine
Name: currentTextLine
Prototype: static QTextLine currentTextLine(const QTextCursor &cursor)
Coverage:  42.857% (3/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/qquicktextcontrol.cpp
Lines: 82-94
 42.857% (3/7)
83
QSGSimpleMaterial
Name: QSGSimpleMaterial
Coverage:  66.667% (4/6)
 66.667% (4/6)
86
QSGPainterTexture
Name: QSGPainterTexture
Coverage:  66.667% (4/6)
 66.667% (4/6)
84
QQuickTextDocument
Name: QQuickTextDocument
Coverage: 100.000% (4/4)
100.000% (4/4)
84
QQuickShapeGradient
Name: QQuickShapeGradient
Coverage:  28.571% (2/7)
 28.571% (2/7)
85
QQuickGridPrivate
Name: QQuickGridPrivate
Coverage: 100.000% (6/6)
100.000% (6/6)
83
QQuickGradientStop
Name: QQuickGradientStop
Coverage:  88.889% (8/9)
 88.889% (8/9)
87
QQmlVmeProfiler
Name: QQmlVmeProfiler
Coverage:  70.000% (7/10)
 70.000% (7/10)
86
QQmlPropertyMapMetaObject
Name: QQmlPropertyMapMetaObject
Coverage:  75.000% (6/8)
 75.000% (6/8)
86
QQmlProfilerEventLocation
Name: QQmlProfilerEventLocation
Coverage:  71.429% (5/7)
 71.429% (5/7)
87
QQmlPersistentModelIndexValueType
Name: QQmlPersistentModelIndexValueType
Coverage:  75.000% (6/8)
 75.000% (6/8)
88
QQmlPendingGroupPropertyBindings
Name: QQmlPendingGroupPropertyBindings
Coverage:  50.000% (4/8)
 50.000% (4/8)
84
QQmlOpenMetaObjectTypePrivate
Name: QQmlOpenMetaObjectTypePrivate
Coverage:  80.000% (4/5)
 80.000% (4/5)
83
QQmlNullableValue
Name: QQmlNullableValue
Coverage:  87.500% (7/8)
 87.500% (7/8)
88
QQmlJSGrammar
Name: QQmlJSGrammar
Coverage:  0.000% (0/12)
  0.000% (0/12)
84
QQmlExtensionPlugin
Name: QQmlExtensionPlugin
Coverage:  60.000% (3/5)
 60.000% (3/5)
85
QQmlComponentExtension
Name: QQmlComponentExtension
Coverage: 100.000% (5/5)
100.000% (5/5)
81
QQmlColorProvider
Name: QQmlColorProvider
Coverage:  7.143% (1/14)
  7.143% (1/14)
810
PassOwnPtr
Name: PassOwnPtr
Coverage:  20.000% (1/5)
 20.000% (1/5)
85
MemberGeneratorFunction
Name: MemberGeneratorFunction
Coverage:  33.333% (1/3)
 33.333% (1/3)
82
MatchResult
Name: MatchResult
Coverage:  0.000% (0/5)
  0.000% (0/5)
85
GeneratorFunctionCtor
Name: GeneratorFunctionCtor
Coverage: 100.000% (5/5)
100.000% (5/5)
83
Error
Name: Error
Coverage: 100.000% (2/2)
100.000% (2/2)
82
ArgumentsGetterFunction
Name: ArgumentsGetterFunction
Coverage:  50.000% (2/4)
 50.000% (2/4)
82
visitEnumerations
Name: visitEnumerations
Prototype: template <typename StringVisitor> int visitEnumerations(const QMetaObject &mo, StringVisitor visitString)
Coverage: 100.000% (7/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmlpropertycache.cpp
Lines: 1359-1383
100.000% (7/7)
73
stringData
Name: stringData
Prototype: static inline const QByteArray stringData(const QMetaObject *mo, int index)
Coverage: 100.000% (1/1)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmlpropertycache.cpp
Lines: 1114-1123
100.000% (1/1)
71
resolveWindowState
Name: resolveWindowState
Prototype: static Qt::WindowState resolveWindowState(Qt::WindowStates states)
Coverage:  0.000% (0/10)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quickwidgets/qquickwidget.cpp
Lines: 1407-1419
  0.000% (0/10)
74
parseTextRenderType
Name: parseTextRenderType
Prototype: static QQuickWindow::TextRenderType parseTextRenderType(const QString &renderType)
Coverage:  0.000% (0/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/tools/qmlscene/main.cpp
Lines: 448-459
  0.000% (0/7)
73
operator>>
Name: operator>>
Prototype: QDataStream &operator>>(QDataStream &stream, QQmlProfilerEventType &type)
Coverage:  0.000% (0/1)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qmldebug/qqmlprofilereventtype.cpp
Lines: 47-56
  0.000% (0/1)
71
minimumType
Name: minimumType
Prototype: template<typename Number> static inline qint8 minimumType(Number number)
Coverage:  0.000% (0/10)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qmldebug/qqmlprofilerevent.cpp
Lines: 199-209
  0.000% (0/10)
74
markChildQObjectsRecursively
Name: markChildQObjectsRecursively
Prototype: static void markChildQObjectsRecursively(QObject *parent, QV4::MarkStack *markStack)
Coverage:  71.429% (5/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp
Lines: 1041-1051
 71.429% (5/7)
73
makePlugins
Name: makePlugins
Prototype: static QVector<QStaticPlugin> makePlugins()
Coverage:  57.143% (4/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmlimport.cpp
Lines: 1019-1032
 57.143% (4/7)
73
hexDigit
Name: hexDigit
Prototype: int hexDigit(QChar c)
Coverage: 100.000% (16/16)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/parser/qqmljslexer.cpp
Lines: 221-230
100.000% (16/16)
74
fillUniformArrayFromImage
Name: fillUniformArrayFromImage
Prototype: void fillUniformArrayFromImage(float* array, const QImage& img, int size)
Coverage: 100.000% (10/10)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/particles/qquickimageparticle.cpp
Lines: 457-467
100.000% (10/10)
74
doubleToInteger
Name: doubleToInteger
Prototype: inline void doubleToInteger(double d, unsigned long long& value)
Coverage:  0.000% (0/9)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/3rdparty/masm/wtf/MathExtras.h
Lines: 396-416
  0.000% (0/9)
73
createListFromArrayLike
Name: createListFromArrayLike
Prototype: static CallArgs createListFromArrayLike(Scope &scope, const Object *o)
Coverage:  71.429% (5/7)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4reflect.cpp
Lines: 76-87
 71.429% (5/7)
73
colorToColor4ub
Name: colorToColor4ub
Prototype: static inline QQuickShapeGenericRenderer::Color4ub colorToColor4ub(const QColor &c)
Coverage: 100.000% (1/1)
Absolute File Name: /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quickshapes/qquickshapegenericrenderer.cpp
Lines: 66-75
100.000% (1/1)
71
QuickTestResultPrivate
Name: QuickTestResultPrivate
Coverage: 100.000% (3/3)
100.000% (3/3)
73
QSGTransformNode
Name: QSGTransformNode
Coverage: 100.000% (5/5)
100.000% (5/5)
75
QSGTextureMaterialShader
Name: QSGTextureMaterialShader
Coverage: 100.000% (7/7)
100.000% (7/7)
74
QSGSoftwareRectangleNode
Name: QSGSoftwareRectangleNode
Coverage:  0.000% (0/6)
  0.000% (0/6)
76
QSGRootNode
Name: QSGRootNode
Coverage: 100.000% (9/9)
100.000% (9/9)
75
QSGNodeDumper
Name: QSGNodeDumper
Coverage:  0.000% (0/3)
  0.000% (0/3)
73
QSGGeometryData
Name: QSGGeometryData
Coverage:  0.000% (0/6)
  0.000% (0/6)
76
QSG8BitTextMaskShader
Name: QSG8BitTextMaskShader
Coverage:  50.000% (5/10)
 50.000% (5/10)
73
QSG32BitColorTextShader
Name: QSG32BitColorTextShader
Coverage:  0.000% (0/10)
  0.000% (0/10)
73
QQuickTextureFactory
Name: QQuickTextureFactory
Coverage:  62.500% (5/8)
 62.500% (5/8)
74
QQuickStyledText
Name: QQuickStyledText
Coverage: 100.000% (6/6)
100.000% (6/6)
74
QQuickShaderEffectSourceTextureProvider
Name: QQuickShaderEffectSourceTextureProvider
Coverage: 100.000% (2/2)
100.000% (2/2)
72
QQuickRowPrivate
Name: QQuickRowPrivate
Coverage: 100.000% (6/6)
100.000% (6/6)
73
QQuickRepeaterPrivate
Name: QQuickRepeaterPrivate
Coverage: 100.000% (12/12)
100.000% (12/12)
76
QQuickParticleVarLengthArray
Name: QQuickParticleVarLengthArray
Coverage:  63.636% (7/11)
 63.636% (7/11)
75
QQuickParentAnimationData
Name: QQuickParentAnimationData
Coverage:  77.778% (7/9)
 77.778% (7/9)
75
QQuickOpenGLShaderEffectMaterialCache
Name: QQuickOpenGLShaderEffectMaterialCache
Coverage: 100.000% (8/8)
100.000% (8/8)
72
QQuickDropAreaDrag
Name: QQuickDropAreaDrag
Coverage: 100.000% (6/6)
100.000% (6/6)
76
QQuickCumulativeDirection
Name: QQuickCumulativeDirection
Coverage:  90.000% (9/10)
 90.000% (9/10)
75
QQuickContext2D
Name: QQuickContext2D
Coverage:  0.000% (0/7)
  0.000% (0/7)
77
QQmlEngineControlClientPrivate
Name: QQmlEngineControlClientPrivate
Coverage: 100.000% (3/3)
100.000% (3/3)
73
QQmlDelegateModelPartsMetaObject
Name: QQmlDelegateModelPartsMetaObject
Coverage: 100.000% (3/3)
100.000% (3/3)
73
QQmlDebugConnectorFactory
Name: QQmlDebugConnectorFactory
Coverage:  75.000% (3/4)
 75.000% (3/4)
72
QQmlComponentIncubator
Name: QQmlComponentIncubator
Coverage: 100.000% (3/3)
100.000% (3/3)
73
IteratorPrototype
Name: IteratorPrototype
Coverage: 100.000% (5/5)
100.000% (5/5)
73
FxTableItem
Name: FxTableItem
Coverage:  0.000% (0/6)
  0.000% (0/6)
76
BackendSupport
Name: BackendSupport
Coverage:  75.000% (3/4)
 75.000% (3/4)
72
Page:<>1
eLOC - Effective Lines of Code: 8077
...6
eLOC - Effective Lines of Code: 34
7
eLOC - Effective Lines of Code: 24
8
eLOC - Effective Lines of Code: 18
9
eLOC - Effective Lines of Code: 12
1011
eLOC - Effective Lines of Code: 6
12
eLOC - Effective Lines of Code: 4
13
eLOC - Effective Lines of Code: 3
14
eLOC - Effective Lines of Code: 2
...18
eLOC - Effective Lines of Code: 1

Generated by Squish Coco 4.2.0