JetBrains / compose-multiplatform
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
properties
txt
plist
pro
mjs
gitattributes
patch
podspec
storyboard
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main41922 LOC (38%) 628 files
test32769 LOC (30%) 339 files
generated761 LOC (<1%) 26 files
build and deployment1853 LOC (1%) 35 files
other31160 LOC (28%) 716 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
pro
mjs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 628 files match defined criteria (41,922 LOC, 100.0% vs. main code):
    • 480 *.kt files (36,075 LOC)
    • 89 *.kts files (4,022 LOC)
    • 29 *.xml files (1,022 LOC)
    • 7 *.swift files (210 LOC)
    • 8 *.toml files (168 LOC)
    • 1 *.pro files (110 LOC)
    • 4 *.js files (98 LOC)
    • 3 *.mjs files (82 LOC)
    • 4 *.html files (56 LOC)
    • 1 *.groovy files (41 LOC)
    • 1 *.java files (37 LOC)
    • 1 *.css files (1 LOC)
  • " *.kt" is biggest, containing 86.05% of LOC.
  • " *.css" is smallest, containing 0% of LOC.


*.kt36075 LOC (86%) 480 files
*.kts4022 LOC (9%) 89 files
*.xml1022 LOC (2%) 29 files
*.swift210 LOC (<1%) 7 files
*.toml168 LOC (<1%) 8 files
*.pro110 LOC (<1%) 1 file
*.js98 LOC (<1%) 4 files
*.mjs82 LOC (<1%) 3 files
*.html56 LOC (<1%) 4 files
*.groovy41 LOC (<1%) 1 file
*.java37 LOC (<1%) 1 file
*.css1 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
podspec
pro
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
  • 339 files match defined criteria (32,769 LOC, 78.2% vs. main code):
    • 163 *.kt files (28,488 LOC)
    • 75 *.kts files (1,880 LOC)
    • 49 *.gradle files (1,254 LOC)
    • 41 *.xml files (899 LOC)
    • 2 *.bat files (138 LOC)
    • 1 *.podspec files (46 LOC)
    • 2 *.sh files (15 LOC)
    • 1 *.swift files (13 LOC)
    • 1 *.toml files (12 LOC)
    • 1 *.html files (12 LOC)
    • 1 *.css files (7 LOC)
    • 1 *.pro files (4 LOC)
    • 1 *.js files (1 LOC)
  • " *.kt" is biggest, containing 86.94% of LOC.
  • " *.js" is smallest, containing 0% of LOC.


*.kt28488 LOC (86%) 163 files
*.kts1880 LOC (5%) 75 files
*.gradle1254 LOC (3%) 49 files
*.xml899 LOC (2%) 41 files
*.bat138 LOC (<1%) 2 files
*.podspec46 LOC (<1%) 1 file
*.sh15 LOC (<1%) 2 files
*.swift13 LOC (<1%) 1 file
*.toml12 LOC (<1%) 1 file
*.html12 LOC (<1%) 1 file
*.css7 LOC (<1%) 1 file
*.pro4 LOC (<1%) 1 file
*.js1 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/generated/.*".
  • 26 files match defined criteria (761 LOC, 1.8% vs. main code). All matches are in *.kt files.


*.kt761 LOC (100%) 26 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/AndroidManifest[.]xml".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*[.]podspec".
  • 35 files match defined criteria (1,853 LOC, 4.4% vs. main code):
    • 22 *.bat files (1,604 LOC)
    • 8 *.sh files (171 LOC)
    • 5 *.xml files (78 LOC)
  • " *.bat" is biggest, containing 86.56% of LOC.
  • " *.xml" is smallest, containing 4.21% of LOC.


*.bat1604 LOC (86%) 22 files
*.sh171 LOC (9%) 8 files
*.xml78 LOC (4%) 5 files
Other Code
txt
plist
properties
storyboard
pro
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]patch".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]storyboard".
  • 716 files match defined criteria (31,160 LOC, 74.3% vs. main code):
    • 299 *.kt files (14,594 LOC)
    • 64 *.md files (6,897 LOC)
    • 41 *.txt files (2,901 LOC)
    • 64 *.kts files (2,045 LOC)
    • 15 *.bat files (1,057 LOC)
    • 16 *.plist files (812 LOC)
    • 42 *.xml files (681 LOC)
    • 32 *.json files (578 LOC)
    • 28 *.swift files (477 LOC)
    • 64 *.properties files (390 LOC)
    • 10 *.html files (277 LOC)
    • 24 *.svg files (122 LOC)
    • 4 *.css files (83 LOC)
    • 4 *.sh files (75 LOC)
    • 1 *.storyboard files (47 LOC)
    • 2 *.toml files (41 LOC)
    • 1 *.graphql files (34 LOC)
    • 3 *.pro files (26 LOC)
    • 2 *.js files (23 LOC)
  • " *.kt" is biggest, containing 46.84% of LOC.
  • " *.js" is smallest, containing 0.07% of LOC.


*.kt14594 LOC (46%) 299 files
*.md6897 LOC (22%) 64 files
*.txt2901 LOC (9%) 41 files
*.kts2045 LOC (6%) 64 files
*.bat1057 LOC (3%) 15 files
*.plist812 LOC (2%) 16 files
*.xml681 LOC (2%) 42 files
*.json578 LOC (1%) 32 files
*.swift477 LOC (1%) 28 files
*.properties390 LOC (1%) 64 files
*.html277 LOC (<1%) 10 files
*.svg122 LOC (<1%) 24 files
*.css83 LOC (<1%) 4 files
*.sh75 LOC (<1%) 4 files
*.storyboard47 LOC (<1%) 1 file
*.toml41 LOC (<1%) 2 files
*.graphql34 LOC (<1%) 1 file
*.pro26 LOC (<1%) 3 files
*.js23 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2026-01-18 17:16