JetBrains / JetBrainsRuntime
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
xsd
xsl
s
nr
m4
in
mod
props
org
cfg
policy
plist
vert
wxl
frag
patch
jsonc
wxi
wxs
wsdl
red
spec
po
sed
gitattributes
desktop
editorconfig
gdb
metal
cmd
login
tab
glsl
vxml
ini
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.

main4985691 LOC (56%) 22,067 files
test3512088 LOC (39%) 38,906 files
generated27934 LOC (<1%) 26 files
build and deployment7097 LOC (<1%) 69 files
other347030 LOC (3%) 3,338 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xsd
org
xsl
spec
mod
nr
metal
in
gdb
wxs
jsonc
glsl
vert
sed
wxl
frag
wxi
cmd
policy
desktop
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 22067 files match defined criteria (4,985,691 LOC, 100.0% vs. main code):
    • 14,200 *.java files (2,200,759 LOC)
    • 1,185 *.xml files (1,121,826 LOC)
    • 1,761 *.cpp files (752,871 LOC)
    • 887 *.c files (368,115 LOC)
    • 2,245 *.hpp files (236,399 LOC)
    • 1,061 *.h files (99,924 LOC)
    • 236 *.hh files (75,282 LOC)
    • 135 *.m files (41,461 LOC)
    • 53 *.xsd files (23,779 LOC)
    • 65 *.cc files (23,770 LOC)
    • 62 *.html files (11,843 LOC)
    • 15 *.org files (11,165 LOC)
    • 8 *.xsl files (4,447 LOC)
    • 2 *.spec files (3,392 LOC)
    • 35 *.mod files (2,213 LOC)
    • 48 *.nr files (1,878 LOC)
    • 2 *.js files (1,210 LOC)
    • 2 *.cu files (913 LOC)
    • 14 *.cmake files (800 LOC)
    • 1 *.metal files (744 LOC)
    • 3 *.d files (557 LOC)
    • 4 *.in files (520 LOC)
    • 3 *.py files (386 LOC)
    • 2 *.css files (356 LOC)
    • 1 *.gdb files (200 LOC)
    • 3 *.wxs files (179 LOC)
    • 3 *.jsonc files (173 LOC)
    • 1 *.glsl files (88 LOC)
    • 6 *.vert files (72 LOC)
    • 1 *.sed files (72 LOC)
    • 4 *.wxl files (64 LOC)
    • 5 *.inc files (52 LOC)
    • 4 *.frag files (46 LOC)
    • 3 *.wxi files (46 LOC)
    • 1 *.cmd files (41 LOC)
    • 5 *.policy files (38 LOC)
    • 1 *.desktop files (10 LOC)
  • " *.java" is biggest, containing 44.14% of LOC.
  • " *.desktop" is smallest, containing 0% of LOC.


*.java2200759 LOC (44%) 14,200 files
*.xml1121826 LOC (22%) 1,185 files
*.cpp752871 LOC (15%) 1,761 files
*.c368115 LOC (7%) 887 files
*.hpp236399 LOC (4%) 2,245 files
*.h99924 LOC (2%) 1,061 files
*.hh75282 LOC (1%) 236 files
*.m41461 LOC (<1%) 135 files
*.xsd23779 LOC (<1%) 53 files
*.cc23770 LOC (<1%) 65 files
*.html11843 LOC (<1%) 62 files
*.org11165 LOC (<1%) 15 files
*.xsl4447 LOC (<1%) 8 files
*.spec3392 LOC (<1%) 2 files
*.mod2213 LOC (<1%) 35 files
*.nr1878 LOC (<1%) 48 files
*.js1210 LOC (<1%) 2 files
*.cu913 LOC (<1%) 2 files
*.cmake800 LOC (<1%) 14 files
*.metal744 LOC (<1%) 1 file
*.d557 LOC (<1%) 3 files
*.in520 LOC (<1%) 4 files
*.py386 LOC (<1%) 3 files
*.css356 LOC (<1%) 2 files
*.gdb200 LOC (<1%) 1 file
*.wxs179 LOC (<1%) 3 files
*.jsonc173 LOC (<1%) 3 files
*.glsl88 LOC (<1%) 1 file
*.vert72 LOC (<1%) 6 files
*.sed72 LOC (<1%) 1 file
*.wxl64 LOC (<1%) 4 files
*.inc52 LOC (<1%) 5 files
*.frag46 LOC (<1%) 4 files
*.wxi46 LOC (<1%) 3 files
*.cmd41 LOC (<1%) 1 file
*.policy38 LOC (<1%) 5 files
*.desktop10 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
xsl
xsd
props
wsdl
cfg
in
policy
vxml
red
org
login
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*/testing[.].*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/UITests?/.*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*[.][Tt]est/.*".
  • 38906 files match defined criteria (3,512,088 LOC, 70.4% vs. main code):
    • 35,975 *.java files (3,252,311 LOC)
    • 1,632 *.cpp files (176,647 LOC)
    • 500 *.xml files (25,657 LOC)
    • 81 *.xsl files (16,671 LOC)
    • 193 *.c files (11,156 LOC)
    • 172 *.xsd files (10,069 LOC)
    • 123 *.sh files (6,268 LOC)
    • 2 *.py files (3,313 LOC)
    • 33 *.hpp files (3,057 LOC)
    • 24 *.props files (2,221 LOC)
    • 49 *.html files (1,363 LOC)
    • 2 *.wsdl files (759 LOC)
    • 20 *.awk files (638 LOC)
    • 10 *.h files (416 LOC)
    • 2 *.pl files (243 LOC)
    • 5 *.ksh files (226 LOC)
    • 3 *.m files (215 LOC)
    • 11 *.js files (156 LOC)
    • 2 *.ps1 files (119 LOC)
    • 12 *.cfg files (116 LOC)
    • 32 *.in files (105 LOC)
    • 1 *.applescript files (102 LOC)
    • 1 *.bash files (69 LOC)
    • 4 *.policy files (56 LOC)
    • 3 *.d files (50 LOC)
    • 1 *.jsp files (24 LOC)
    • 1 *.vxml files (20 LOC)
    • 2 *.css files (16 LOC)
    • 2 *.red files (14 LOC)
    • 7 *.org files (7 LOC)
    • 1 *.login files (4 LOC)
  • " *.java" is biggest, containing 92.6% of LOC.
  • " *.login" is smallest, containing 0% of LOC.


*.java3252311 LOC (92%) 35,975 files
*.cpp176647 LOC (5%) 1,632 files
*.xml25657 LOC (<1%) 500 files
*.xsl16671 LOC (<1%) 81 files
*.c11156 LOC (<1%) 193 files
*.xsd10069 LOC (<1%) 172 files
*.sh6268 LOC (<1%) 123 files
*.py3313 LOC (<1%) 2 files
*.hpp3057 LOC (<1%) 33 files
*.props2221 LOC (<1%) 24 files
*.html1363 LOC (<1%) 49 files
*.wsdl759 LOC (<1%) 2 files
*.awk638 LOC (<1%) 20 files
*.h416 LOC (<1%) 10 files
*.pl243 LOC (<1%) 2 files
*.ksh226 LOC (<1%) 5 files
*.m215 LOC (<1%) 3 files
*.js156 LOC (<1%) 11 files
*.ps1119 LOC (<1%) 2 files
*.cfg116 LOC (<1%) 12 files
*.in105 LOC (<1%) 32 files
*.applescript102 LOC (<1%) 1 file
*.bash69 LOC (<1%) 1 file
*.policy56 LOC (<1%) 4 files
*.d50 LOC (<1%) 3 files
*.jsp24 LOC (<1%) 1 file
*.vxml20 LOC (<1%) 1 file
*.css16 LOC (<1%) 2 files
*.red14 LOC (<1%) 2 files
*.org7 LOC (<1%) 7 files
*.login4 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/.*".
    • files with any line of content like "//[ ]*Generated by .*".
    • files with paths like ".*[.](cxx|cpp|c|hxx|hpp|h)" AND any line of content like "[ ]*[*][ ]*Generated automatically by[ ]*.*".
    • files with paths like ".*[.](html|html|xhtml)" AND any line of content like "[ ]*[<]meta name[=]"generator" .*".
    • files with paths like ".*[.]h" AND any line of content like ".* DO NOT EDIT THIS FILE [-] it is machine generated .*".
  • 26 files match defined criteria (27,934 LOC, 0.6% vs. main code):
    • 8 *.h files (21,397 LOC)
    • 7 *.html files (6,054 LOC)
    • 11 *.java files (483 LOC)
  • " *.h" is biggest, containing 76.6% of LOC.
  • " *.java" is smallest, containing 1.73% of LOC.


*.h21397 LOC (76%) 8 files
*.html6054 LOC (21%) 7 files
*.java483 LOC (1%) 11 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 ".*[.]sh".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*/build[.]xml".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]gitattributes".
  • 69 files match defined criteria (7,097 LOC, 0.1% vs. main code):
    • 46 *.sh files (4,776 LOC)
    • 22 *.xml files (2,217 LOC)
    • 1 *.gradle files (104 LOC)
  • " *.sh" is biggest, containing 67.3% of LOC.
  • " *.gradle" is smallest, containing 1.47% of LOC.


*.sh4776 LOC (67%) 46 files
*.xml2217 LOC (31%) 22 files
*.gradle104 LOC (1%) 1 file
Other Code
txt
properties
po
ini
tab
plist
xsd
patch
xsl
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 ".*[.]editorconfig".
    • files with paths like ".*[.]patch".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/COPYRIGHT[.][a-z0-9]+".
    • files with paths like ".*/[Mm]an/.*".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]tab".
    • files with paths like ".*[.]json".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]po".
    • files with paths like ".*/checkstyle.*".
  • 3338 files match defined criteria (347,030 LOC, 7.0% vs. main code):
    • 928 *.txt files (179,586 LOC)
    • 1,035 *.properties files (74,484 LOC)
    • 1,163 *.java files (52,186 LOC)
    • 112 *.md files (23,928 LOC)
    • 2 *.po files (7,074 LOC)
    • 40 *.xml files (4,539 LOC)
    • 15 *.svg files (1,918 LOC)
    • 25 *.html files (1,521 LOC)
    • 1 *.ini files (579 LOC)
    • 3 *.json files (446 LOC)
    • 1 *.tab files (302 LOC)
    • 8 *.plist files (233 LOC)
    • 1 *.xsd files (143 LOC)
    • 3 *.patch files (71 LOC)
    • 1 *.xsl files (20 LOC)
  • " *.txt" is biggest, containing 51.75% of LOC.
  • " *.xsl" is smallest, containing 0.01% of LOC.


*.txt179586 LOC (51%) 928 files
*.properties74484 LOC (21%) 1,035 files
*.java52186 LOC (15%) 1,163 files
*.md23928 LOC (6%) 112 files
*.po7074 LOC (2%) 2 files
*.xml4539 LOC (1%) 40 files
*.svg1918 LOC (<1%) 15 files
*.html1521 LOC (<1%) 25 files
*.ini579 LOC (<1%) 1 file
*.json446 LOC (<1%) 3 files
*.tab302 LOC (<1%) 1 file
*.plist233 LOC (<1%) 8 files
*.xsd143 LOC (<1%) 1 file
*.patch71 LOC (<1%) 3 files
*.xsl20 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2026-01-18 18:10