Skip to content

Latest commit

 

History

History
382 lines (355 loc) · 78.1 KB

File metadata and controls

382 lines (355 loc) · 78.1 KB

Metrics

Home

Static metrics are calculated from target-specific preprocessed MiniLang files inside the configured source roots. External imported modules, generated documentation, and excluded paths are not measured.

Project summary

Metric Value
Blank lines 6363
Clone groups 2
Cognitive complexity 1556 (maximum per function: 287)
Comment lines 1519
Cyclomatic complexity 1200 (average: 4.29, maximum: 139)
Documentation coverage 99.93% (1448 of 1449 documentation items)
Duplicated lines 30 (0.96%)
Files 2
Functions 280
Maintainability index 0 / 100
Physical lines 11003
Source lines 3121
Statements 2436

Documentation coverage

Coverage is split by documentation contract so strong API summaries cannot hide undocumented parameters or data members.

Category Documented Total Coverage
API declarations 339 339 100%
Constants 6 7 85.71%
Enum variants 0 0 100%
Fields 93 93 100%
Globals 0 0 100%
Overall 1448 1449 99.93%
Parameters 1010 1010 100%

Halstead metrics

Distinct operators Distinct operands Total operators Total operands Vocabulary Length Volume Difficulty Effort Estimated defects
51 1494 17407 12671 1545 30078 318628.02 216.27 68910346.86 106.21

Files

File SLOC Functions Cyclomatic total / avg / max Cognitive total / max Duplication Halstead volume MI
MiniGuiLib/minigui.ml 1167 172 308 / 1.79 / 31 237 / 86 0 (0%) 89058.15 0
tools/minigui.ml 1954 108 892 / 8.26 / 139 1319 / 287 30 (1.54%) 208173.25 0

Functions

Function Location LOC Statements Cyclomatic Cognitive Max nesting Halstead volume MI
addError tools/minigui.ml:224 3 1 1 0 0 104 75.33
addGeneratedNode tools/minigui.ml:2069 355 352 139 287 6 43836.68 0
allowedControlEvents tools/minigui.ml:1458 13 20 12 11 1 1654.28 51.55
allowedControlProps tools/minigui.ml:1479 26 47 26 25 1 3503.73 40.82
arrItems tools/minigui.ml:312 5 5 4 3 1 169.92 68.6
asBool tools/minigui.ml:298 4 3 3 2 1 120.93 71.88
asInt tools/minigui.ml:271 4 3 3 2 1 120.93 71.88
asString tools/minigui.ml:263 4 3 3 2 1 120.93 71.88
basenameNoExt tools/minigui.ml:750 11 10 4 4 2 423.73 58.35
boolProp tools/minigui.ml:1876 5 4 2 1 1 229.25 67.96
charAt tools/minigui.ml:321 4 3 3 2 1 133.98 71.57
clampDimension tools/minigui.ml:1837 13 12 6 5 1 474.17 56.16
cloneJson tools/minigui.ml:1347 21 13 7 12 3 913.14 49.49
codePointUtf8 tools/minigui.ml:394 8 11 8 7 1 885.61 58.59
collectTreeItemLiterals tools/minigui.ml:1943 24 20 9 10 2 1242.77 47.01
commonControlProps tools/minigui.ml:1473 3 1 1 0 0 385.74 71.35
componentByName tools/minigui.ml:1272 7 6 4 4 2 283.28 63.86
contains tools/minigui.ml:1062 7 6 4 4 2 220.08 64.62
controlDefaultHeight tools/minigui.ml:1766 38 71 42 41 1 2261.06 36.4
controlText tools/minigui.ml:1886 5 4 2 1 1 210.91 68.21
copyNodeWithPrefix tools/minigui.ml:1391 14 11 4 4 2 659.92 54.72
createCallFor tools/minigui.ml:2014 42 79 41 40 1 2574.3 35.19
dimensionProp tools/minigui.ml:1823 7 8 6 5 1 408.07 62.48
dirname tools/minigui.ml:724 12 12 5 5 2 417.17 57.44
documentLoaded tools/minigui.ml:1257 7 6 4 4 2 263.22 64.08
ensureDir tools/minigui.ml:885 7 7 3 2 1 206.44 64.95
expandComponents tools/minigui.ml:1410 28 21 6 8 2 1207.41 46.05
findFunctionArity tools/minigui.ml:1668 11 12 4 3 1 553.96 57.54
generateCode tools/minigui.ml:2430 80 75 30 60 3 8344.77 26.99
hasProp tools/minigui.ml:250 9 10 6 6 2 377.83 60.33
hasValue tools/minigui.ml:230 3 1 1 0 0 66.61 76.69
hexVal tools/minigui.ml:384 7 8 7 6 1 301.85 63.26
identOk tools/minigui.ml:1083 11 13 8 8 2 1239.1 54.55
idSeen tools/minigui.ml:1606 3 1 1 0 0 53.15 77.38
intArrayLiteral tools/minigui.ml:1925 11 11 5 5 2 784.5 56.34
intPart tools/minigui.ml:278 16 15 7 9 3 587.76 53.4
intProp tools/minigui.ml:1811 5 4 2 1 1 229.25 67.96
isContainerControl tools/minigui.ml:1515 3 1 1 0 0 85.95 75.91
isControl tools/minigui.ml:1508 4 3 2 1 1 711.69 66.63
isDigit tools/minigui.ml:335 4 2 1 0 0 88 73.12
isIdentChar tools/minigui.ml:355 3 1 1 0 0 81.41 76.08
isIdentStart tools/minigui.ml:349 3 1 1 0 0 60.94 76.96
isLayout tools/minigui.ml:1521 3 1 1 0 0 106.27 75.27
isLetter tools/minigui.ml:342 4 2 1 0 0 144.43 71.61
isNull tools/minigui.ml:305 4 3 2 1 1 100 72.59
isRooted tools/minigui.ml:711 3 1 1 0 0 70.31 76.52
isWs tools/minigui.ml:361 3 1 1 0 0 91.38 75.73
jArray tools/minigui.ml:199 3 1 1 0 0 101.58 75.41
jBool tools/minigui.ml:186 3 1 1 0 0 102.8 75.37
jNull tools/minigui.ml:168 3 1 1 0 0 98.99 75.48
jNumber tools/minigui.ml:180 3 1 1 0 0 102.8 75.37
jObject tools/minigui.ml:193 3 1 1 0 0 108 75.22
joinPath tools/minigui.ml:781 6 7 5 4 1 263.37 65.4
jsonParseError tools/minigui.ml:211 3 1 1 0 0 62.27 76.89
jsonParseOk tools/minigui.ml:205 3 1 1 0 0 55.35 77.25
jsonScalarToString tools/minigui.ml:1169 9 9 5 5 2 254.19 61.67
jString tools/minigui.ml:174 3 1 1 0 0 102.8 75.37
layoutInt tools/minigui.ml:1864 5 4 2 1 1 171.3 68.84
listContains tools/minigui.ml:1073 7 6 5 5 2 266.27 63.91
loadGraph tools/minigui.ml:1285 58 47 21 41 5 3358.02 34.02
main tools/minigui.ml:2602 50 61 21 22 2 2980.57 35.79
MiniGuiLib.minigui._advancedCreate MiniGuiLib/minigui.ml:8026 3 1 1 0 0 179.85 73.67
MiniGuiLib.minigui._advancedDraw MiniGuiLib/minigui.ml:8048 4 2 1 0 0 182.66 70.9
MiniGuiLib.minigui._advancedFormat MiniGuiLib/minigui.ml:8060 6 7 3 2 1 261.34 65.7
MiniGuiLib.minigui._advancedProperty MiniGuiLib/minigui.ml:8035 3 1 1 0 0 98.99 75.48
MiniGuiLib.minigui._dialogInputCancel MiniGuiLib/minigui.ml:8078 6 6 4 3 1 256.76 65.62
MiniGuiLib.minigui._dialogInputOk MiniGuiLib/minigui.ml:8069 7 8 5 4 1 379.78 62.83
MiniGuiLib.minigui._hasWord MiniGuiLib/minigui.ml:7562 6 4 3 3 2 151.62 67.35
MiniGuiLib.minigui._itemCount MiniGuiLib/minigui.ml:6096 8 7 4 4 2 224.66 63.3
MiniGuiLib.minigui._itemTextAt MiniGuiLib/minigui.ml:6076 18 14 6 11 4 531.36 52.73
MiniGuiLib.minigui._joinText MiniGuiLib/minigui.ml:6064 10 7 4 6 3 335.2 59.97
MiniGuiLib.minigui._new MiniGuiLib/minigui.ml:6119 19 20 6 6 2 1236 49.65
MiniGuiLib.minigui.Application.create MiniGuiLib/minigui.ml:6142 8 9 4 3 1 432.69 61.3
MiniGuiLib.minigui.Application.dispose MiniGuiLib/minigui.ml:6176 9 7 1 0 0 127.44 64.31
MiniGuiLib.minigui.Application.pump MiniGuiLib/minigui.ml:6189 67 65 31 86 6 4800.57 30.22
MiniGuiLib.minigui.Application.resizeWindow MiniGuiLib/minigui.ml:6262 9 8 3 2 1 374.97 60.76
MiniGuiLib.minigui.Application.run MiniGuiLib/minigui.ml:6161 12 9 5 4 1 389.83 57.64
MiniGuiLib.minigui.Application.setStartupWindow MiniGuiLib/minigui.ml:6154 4 2 1 0 0 62.91 74.14
MiniGuiLib.minigui.Button.create MiniGuiLib/minigui.ml:6350 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.Calendar.create MiniGuiLib/minigui.ml:7101 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.Chart.clear MiniGuiLib/minigui.ml:8278 3 1 1 0 0 99.91 75.46
MiniGuiLib.minigui.Chart.create MiniGuiLib/minigui.ml:8272 3 1 1 0 0 179.31 73.68
MiniGuiLib.minigui.Chart.setValues MiniGuiLib/minigui.ml:8287 23 22 7 10 3 1048.21 48.2
MiniGuiLib.minigui.CheckBox.create MiniGuiLib/minigui.ml:6554 5 3 1 0 0 256.76 67.75
MiniGuiLib.minigui.CodeEditor.create MiniGuiLib/minigui.ml:8125 3 1 1 0 0 179.31 73.68
MiniGuiLib.minigui.CodeEditor.setLanguage MiniGuiLib/minigui.ml:8132 3 1 1 0 0 77.71 76.22
MiniGuiLib.minigui.ColorPicker.create MiniGuiLib/minigui.ml:6429 6 4 1 0 0 296.13 65.59
MiniGuiLib.minigui.ComboBox.create MiniGuiLib/minigui.ml:7121 6 4 1 0 0 310.23 65.44
MiniGuiLib.minigui.ContextMenu.create MiniGuiLib/minigui.ml:6904 5 3 1 0 0 256.76 67.75
MiniGuiLib.minigui.Control._resizeChildren MiniGuiLib/minigui.ml:7437 38 54 21 42 4 2489.99 38.93
MiniGuiLib.minigui.Control.addItem MiniGuiLib/minigui.ml:7352 4 2 1 0 0 76.15 73.56
MiniGuiLib.minigui.Control.clearItems MiniGuiLib/minigui.ml:7359 5 3 1 0 0 82.04 71.22
MiniGuiLib.minigui.Control.focus MiniGuiLib/minigui.ml:7536 3 1 1 0 0 92 75.71
MiniGuiLib.minigui.Control.getCellText MiniGuiLib/minigui.ml:7391 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Control.getChecked MiniGuiLib/minigui.ml:7284 3 1 1 0 0 79.95 76.13
MiniGuiLib.minigui.Control.getSelectedIndex MiniGuiLib/minigui.ml:7376 3 1 1 0 0 70.31 76.52
MiniGuiLib.minigui.Control.getSelectedText MiniGuiLib/minigui.ml:7382 4 3 2 1 1 166.91 71.04
MiniGuiLib.minigui.Control.getText MiniGuiLib/minigui.ml:7188 3 1 1 0 0 51.89 77.45
MiniGuiLib.minigui.Control.getValue MiniGuiLib/minigui.ml:7300 3 1 1 0 0 70.31 76.52
MiniGuiLib.minigui.Control.isChecked MiniGuiLib/minigui.ml:7543 3 1 1 0 0 51.89 77.45
MiniGuiLib.minigui.Control.setBackground MiniGuiLib/minigui.ml:7486 3 1 1 0 0 123.19 74.82
MiniGuiLib.minigui.Control.setBorder MiniGuiLib/minigui.ml:7504 3 1 1 0 0 153.73 74.15
MiniGuiLib.minigui.Control.setBounds MiniGuiLib/minigui.ml:7411 8 6 1 0 0 216.84 63.81
MiniGuiLib.minigui.Control.setCellText MiniGuiLib/minigui.ml:7400 4 2 1 0 0 122.62 72.11
MiniGuiLib.minigui.Control.setChecked MiniGuiLib/minigui.ml:7275 6 5 2 1 1 142.62 67.67
MiniGuiLib.minigui.Control.setColumns MiniGuiLib/minigui.ml:7327 5 3 1 0 0 133.44 69.74
MiniGuiLib.minigui.Control.setColumnWidth MiniGuiLib/minigui.ml:7519 3 1 1 0 0 123.19 74.82
MiniGuiLib.minigui.Control.setColumnWidths MiniGuiLib/minigui.ml:7526 7 5 3 2 1 237.74 64.52
MiniGuiLib.minigui.Control.setEditable MiniGuiLib/minigui.ml:7224 5 4 2 1 1 160.54 69.04
MiniGuiLib.minigui.Control.setEnabled MiniGuiLib/minigui.ml:7206 5 4 2 1 1 160.54 69.04
MiniGuiLib.minigui.Control.setFont MiniGuiLib/minigui.ml:7495 4 3 2 1 1 225.95 70.11
MiniGuiLib.minigui.Control.setForeground MiniGuiLib/minigui.ml:7479 3 1 1 0 0 123.19 74.82
MiniGuiLib.minigui.Control.setImageSource MiniGuiLib/minigui.ml:7247 3 1 1 0 0 100 75.45
MiniGuiLib.minigui.Control.setItems MiniGuiLib/minigui.ml:7336 12 10 3 3 2 381.56 57.98
MiniGuiLib.minigui.Control.setLayout MiniGuiLib/minigui.ml:7428 5 3 1 0 0 200.67 68.5
MiniGuiLib.minigui.Control.setMaxLength MiniGuiLib/minigui.ml:7268 3 1 1 0 0 102.19 75.39
MiniGuiLib.minigui.Control.setPlaceholder MiniGuiLib/minigui.ml:7240 3 1 1 0 0 100 75.45
MiniGuiLib.minigui.Control.setRange MiniGuiLib/minigui.ml:7308 6 4 1 0 0 161.42 67.43
MiniGuiLib.minigui.Control.setReadOnly MiniGuiLib/minigui.ml:7215 5 4 2 1 1 160.54 69.04
MiniGuiLib.minigui.Control.setScrollSteps MiniGuiLib/minigui.ml:7550 6 4 1 0 0 236.35 66.27
MiniGuiLib.minigui.Control.setSelectedIndex MiniGuiLib/minigui.ml:7368 5 3 1 0 0 110.36 70.31
MiniGuiLib.minigui.Control.setSource MiniGuiLib/minigui.ml:7254 3 1 1 0 0 100 75.45
MiniGuiLib.minigui.Control.setStep MiniGuiLib/minigui.ml:7318 5 3 1 0 0 137.61 69.64
MiniGuiLib.minigui.Control.setTabIndex MiniGuiLib/minigui.ml:7511 3 1 1 0 0 102.19 75.39
MiniGuiLib.minigui.Control.setText MiniGuiLib/minigui.ml:7179 6 4 1 0 0 120 68.33
MiniGuiLib.minigui.Control.setTooltip MiniGuiLib/minigui.ml:7233 3 1 1 0 0 100 75.45
MiniGuiLib.minigui.Control.setUrl MiniGuiLib/minigui.ml:7261 3 1 1 0 0 100 75.45
MiniGuiLib.minigui.Control.setValue MiniGuiLib/minigui.ml:7291 6 6 2 1 1 201.74 66.62
MiniGuiLib.minigui.Control.setVisible MiniGuiLib/minigui.ml:7195 7 6 2 1 1 155.59 65.95
MiniGuiLib.minigui.DataGrid.create MiniGuiLib/minigui.ml:7026 7 5 1 0 0 365.36 63.49
MiniGuiLib.minigui.DatePicker.create MiniGuiLib/minigui.ml:7047 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.DateTimePicker.create MiniGuiLib/minigui.ml:7065 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.Dialog._owner MiniGuiLib/minigui.ml:7786 4 3 2 1 1 100 72.59
MiniGuiLib.minigui.Dialog.abortRetryIgnore MiniGuiLib/minigui.ml:7892 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Dialog.close MiniGuiLib/minigui.ml:7960 5 3 1 0 0 110.36 70.31
MiniGuiLib.minigui.Dialog.confirm MiniGuiLib/minigui.ml:7803 3 1 1 0 0 135.93 74.52
MiniGuiLib.minigui.Dialog.createCustom MiniGuiLib/minigui.ml:7901 4 2 1 0 0 224.01 70.28
MiniGuiLib.minigui.Dialog.createInput MiniGuiLib/minigui.ml:7912 12 11 2 1 1 1131.58 54.81
MiniGuiLib.minigui.Dialog.errorMessage MiniGuiLib/minigui.ml:7857 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Dialog.getResult MiniGuiLib/minigui.ml:7944 4 3 2 1 1 82.04 73.2
MiniGuiLib.minigui.Dialog.getValue MiniGuiLib/minigui.ml:7937 5 5 3 2 1 193.26 68.34
MiniGuiLib.minigui.Dialog.info MiniGuiLib/minigui.ml:7843 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Dialog.pickColor MiniGuiLib/minigui.ml:8008 5 4 2 1 1 204.33 68.31
MiniGuiLib.minigui.Dialog.pickFolder MiniGuiLib/minigui.ml:7999 5 4 2 1 1 195.04 68.45
MiniGuiLib.minigui.Dialog.pickOpenFile MiniGuiLib/minigui.ml:7982 5 4 2 1 1 201.74 68.35
MiniGuiLib.minigui.Dialog.pickSaveFile MiniGuiLib/minigui.ml:7991 5 4 2 1 1 204.33 68.31
MiniGuiLib.minigui.Dialog.question MiniGuiLib/minigui.ml:7864 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Dialog.resultName MiniGuiLib/minigui.ml:7829 10 15 8 7 1 343.13 59.36
MiniGuiLib.minigui.Dialog.retryCancel MiniGuiLib/minigui.ml:7885 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Dialog.setValue MiniGuiLib/minigui.ml:7951 6 6 3 2 1 214.05 66.3
MiniGuiLib.minigui.Dialog.showError MiniGuiLib/minigui.ml:7824 3 1 1 0 0 122.62 74.83
MiniGuiLib.minigui.Dialog.showInfo MiniGuiLib/minigui.ml:7810 3 1 1 0 0 122.62 74.83
MiniGuiLib.minigui.Dialog.showInput MiniGuiLib/minigui.ml:7929 6 5 2 1 1 266.27 65.77
MiniGuiLib.minigui.Dialog.showMessage MiniGuiLib/minigui.ml:7796 3 1 1 0 0 162.63 73.97
MiniGuiLib.minigui.Dialog.showModal MiniGuiLib/minigui.ml:7967 11 9 4 3 1 524.62 57.7
MiniGuiLib.minigui.Dialog.showWarning MiniGuiLib/minigui.ml:7817 3 1 1 0 0 122.62 74.83
MiniGuiLib.minigui.Dialog.warning MiniGuiLib/minigui.ml:7850 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Dialog.yesNo MiniGuiLib/minigui.ml:7871 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.Dialog.yesNoCancel MiniGuiLib/minigui.ml:7878 3 1 1 0 0 108 75.22
MiniGuiLib.minigui.DrawingCanvas.clear MiniGuiLib/minigui.ml:8223 3 1 1 0 0 99.91 75.46
MiniGuiLib.minigui.DrawingCanvas.create MiniGuiLib/minigui.ml:8217 3 1 1 0 0 179.31 73.68
MiniGuiLib.minigui.DrawingCanvas.drawText MiniGuiLib/minigui.ml:8255 3 1 1 0 0 140 74.43
MiniGuiLib.minigui.DrawingCanvas.fillRect MiniGuiLib/minigui.ml:8245 3 1 1 0 0 151.24 74.2
MiniGuiLib.minigui.DrawingCanvas.line MiniGuiLib/minigui.ml:8234 3 1 1 0 0 151.24 74.2
MiniGuiLib.minigui.EditableComboBox.create MiniGuiLib/minigui.ml:7143 6 4 1 0 0 310.23 65.44
MiniGuiLib.minigui.Events._emit MiniGuiLib/minigui.ml:7763 16 15 9 13 3 641.69 52.87
MiniGuiLib.minigui.Events.bindBlur MiniGuiLib/minigui.ml:7719 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindChange MiniGuiLib/minigui.ml:7653 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindChanged MiniGuiLib/minigui.ml:7642 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindClick MiniGuiLib/minigui.ml:7609 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindClicked MiniGuiLib/minigui.ml:7620 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindClose MiniGuiLib/minigui.ml:7587 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindFocus MiniGuiLib/minigui.ml:7708 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindLoad MiniGuiLib/minigui.ml:7576 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindResized MiniGuiLib/minigui.ml:7598 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindScrollChanged MiniGuiLib/minigui.ml:7697 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindSelected MiniGuiLib/minigui.ml:7675 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindSelectionChanged MiniGuiLib/minigui.ml:7664 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindSubmit MiniGuiLib/minigui.ml:7730 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindTextChanged MiniGuiLib/minigui.ml:7631 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindValidated MiniGuiLib/minigui.ml:7752 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindValidating MiniGuiLib/minigui.ml:7741 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.Events.bindValueChanged MiniGuiLib/minigui.ml:7686 5 3 1 0 0 146.95 69.44
MiniGuiLib.minigui.FilePicker.create MiniGuiLib/minigui.ml:6388 5 3 1 0 0 277.33 67.51
MiniGuiLib.minigui.FolderPicker.create MiniGuiLib/minigui.ml:6408 5 3 1 0 0 239.75 67.96
MiniGuiLib.minigui.GroupBox.create MiniGuiLib/minigui.ml:6766 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.Image.create MiniGuiLib/minigui.ml:6615 5 3 1 0 0 294.8 67.33
MiniGuiLib.minigui.Label.create MiniGuiLib/minigui.ml:6332 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.LinkLabel.create MiniGuiLib/minigui.ml:6695 5 3 1 0 0 282.03 67.46
MiniGuiLib.minigui.ListBox.create MiniGuiLib/minigui.ml:7165 6 4 1 0 0 310.23 65.44
MiniGuiLib.minigui.ListView.create MiniGuiLib/minigui.ml:6983 6 4 1 0 0 310.23 65.44
MiniGuiLib.minigui.ListView.createColumns MiniGuiLib/minigui.ml:7002 7 5 1 0 0 365.36 63.49
MiniGuiLib.minigui.MenuBar.create MiniGuiLib/minigui.ml:6884 5 3 1 0 0 256.76 67.75
MiniGuiLib.minigui.NumberBox.create MiniGuiLib/minigui.ml:6507 7 5 1 0 0 388.64 63.3
MiniGuiLib.minigui.Panel.create MiniGuiLib/minigui.ml:6714 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.Panel.createTabPage MiniGuiLib/minigui.ml:6728 3 1 1 0 0 182.66 73.62
MiniGuiLib.minigui.PasswordBox.create MiniGuiLib/minigui.ml:6485 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.ProgressBar.create MiniGuiLib/minigui.ml:6841 6 4 1 0 0 332.84 65.23
MiniGuiLib.minigui.PropertyGrid.create MiniGuiLib/minigui.ml:8325 11 9 3 3 2 578.7 57.54
MiniGuiLib.minigui.PropertyGrid.getValue MiniGuiLib/minigui.ml:8340 3 1 1 0 0 79.95 76.13
MiniGuiLib.minigui.PropertyGrid.setValue MiniGuiLib/minigui.ml:8348 3 1 1 0 0 97.67 75.53
MiniGuiLib.minigui.RadioButton.create MiniGuiLib/minigui.ml:6594 5 3 1 0 0 256.76 67.75
MiniGuiLib.minigui.RichTextBox.create MiniGuiLib/minigui.ml:8097 3 1 1 0 0 179.31 73.68
MiniGuiLib.minigui.RichTextBox.formatRange MiniGuiLib/minigui.ml:8108 3 1 1 0 0 128.93 74.68
MiniGuiLib.minigui.ScrollBar.create MiniGuiLib/minigui.ml:6790 7 5 1 0 0 447.7 62.87
MiniGuiLib.minigui.ScrollViewer.create MiniGuiLib/minigui.ml:6748 4 2 1 0 0 222.97 70.29
MiniGuiLib.minigui.SearchBox.create MiniGuiLib/minigui.ml:6449 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.Separator.create MiniGuiLib/minigui.ml:6635 5 3 1 0 0 282.03 67.46
MiniGuiLib.minigui.Slider.create MiniGuiLib/minigui.ml:6817 7 5 1 0 0 447.7 62.87
MiniGuiLib.minigui.SpinBox.create MiniGuiLib/minigui.ml:6532 7 5 1 0 0 388.64 63.3
MiniGuiLib.minigui.Splitter.create MiniGuiLib/minigui.ml:6655 5 3 1 0 0 282.03 67.46
MiniGuiLib.minigui.Splitter.createPane MiniGuiLib/minigui.ml:6673 7 5 1 0 0 390 63.29
MiniGuiLib.minigui.StatusBar.create MiniGuiLib/minigui.ml:6923 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.TabControl.create MiniGuiLib/minigui.ml:6863 6 4 1 0 0 310.23 65.44
MiniGuiLib.minigui.TextArea.create MiniGuiLib/minigui.ml:6467 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.TextBox.create MiniGuiLib/minigui.ml:6368 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.TimePicker.create MiniGuiLib/minigui.ml:7083 4 2 1 0 0 198.81 70.64
MiniGuiLib.minigui.ToggleSwitch.create MiniGuiLib/minigui.ml:6574 5 3 1 0 0 256.76 67.75
MiniGuiLib.minigui.ToolBar.create MiniGuiLib/minigui.ml:6942 5 3 1 0 0 256.76 67.75
MiniGuiLib.minigui.TrayIcon.create MiniGuiLib/minigui.ml:8186 3 1 1 0 0 179.31 73.68
MiniGuiLib.minigui.TrayIcon.setIcon MiniGuiLib/minigui.ml:8200 3 1 1 0 0 77.71 76.22
MiniGuiLib.minigui.TrayIcon.setItems MiniGuiLib/minigui.ml:8193 3 1 1 0 0 101.58 75.41
MiniGuiLib.minigui.TreeView.create MiniGuiLib/minigui.ml:6962 5 3 1 0 0 256.76 67.75
MiniGuiLib.minigui.WebView.create MiniGuiLib/minigui.ml:8149 3 1 1 0 0 179.31 73.68
MiniGuiLib.minigui.WebView.getStatus MiniGuiLib/minigui.ml:8169 3 1 1 0 0 70.31 76.52
MiniGuiLib.minigui.WebView.loadHtml MiniGuiLib/minigui.ml:8163 3 1 1 0 0 77.71 76.22
MiniGuiLib.minigui.WebView.navigate MiniGuiLib/minigui.ml:8156 3 1 1 0 0 77.71 76.22
MiniGuiLib.minigui.Window.close MiniGuiLib/minigui.ml:6295 4 2 1 0 0 57.36 74.42
MiniGuiLib.minigui.Window.create MiniGuiLib/minigui.ml:6282 3 1 1 0 0 151.24 74.2
MiniGuiLib.minigui.Window.getClientHeight MiniGuiLib/minigui.ml:6315 3 1 1 0 0 39.86 78.25
MiniGuiLib.minigui.Window.getClientWidth MiniGuiLib/minigui.ml:6309 3 1 1 0 0 39.86 78.25
MiniGuiLib.minigui.Window.setTitle MiniGuiLib/minigui.ml:6303 3 1 1 0 0 70.31 76.52
MiniGuiLib.minigui.Window.show MiniGuiLib/minigui.ml:6288 4 2 1 0 0 68.53 73.88
miniGuiTypeName tools/minigui.ml:1133 12 11 4 4 2 484.3 57.12
miniIdent tools/minigui.ml:1097 18 17 7 7 2 650.1 51.98
mlString tools/minigui.ml:1148 18 17 9 13 2 839.58 50.93
newResult tools/minigui.ml:216 3 1 1 0 0 136.23 74.51
normalizePath tools/minigui.ml:799 20 17 11 13 2 749.87 50.01
opt tools/minigui.ml:2547 6 4 3 3 2 203.56 66.46
ord tools/minigui.ml:328 4 3 3 2 1 160.54 71.02
parseArray tools/minigui.ml:636 25 19 5 6 2 923.64 48.07
parseJson tools/minigui.ml:664 10 12 6 5 1 623.68 57.81
parseJsonString tools/minigui.ml:405 85 67 35 83 5 4791.54 27.43
parseNumber tools/minigui.ml:494 51 40 22 29 2 2632.01 35.84
parseObject tools/minigui.ml:592 40 32 7 10 2 1738.59 41.42
parseOptions tools/minigui.ml:2514 28 24 23 40 3 2323.35 41.77
parserError tools/minigui.ml:376 3 2 2 1 1 149.34 74.1
parseValue tools/minigui.ml:560 28 25 15 15 2 1328.2 44.55
pathSlash tools/minigui.ml:677 3 1 1 0 0 66.61 76.69
pathUnslash tools/minigui.ml:687 3 1 1 0 0 66.61 76.69
prop tools/minigui.ml:237 9 10 6 6 2 445.88 59.83
quoteProcessArgument tools/minigui.ml:912 31 26 8 14 3 976.96 45.46
readHandle tools/minigui.ml:954 7 4 2 1 1 187.98 65.37
readMson tools/minigui.ml:1203 13 9 3 2 1 378.92 57.24
readU32 tools/minigui.ml:947 3 1 1 0 0 210.83 73.19
relativePath tools/minigui.ml:861 21 15 9 10 2 933.56 49.15
resolveExecutable tools/minigui.ml:1017 13 12 6 7 2 425 56.49
resolveMsonPath tools/minigui.ml:1221 17 14 7 14 4 575 52.89
resolvePythonInterpreter tools/minigui.ml:1041 3 1 1 0 0 33 78.82
resourceValue tools/minigui.ml:1183 16 12 7 10 3 691.12 52.91
runCompiler tools/minigui.ml:2568 19 16 7 7 2 872.72 50.57
runProcess tools/minigui.ml:965 24 22 7 7 2 1123.13 47.59
setProp tools/minigui.ml:1373 14 10 5 7 3 470.65 55.61
skipWs tools/minigui.ml:367 5 2 3 2 1 182.66 68.51
splitPathParts tools/minigui.ml:848 3 1 1 0 0 70.31 76.52
stackHas tools/minigui.ml:1242 7 6 4 4 2 220.08 64.62
stackSlotWidth tools/minigui.ml:1856 3 1 1 0 0 140.87 74.41
startsAt tools/minigui.ml:552 4 3 2 1 1 190.16 70.64
stringArrayLiteral tools/minigui.ml:1909 10 9 4 3 1 696.22 57.74
stringProp tools/minigui.ml:1898 5 4 2 1 1 229.25 67.96
tableArrayLiteral tools/minigui.ml:1990 21 16 7 12 4 1323.93 48.36
testControlProperties tools/minigui.ml:1530 72 70 76 186 9 8886.92 21.61
testLayoutNode tools/minigui.ml:1615 49 35 15 32 6 2970 36.8
testPropertyNames tools/minigui.ml:1445 10 9 6 6 2 524.79 58.33
treeArrayLiteral tools/minigui.ml:1973 11 8 4 4 2 662.83 56.99
trimDotSlash tools/minigui.ml:693 7 4 2 1 1 185.84 65.41
upperFirst tools/minigui.ml:1118 12 11 5 4 1 471.89 57.06
usage tools/minigui.ml:2555 6 4 1 0 0 46.51 71.21
validateMson tools/minigui.ml:1684 79 73 30 75 7 6684.95 27.79
writeValidation tools/minigui.ml:2590 9 5 3 3 2 208.97 62.54

Code duplication

A clone group is an exact sequence of 6 normalized, contiguous code lines found more than once. Comments and formatting whitespace are ignored. Duplicated-line totals count overlapping windows only once.

Found 2 clone group(s). At most 2 groups are shown.

Clone 1 — 2 occurrences
v = resourceValue ( result , path , prop ( prop ( node , "properties" ) , name ) )
if v . kind != "array" then return "[]" end if
if len ( v . items ) == 0 then return "[]" end if
parts = list . List . withCapacity ( len ( v . items ) )
for i = 0 to len ( v . items ) - 1
item = resourceValue ( result , path , v . items [ i ] )
Clone 2 — 3 occurrences
return 0
end if
while p . pos < len ( p . text ) and isDigit ( charAt ( p . text , p . pos ) )
p . pos = p . pos + 1
end while
end if

Definitions

  • Cognitive complexity: decision complexity weighted by nesting; logical and/or operators add one.
  • Cyclomatic complexity: one plus decisions from conditions, loops, switch cases, and logical and/or operators.
  • Documentation coverage: percentage of documented API summaries, parameter contracts, fields, constants, globals, and enum variants. Empty categories report 100% and do not affect the overall ratio.
  • Halstead metrics: operators and operands are counted from MiniLang lexical tokens. Estimated defects are volume divided by 3,000.
  • Maintainability index: normalized 0–100 index based on Halstead volume, cyclomatic complexity, and source lines. Project MI is source-line weighted across files.
  • SLOC: non-empty lines containing MiniLang tokens after conditional preprocessing; comment-only lines are excluded.