[ {
  "shortName" : "public class SessionEndpointTests()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
  "fileLinesCount" : 203,
  "components" : [ "primary::src" ],
  "startLine" : 12,
  "endLine" : 203,
  "linesOfCode" : 161,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class AspireHostResourceWatcher()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHostResourceWatcher.cs",
  "fileLinesCount" : 176,
  "components" : [ "primary::src" ],
  "startLine" : 16,
  "endLine" : 176,
  "linesOfCode" : 140,
  "mcCabeIndex" : 14,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public class AspireProjectModelService()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/ProjectModel/AspireProjectModelService.cs",
  "fileLinesCount" : 168,
  "components" : [ "primary::src" ],
  "startLine" : 26,
  "endLine" : 168,
  "linesOfCode" : 113,
  "mcCabeIndex" : 14,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class AspireHostResourceLogWatcher()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHostResourceLogWatcher.cs",
  "fileLinesCount" : 96,
  "components" : [ "primary::src" ],
  "startLine" : 12,
  "endLine" : 96,
  "linesOfCode" : 72,
  "mcCabeIndex" : 8,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class SessionEventWatcher()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/SessionEventWatcher.cs",
  "fileLinesCount" : 83,
  "components" : [ "primary::src" ],
  "startLine" : 9,
  "endLine" : 83,
  "linesOfCode" : 68,
  "mcCabeIndex" : 9,
  "numberOfParameters" : 5,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class RdConnectionWrapper()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/RdConnection/RdConnectionWrapper.cs",
  "fileLinesCount" : 88,
  "components" : [ "primary::src" ],
  "startLine" : 13,
  "endLine" : 88,
  "linesOfCode" : 65,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun reset()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
  "fileLinesCount" : 426,
  "components" : [ "primary::rider" ],
  "startLine" : 235,
  "endLine" : 302,
  "linesOfCode" : 62,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 13,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun modifyAppHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireAppHostModificationService.kt",
  "fileLinesCount" : 172,
  "components" : [ "primary::rider" ],
  "startLine" : 52,
  "endLine" : 119,
  "linesOfCode" : 57,
  "mcCabeIndex" : 11,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun createExecutable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibraryExecutableFactory.kt",
  "fileLinesCount" : 96,
  "components" : [ "primary::rider" ],
  "startLine" : 31,
  "endLine" : 95,
  "linesOfCode" : 55,
  "mcCabeIndex" : 7,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected suspend fun configureEnvironmentVariables()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutorFactory.kt",
  "fileLinesCount" : 168,
  "components" : [ "primary::rider" ],
  "startLine" : 38,
  "endLine" : 125,
  "linesOfCode" : 55,
  "mcCabeIndex" : 14,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun startAspireHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/unitTests/AspireUnitTestService.kt",
  "fileLinesCount" : 133,
  "components" : [ "primary::rider" ],
  "startLine" : 47,
  "endLine" : 108,
  "linesOfCode" : 54,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class RdConnectionHostedService()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/RdConnection/RdConnectionHostedService.cs",
  "fileLinesCount" : 82,
  "components" : [ "primary::src" ],
  "startLine" : 25,
  "endLine" : 82,
  "linesOfCode" : 53,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class DcpTokenAuthenticationHandler()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Authentication/DcpTokenAuthenticationHandler.cs",
  "fileLinesCount" : 70,
  "components" : [ "primary::src" ],
  "startLine" : 16,
  "endLine" : 70,
  "linesOfCode" : 48,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class AspireHostService()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHostService.cs",
  "fileLinesCount" : 62,
  "components" : [ "primary::src" ],
  "startLine" : 11,
  "endLine" : 62,
  "linesOfCode" : 44,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun generateManifest()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/manifest/ManifestService.kt",
  "fileLinesCount" : 94,
  "components" : [ "primary::rider" ],
  "startLine" : 47,
  "endLine" : 93,
  "linesOfCode" : 43,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun createEditor()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
  "fileLinesCount" : 112,
  "components" : [ "primary::rider" ],
  "startLine" : 27,
  "endLine" : 68,
  "linesOfCode" : 42,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static ResourceEnvironmentVariable ToModel()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/ResourceExtensions.cs",
  "fileLinesCount" : 163,
  "components" : [ "primary::src" ],
  "startLine" : 111,
  "endLine" : 156,
  "linesOfCode" : 41,
  "mcCabeIndex" : 6,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public class AspireRunnableProjectProvider()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/RunnableProject/AspireRunnableProjectProvider.cs",
  "fileLinesCount" : 51,
  "components" : [ "primary::src" ],
  "startLine" : 10,
  "endLine" : 51,
  "linesOfCode" : 37,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun createAndStartSession()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/runners/AspireHostDebugProgramRunner.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::rider" ],
  "startLine" : 36,
  "endLine" : 77,
  "linesOfCode" : 36,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun execute()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt",
  "fileLinesCount" : 103,
  "components" : [ "primary::rider" ],
  "startLine" : 64,
  "endLine" : 102,
  "linesOfCode" : 35,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun createEditor()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationSettingsEditor.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 57,
  "linesOfCode" : 35,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun launchRunProcess()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
  "fileLinesCount" : 262,
  "components" : [ "primary::rider" ],
  "startLine" : 48,
  "endLine" : 84,
  "linesOfCode" : 34,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun executeConfigurationForHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireRunConfigurationManager.kt",
  "fileLinesCount" : 93,
  "components" : [ "primary::rider" ],
  "startLine" : 42,
  "endLine" : 80,
  "linesOfCode" : 34,
  "mcCabeIndex" : 9,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun addAspireOrchestration()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireOrchestrationService.kt",
  "fileLinesCount" : 183,
  "components" : [ "primary::rider" ],
  "startLine" : 79,
  "endLine" : 118,
  "linesOfCode" : 33,
  "mcCabeIndex" : 9,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal static ResourceModel ToModel()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/ResourceExtensions.cs",
  "fileLinesCount" : 163,
  "components" : [ "primary::src" ],
  "startLine" : 15,
  "endLine" : 47,
  "linesOfCode" : 32,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun generateServiceDefaultsAndModifyProjects()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/BaseOrchestrationHandler.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 62,
  "linesOfCode" : 32,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun validate()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
  "fileLinesCount" : 193,
  "components" : [ "primary::rider" ],
  "startLine" : 77,
  "endLine" : 114,
  "linesOfCode" : 32,
  "mcCabeIndex" : 11,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static async Task Notify()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Sessions/SessionEndpoints.cs",
  "fileLinesCount" : 184,
  "components" : [ "primary::src" ],
  "startLine" : 116,
  "endLine" : 150,
  "linesOfCode" : 31,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal async Task Create()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHost.cs",
  "fileLinesCount" : 201,
  "components" : [ "primary::src" ],
  "startLine" : 133,
  "endLine" : 170,
  "linesOfCode" : 31,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun modifyAppHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AzureFunctionOrchestrationHandler.kt",
  "fileLinesCount" : 79,
  "components" : [ "primary::rider" ],
  "startLine" : 24,
  "endLine" : 56,
  "linesOfCode" : 30,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun createAndStartSession()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProgramRunner.kt",
  "fileLinesCount" : 93,
  "components" : [ "primary::rider" ],
  "startLine" : 61,
  "endLine" : 92,
  "linesOfCode" : 30,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun start()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 107,
  "endLine" : 143,
  "linesOfCode" : 29,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder ConfigureOpenTelemetry()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 47,
  "endLine" : 80,
  "linesOfCode" : 28,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder ConfigureOpenTelemetry()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 47,
  "endLine" : 80,
  "linesOfCode" : 28,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder ConfigureOpenTelemetry()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 47,
  "endLine" : 80,
  "linesOfCode" : 28,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun modifyAppHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/MauiProjectOrchestrationHandler.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::rider" ],
  "startLine" : 33,
  "endLine" : 63,
  "linesOfCode" : 28,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun launchDebugProcess()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
  "fileLinesCount" : 262,
  "components" : [ "primary::rider" ],
  "startLine" : 86,
  "endLine" : 116,
  "linesOfCode" : 28,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun modifyDotNetExecutable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionWithHotReloadProcessLauncher.kt",
  "fileLinesCount" : 55,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 54,
  "linesOfCode" : 28,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 5,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun create()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostExecutorFactory.kt",
  "fileLinesCount" : 138,
  "components" : [ "primary::rider" ],
  "startLine" : 42,
  "endLine" : 75,
  "linesOfCode" : 28,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun setupConfigurationFromContext()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostRunConfigurationProducer.kt",
  "fileLinesCount" : 75,
  "components" : [ "primary::rider" ],
  "startLine" : 42,
  "endLine" : 74,
  "linesOfCode" : 28,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static ResourceProperty ToModel()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/ResourceExtensions.cs",
  "fileLinesCount" : 163,
  "components" : [ "primary::src" ],
  "startLine" : 77,
  "endLine" : 109,
  "linesOfCode" : 27,
  "mcCabeIndex" : 7,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun insertAspireDefaultMethodsIntoProjects()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireServiceDefaultsModificationService.kt",
  "fileLinesCount" : 188,
  "components" : [ "primary::rider" ],
  "startLine" : 61,
  "endLine" : 90,
  "linesOfCode" : 25,
  "mcCabeIndex" : 7,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun createExecutable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetProjectSessionExecutableFactory.kt",
  "fileLinesCount" : 234,
  "components" : [ "primary::rider" ],
  "startLine" : 47,
  "endLine" : 72,
  "linesOfCode" : 25,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getExecutableParams()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/SessionExecutableFactoryUtils.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::rider" ],
  "startLine" : 110,
  "endLine" : 135,
  "linesOfCode" : 25,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun execute()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostHotReloadConfigurationExtension.kt",
  "fileLinesCount" : 61,
  "components" : [ "primary::rider" ],
  "startLine" : 32,
  "endLine" : 60,
  "linesOfCode" : 25,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun execute()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/states/AspireHostRunProfileState.kt",
  "fileLinesCount" : 56,
  "components" : [ "primary::rider" ],
  "startLine" : 28,
  "endLine" : 55,
  "linesOfCode" : 25,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun tryCreateDefault()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireConfigurationType.kt",
  "fileLinesCount" : 183,
  "components" : [ "primary::rider" ],
  "startLine" : 44,
  "endLine" : 72,
  "linesOfCode" : 25,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 5,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed record Info()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Sessions/SessionModels.cs",
  "fileLinesCount" : 46,
  "components" : [ "primary::src" ],
  "startLine" : 7,
  "endLine" : 33,
  "linesOfCode" : 24,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal static void AddAspireHostServices()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHostRegistration.cs",
  "fileLinesCount" : 34,
  "components" : [ "primary::src" ],
  "startLine" : 8,
  "endLine" : 33,
  "linesOfCode" : 23,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal AspireHost()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHost.cs",
  "fileLinesCount" : 201,
  "components" : [ "primary::src" ],
  "startLine" : 46,
  "endLine" : 70,
  "linesOfCode" : 23,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun initDebuggerSession()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProgramRunner.kt",
  "fileLinesCount" : 93,
  "components" : [ "primary::rider" ],
  "startLine" : 34,
  "endLine" : 59,
  "linesOfCode" : 23,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 5,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public class WeatherApiClient()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/WeatherApiClient.cs",
  "fileLinesCount" : 32,
  "components" : [ "primary::testData" ],
  "startLine" : 3,
  "endLine" : 27,
  "linesOfCode" : 22,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public class WeatherApiClient()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/WeatherApiClient.cs",
  "fileLinesCount" : 32,
  "components" : [ "primary::testData" ],
  "startLine" : 3,
  "endLine" : 27,
  "linesOfCode" : 22,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public class WeatherApiClient()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/WeatherApiClient.cs",
  "fileLinesCount" : 32,
  "components" : [ "primary::testData" ],
  "startLine" : 3,
  "endLine" : 27,
  "linesOfCode" : 22,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static async Task Receive()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Sessions/SessionEndpoints.cs",
  "fileLinesCount" : 184,
  "components" : [ "primary::src" ],
  "startLine" : 152,
  "endLine" : 176,
  "linesOfCode" : 22,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun modifyAppHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/DefaultProjectOrchestrationHandler.kt",
  "fileLinesCount" : 43,
  "components" : [ "primary::rider" ],
  "startLine" : 18,
  "endLine" : 41,
  "linesOfCode" : 22,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun applyEditorTo()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
  "fileLinesCount" : 112,
  "components" : [ "primary::rider" ],
  "startLine" : 70,
  "endLine" : 91,
  "linesOfCode" : 22,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun setUpFromRunnableProject()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
  "fileLinesCount" : 193,
  "components" : [ "primary::rider" ],
  "startLine" : 171,
  "endLine" : 192,
  "linesOfCode" : 22,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal async Task DoWithModel()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/RdConnection/RdConnection.cs",
  "fileLinesCount" : 46,
  "components" : [ "primary::src" ],
  "startLine" : 17,
  "endLine" : 38,
  "linesOfCode" : 21,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun readExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
  "fileLinesCount" : 193,
  "components" : [ "primary::rider" ],
  "startLine" : 116,
  "endLine" : 136,
  "linesOfCode" : 21,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun subscribeToAspireAppHostModel()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
  "fileLinesCount" : 322,
  "components" : [ "primary::core" ],
  "startLine" : 151,
  "endLine" : 176,
  "linesOfCode" : 20,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getProjectRunProperties()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/MSBuildPropertyService.kt",
  "fileLinesCount" : 188,
  "components" : [ "primary::core" ],
  "startLine" : 36,
  "endLine" : 57,
  "linesOfCode" : 20,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun showResourceGraph()",
  "longName" : "",
  "relativeFileName" : "diagram/src/main/kotlin/com/jetbrains/aspire/diagram/graph/ResourceGraphService.kt",
  "fileLinesCount" : 111,
  "components" : [ "primary::diagram" ],
  "startLine" : 33,
  "endLine" : 56,
  "linesOfCode" : 20,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun reset()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationViewModel.kt",
  "fileLinesCount" : 62,
  "components" : [ "primary::rider" ],
  "startLine" : 42,
  "endLine" : 61,
  "linesOfCode" : 20,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun readExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
  "fileLinesCount" : 145,
  "components" : [ "primary::rider" ],
  "startLine" : 94,
  "endLine" : 113,
  "linesOfCode" : 20,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private void InitializeResourceWatchers()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHost.cs",
  "fileLinesCount" : 201,
  "components" : [ "primary::src" ],
  "startLine" : 81,
  "endLine" : 102,
  "linesOfCode" : 19,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun execute()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectHotReloadConfigurationExtension.kt",
  "fileLinesCount" : 52,
  "components" : [ "primary::rider" ],
  "startLine" : 29,
  "endLine" : 51,
  "linesOfCode" : 19,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun mergeArguments()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/SessionExecutableFactoryUtils.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::rider" ],
  "startLine" : 73,
  "endLine" : 92,
  "linesOfCode" : 19,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun resetEditorFrom()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
  "fileLinesCount" : 112,
  "components" : [ "primary::rider" ],
  "startLine" : 93,
  "endLine" : 111,
  "linesOfCode" : 19,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun startNotified()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
  "fileLinesCount" : 298,
  "components" : [ "primary::rider" ],
  "startLine" : 152,
  "endLine" : 169,
  "linesOfCode" : 18,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun isApplicable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
  "fileLinesCount" : 113,
  "components" : [ "primary::rider" ],
  "startLine" : 39,
  "endLine" : 59,
  "linesOfCode" : 18,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun setUpAspireHostModelAndSaveRunConfig()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/runners/AspireHostProgramRunnerUtils.kt",
  "fileLinesCount" : 134,
  "components" : [ "primary::rider" ],
  "startLine" : 29,
  "endLine" : 48,
  "linesOfCode" : 18,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun validate()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
  "fileLinesCount" : 145,
  "components" : [ "primary::rider" ],
  "startLine" : 69,
  "endLine" : 92,
  "linesOfCode" : 18,
  "mcCabeIndex" : 6,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun update()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/ManifestGenerationAction.kt",
  "fileLinesCount" : 50,
  "components" : [ "primary::rider" ],
  "startLine" : 27,
  "endLine" : 47,
  "linesOfCode" : 18,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun build()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlJdbcUrl.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::database" ],
  "startLine" : 12,
  "endLine" : 32,
  "linesOfCode" : 18,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun generateProjectFromTemplate()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireProjectTemplateGenerator.kt",
  "fileLinesCount" : 210,
  "components" : [ "primary::rider" ],
  "startLine" : 59,
  "endLine" : 78,
  "linesOfCode" : 17,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun findExistingServiceDefaults()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/MauiProjectOrchestrationHandler.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::rider" ],
  "startLine" : 87,
  "endLine" : 104,
  "linesOfCode" : 17,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun executeAsync()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/runners/AspireHostProgramRunner.kt",
  "fileLinesCount" : 53,
  "components" : [ "primary::rider" ],
  "startLine" : 30,
  "endLine" : 52,
  "linesOfCode" : 17,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getStartBrowserAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/BrowserUtils.kt",
  "fileLinesCount" : 35,
  "components" : [ "primary::core" ],
  "startLine" : 12,
  "endLine" : 27,
  "linesOfCode" : 16,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static MauiApp CreateMauiApp()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/MauiProgram.cs",
  "fileLinesCount" : 24,
  "components" : [ "primary::testData" ],
  "startLine" : 7,
  "endLine" : 23,
  "linesOfCode" : 15,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class AspireHostListener()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHostListener.cs",
  "fileLinesCount" : 22,
  "components" : [ "primary::src" ],
  "startLine" : 6,
  "endLine" : 22,
  "linesOfCode" : 15,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun addAspireOrchestration()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireOrchestrationService.kt",
  "fileLinesCount" : 183,
  "components" : [ "primary::rider" ],
  "startLine" : 53,
  "endLine" : 69,
  "linesOfCode" : 15,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun applyEditorTo()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationSettingsEditor.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::rider" ],
  "startLine" : 59,
  "endLine" : 74,
  "linesOfCode" : 15,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun writeExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
  "fileLinesCount" : 193,
  "components" : [ "primary::rider" ],
  "startLine" : 138,
  "endLine" : 152,
  "linesOfCode" : 15,
  "mcCabeIndex" : 7,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/ResourceCommandAction.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::core" ],
  "startLine" : 29,
  "endLine" : 44,
  "linesOfCode" : 14,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun update()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/AspireHostBaseAction.kt",
  "fileLinesCount" : 48,
  "components" : [ "primary::core" ],
  "startLine" : 24,
  "endLine" : 39,
  "linesOfCode" : 14,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected open suspend fun findExistingServiceDefaults()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/BaseOrchestrationHandler.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::rider" ],
  "startLine" : 64,
  "endLine" : 77,
  "linesOfCode" : 14,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getDotNetExecutable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
  "fileLinesCount" : 113,
  "components" : [ "primary::rider" ],
  "startLine" : 89,
  "endLine" : 103,
  "linesOfCode" : 14,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun createWorkerRunInfo()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt",
  "fileLinesCount" : 103,
  "components" : [ "primary::rider" ],
  "startLine" : 49,
  "endLine" : 62,
  "linesOfCode" : 14,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getDotNetExecutable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
  "fileLinesCount" : 113,
  "components" : [ "primary::rider" ],
  "startLine" : 61,
  "endLine" : 75,
  "linesOfCode" : 14,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun writeExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
  "fileLinesCount" : 145,
  "components" : [ "primary::rider" ],
  "startLine" : 115,
  "endLine" : 128,
  "linesOfCode" : 14,
  "mcCabeIndex" : 7,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun isConfigurationFromContext()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostRunConfigurationProducer.kt",
  "fileLinesCount" : 75,
  "components" : [ "primary::rider" ],
  "startLine" : 25,
  "endLine" : 40,
  "linesOfCode" : 14,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/dashboard/resource/NavigateToResourceDebugTab.kt",
  "fileLinesCount" : 61,
  "components" : [ "primary::rider" ],
  "startLine" : 34,
  "endLine" : 49,
  "linesOfCode" : 14,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun attach()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/debugger/AttachDebuggerService.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::rider" ],
  "startLine" : 22,
  "endLine" : 36,
  "linesOfCode" : 14,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processTerminated()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
  "fileLinesCount" : 322,
  "components" : [ "primary::core" ],
  "startLine" : 67,
  "endLine" : 79,
  "linesOfCode" : 13,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected override void ConfigureWebHost()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/AspireWorkerWebApplicationFactory.cs",
  "fileLinesCount" : 28,
  "components" : [ "primary::src" ],
  "startLine" : 13,
  "endLine" : 27,
  "linesOfCode" : 13,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal List GetCreateSessionRequestsById()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 22,
  "endLine" : 36,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getDotNetExecutable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::rider" ],
  "startLine" : 67,
  "endLine" : 80,
  "linesOfCode" : 13,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun mergeEnvironmentVariables()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/SessionExecutableFactoryUtils.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::rider" ],
  "startLine" : 95,
  "endLine" : 108,
  "linesOfCode" : 13,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processTerminated()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutionListener.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::rider" ],
  "startLine" : 24,
  "endLine" : 36,
  "linesOfCode" : 13,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun startDebuggerWorker()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/states/AspireHostDebugProfileState.kt",
  "fileLinesCount" : 58,
  "components" : [ "primary::rider" ],
  "startLine" : 45,
  "endLine" : 57,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected fun configureUrl()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutorFactory.kt",
  "fileLinesCount" : 168,
  "components" : [ "primary::rider" ],
  "startLine" : 151,
  "endLine" : 163,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun create()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileExecutorFactory.kt",
  "fileLinesCount" : 71,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 37,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/dashboard/resource/AttachToProjectResourceAction.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::rider" ],
  "startLine" : 22,
  "endLine" : 36,
  "linesOfCode" : 13,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun update()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/AddAspireToProjectAction.kt",
  "fileLinesCount" : 48,
  "components" : [ "primary::rider" ],
  "startLine" : 31,
  "endLine" : 45,
  "linesOfCode" : 13,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getContentComponent()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireAppHostServiceViewDescriptor.kt",
  "fileLinesCount" : 65,
  "components" : [ "primary::core" ],
  "startLine" : 44,
  "endLine" : 56,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processStarted()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
  "fileLinesCount" : 322,
  "components" : [ "primary::core" ],
  "startLine" : 54,
  "endLine" : 65,
  "linesOfCode" : 12,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getEnvironmentVariablesForDcpConnection()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 92,
  "endLine" : 105,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun parseLogEntry()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/LogEntryParserUtils.kt",
  "fileLinesCount" : 42,
  "components" : [ "primary::core" ],
  "startLine" : 27,
  "endLine" : 40,
  "linesOfCode" : 12,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder AddServiceDefaults()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 21,
  "endLine" : 45,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static WebApplication MapDefaultEndpoints()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 112,
  "endLine" : 129,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder AddServiceDefaults()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 21,
  "endLine" : 45,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static WebApplication MapDefaultEndpoints()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 112,
  "endLine" : 129,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder AddServiceDefaults()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 21,
  "endLine" : 45,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static WebApplication MapDefaultEndpoints()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 112,
  "endLine" : 129,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun stopAspireHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/unitTests/AspireUnitTestService.kt",
  "fileLinesCount" : 133,
  "components" : [ "primary::rider" ],
  "startLine" : 115,
  "endLine" : 127,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun handleRequests()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
  "fileLinesCount" : 298,
  "components" : [ "primary::rider" ],
  "startLine" : 53,
  "endLine" : 66,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getLaunchProfile()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/SessionExecutableFactoryUtils.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 36,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getLaunchProfile()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/SessionExecutableFactoryUtils.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::rider" ],
  "startLine" : 39,
  "endLine" : 52,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processStarted()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutionListener.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::rider" ],
  "startLine" : 11,
  "endLine" : 22,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun resetEditorFrom()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationSettingsEditor.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::rider" ],
  "startLine" : 76,
  "endLine" : 87,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/dashboard/resource/NavigateToResourceDebugTab.kt",
  "fileLinesCount" : 61,
  "components" : [ "primary::rider" ],
  "startLine" : 21,
  "endLine" : 32,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/AddAspireToProjectAction.kt",
  "fileLinesCount" : 48,
  "components" : [ "primary::rider" ],
  "startLine" : 16,
  "endLine" : 29,
  "linesOfCode" : 12,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected override async Task ExecuteAsync()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultWorkerSolution/DefaultWorkerSolution/Worker.cs",
  "fileLinesCount" : 24,
  "components" : [ "primary::testData" ],
  "startLine" : 12,
  "endLine" : 23,
  "linesOfCode" : 11,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public override bool TryAddUserData()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/ProjectModel/AspireHostProjectExtension.cs",
  "fileLinesCount" : 28,
  "components" : [ "primary::src" ],
  "startLine" : 15,
  "endLine" : 27,
  "linesOfCode" : 11,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public override bool TryAddUserData()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/ProjectModel/AspireSharedProjectExtension.cs",
  "fileLinesCount" : 28,
  "components" : [ "primary::src" ],
  "startLine" : 15,
  "endLine" : 27,
  "linesOfCode" : 11,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public override bool TryAddUserData()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/AWSLambda/AWSProjectExtension.cs",
  "fileLinesCount" : 27,
  "components" : [ "primary::src" ],
  "startLine" : 14,
  "endLine" : 26,
  "linesOfCode" : 11,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun extensionCreated()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/unitTests/AspireUnitTestProtocolListener.kt",
  "fileLinesCount" : 54,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 33,
  "linesOfCode" : 11,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun isApplicable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
  "fileLinesCount" : 113,
  "components" : [ "primary::rider" ],
  "startLine" : 38,
  "endLine" : 49,
  "linesOfCode" : 11,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/AddAspireToSolutionAction.kt",
  "fileLinesCount" : 43,
  "components" : [ "primary::rider" ],
  "startLine" : 16,
  "endLine" : 28,
  "linesOfCode" : 11,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun create()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireWorkerViewModelFactory.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::core" ],
  "startLine" : 24,
  "endLine" : 33,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getHelpPageUrl()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/AspireHelpProvider.kt",
  "fileLinesCount" : 25,
  "components" : [ "primary::core" ],
  "startLine" : 15,
  "endLine" : 24,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun addAspireAppHost()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 61,
  "endLine" : 72,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static TBuilder AddOpenTelemetryExporters()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 82,
  "endLine" : 100,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static TBuilder AddOpenTelemetryExporters()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 82,
  "endLine" : 100,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static TBuilder AddOpenTelemetryExporters()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 82,
  "endLine" : 100,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static ResourceState MapState()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/ResourceExtensions.cs",
  "fileLinesCount" : 163,
  "components" : [ "primary::src" ],
  "startLine" : 49,
  "endLine" : 58,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private ErrorResponse? ValidateLaunchConfiguration()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHost.cs",
  "fileLinesCount" : 201,
  "components" : [ "primary::src" ],
  "startLine" : 172,
  "endLine" : 183,
  "linesOfCode" : 10,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal async Task Delete()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHost.cs",
  "fileLinesCount" : 201,
  "components" : [ "primary::src" ],
  "startLine" : 185,
  "endLine" : 198,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun stopConfigurationForHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireRunConfigurationManager.kt",
  "fileLinesCount" : 93,
  "components" : [ "primary::rider" ],
  "startLine" : 82,
  "endLine" : 92,
  "linesOfCode" : 10,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun clone()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfiguration.kt",
  "fileLinesCount" : 49,
  "components" : [ "primary::rider" ],
  "startLine" : 37,
  "endLine" : 46,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun clone()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfiguration.kt",
  "fileLinesCount" : 56,
  "components" : [ "primary::rider" ],
  "startLine" : 38,
  "endLine" : 47,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun stop()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 190,
  "endLine" : 202,
  "linesOfCode" : 9,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun startAspireHostModel()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 205,
  "endLine" : 214,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun stopAspireHostModel()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 217,
  "endLine" : 226,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun update()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/AspireResourceBaseAction.kt",
  "fileLinesCount" : 66,
  "components" : [ "primary::core" ],
  "startLine" : 30,
  "endLine" : 39,
  "linesOfCode" : 9,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private void OnCounterClicked()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/MainPage.xaml.cs",
  "fileLinesCount" : 23,
  "components" : [ "primary::testData" ],
  "startLine" : 12,
  "endLine" : 22,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class ConfigureConnectionOptions()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Configuration/ConnectionOptions.cs",
  "fileLinesCount" : 19,
  "components" : [ "primary::src" ],
  "startLine" : 10,
  "endLine" : 19,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal sealed class ConfigureDcpSessionOptions()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Configuration/DcpSessionOptions.cs",
  "fileLinesCount" : 19,
  "components" : [ "primary::src" ],
  "startLine" : 10,
  "endLine" : 19,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static IProject? FindProjectByPath()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/ProjectModel/SolutionExtensions.cs",
  "fileLinesCount" : 19,
  "components" : [ "primary::src" ],
  "startLine" : 9,
  "endLine" : 18,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public AspirePluginHost()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/AspirePluginHost.cs",
  "fileLinesCount" : 63,
  "components" : [ "primary::src" ],
  "startLine" : 22,
  "endLine" : 31,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private string? GetProjectOutputType()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/AspirePluginHost.cs",
  "fileLinesCount" : 63,
  "components" : [ "primary::src" ],
  "startLine" : 33,
  "endLine" : 42,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private ReferenceProjectsFromAppHostResponse? ReferenceProjectsFromAppHost()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/AspirePluginHost.cs",
  "fileLinesCount" : 63,
  "components" : [ "primary::src" ],
  "startLine" : 44,
  "endLine" : 52,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private ReferenceServiceDefaultsFromProjectsResponse? ReferenceServiceDefaultsFromProjects()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspirePlugin/AspirePluginHost.cs",
  "fileLinesCount" : 63,
  "components" : [ "primary::src" ],
  "startLine" : 54,
  "endLine" : 62,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getSelectedItems()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AddAspireOrchestrationDialog.kt",
  "fileLinesCount" : 94,
  "components" : [ "primary::rider" ],
  "startLine" : 84,
  "endLine" : 93,
  "linesOfCode" : 9,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun executeAsync()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionDebugProgramRunner.kt",
  "fileLinesCount" : 31,
  "components" : [ "primary::rider" ],
  "startLine" : 21,
  "endLine" : 30,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected open suspend fun modifyDotNetExecutable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
  "fileLinesCount" : 262,
  "components" : [ "primary::rider" ],
  "startLine" : 166,
  "endLine" : 174,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 5,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun canExecute()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostHotReloadConfigurationExtension.kt",
  "fileLinesCount" : 61,
  "components" : [ "primary::rider" ],
  "startLine" : 21,
  "endLine" : 30,
  "linesOfCode" : 9,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun update()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/AddAspireToSolutionAction.kt",
  "fileLinesCount" : 43,
  "components" : [ "primary::rider" ],
  "startLine" : 30,
  "endLine" : 40,
  "linesOfCode" : 9,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/ManifestGenerationAction.kt",
  "fileLinesCount" : 50,
  "components" : [ "primary::rider" ],
  "startLine" : 16,
  "endLine" : 25,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onTextAvailable()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorkerLauncher.kt",
  "fileLinesCount" : 133,
  "components" : [ "primary::core" ],
  "startLine" : 81,
  "endLine" : 88,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun removeAspireAppHost()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 75,
  "endLine" : 84,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/PerformResourceAction.kt",
  "fileLinesCount" : 85,
  "components" : [ "primary::core" ],
  "startLine" : 68,
  "endLine" : 76,
  "linesOfCode" : 8,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/ResourceCommandAction.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::core" ],
  "startLine" : 15,
  "endLine" : 24,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal static void MapSessionEndpoints()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Sessions/SessionEndpoints.cs",
  "fileLinesCount" : 184,
  "components" : [ "primary::src" ],
  "startLine" : 28,
  "endLine" : 39,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static void StartNewIfAvailable()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/ParentProcessWatchdog.cs",
  "fileLinesCount" : 18,
  "components" : [ "primary::src" ],
  "startLine" : 9,
  "endLine" : 17,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static ResourceStateStyle MapStyle()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/ResourceExtensions.cs",
  "fileLinesCount" : 163,
  "components" : [ "primary::src" ],
  "startLine" : 60,
  "endLine" : 67,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private void InitializeSessionEventWatcher()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/AspireHost.cs",
  "fileLinesCount" : 201,
  "components" : [ "primary::src" ],
  "startLine" : 72,
  "endLine" : 79,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun canExecute()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectHotReloadConfigurationExtension.kt",
  "fileLinesCount" : 52,
  "components" : [ "primary::rider" ],
  "startLine" : 19,
  "endLine" : 27,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processTerminated()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/runners/AspireHostProgramRunnerUtils.kt",
  "fileLinesCount" : 134,
  "components" : [ "primary::rider" ],
  "startLine" : 125,
  "endLine" : 132,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun saveRunConfiguration()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireRunConfigurationManager.kt",
  "fileLinesCount" : 93,
  "components" : [ "primary::rider" ],
  "startLine" : 33,
  "endLine" : 40,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun runConfigurationRemoved()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireRunConfigurationListener.kt",
  "fileLinesCount" : 40,
  "components" : [ "primary::rider" ],
  "startLine" : 21,
  "endLine" : 31,
  "linesOfCode" : 8,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getStartBrowserAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/BrowserUtils.kt",
  "fileLinesCount" : 35,
  "components" : [ "primary::core" ],
  "startLine" : 29,
  "endLine" : 35,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getResourceIcon()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/AspireResourceUtils.kt",
  "fileLinesCount" : 57,
  "components" : [ "primary::core" ],
  "startLine" : 39,
  "endLine" : 46,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getProjectTargetFramework()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/MSBuildPropertyService.kt",
  "fileLinesCount" : 188,
  "components" : [ "primary::core" ],
  "startLine" : 59,
  "endLine" : 66,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/AspireOpenDashboardAction.kt",
  "fileLinesCount" : 25,
  "components" : [ "primary::core" ],
  "startLine" : 17,
  "endLine" : 24,
  "linesOfCode" : 7,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder AddDefaultHealthChecks()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 102,
  "endLine" : 110,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder AddDefaultHealthChecks()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 102,
  "endLine" : 110,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public static TBuilder AddDefaultHealthChecks()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ServiceDefaults/Extensions.cs",
  "fileLinesCount" : 130,
  "components" : [ "primary::testData" ],
  "startLine" : 102,
  "endLine" : 110,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static ResourceHealthStatus MapHealthStatus()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/AspireHost/ResourceExtensions.cs",
  "fileLinesCount" : 163,
  "components" : [ "primary::src" ],
  "startLine" : 69,
  "endLine" : 75,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal void AddHost()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 14,
  "endLine" : 20,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task CreateSession()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 38,
  "endLine" : 44,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task DeleteSession()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 46,
  "endLine" : 52,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processStarted()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
  "fileLinesCount" : 262,
  "components" : [ "primary::rider" ],
  "startLine" : 248,
  "endLine" : 255,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onTextAvailable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
  "fileLinesCount" : 298,
  "components" : [ "primary::rider" ],
  "startLine" : 171,
  "endLine" : 177,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getApplicableLauncher()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
  "fileLinesCount" : 45,
  "components" : [ "primary::rider" ],
  "startLine" : 15,
  "endLine" : 21,
  "linesOfCode" : 7,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processTerminated()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorkerLauncher.kt",
  "fileLinesCount" : 133,
  "components" : [ "primary::core" ],
  "startLine" : 90,
  "endLine" : 95,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun generateDcpInstancePrefix()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/DcpUtils.kt",
  "fileLinesCount" : 8,
  "components" : [ "primary::core" ],
  "startLine" : 3,
  "endLine" : 8,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun beforeExecute()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/RestartWithoutDebuggerResourceAction.kt",
  "fileLinesCount" : 26,
  "components" : [ "primary::core" ],
  "startLine" : 12,
  "endLine" : 18,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun beforeExecute()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/RestartWithDebuggerResourceAction.kt",
  "fileLinesCount" : 26,
  "components" : [ "primary::core" ],
  "startLine" : 12,
  "endLine" : 18,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/AspireHostBaseAction.kt",
  "fileLinesCount" : 48,
  "components" : [ "primary::core" ],
  "startLine" : 14,
  "endLine" : 20,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/StartAspireWorkerAction.kt",
  "fileLinesCount" : 19,
  "components" : [ "primary::core" ],
  "startLine" : 13,
  "endLine" : 18,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/StopAspireWorkerAction.kt",
  "fileLinesCount" : 19,
  "components" : [ "primary::core" ],
  "startLine" : 13,
  "endLine" : 18,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal Task DoWithModel()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/RdConnection/RdConnection.cs",
  "fileLinesCount" : 46,
  "components" : [ "primary::src" ],
  "startLine" : 40,
  "endLine" : 45,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal static void AddRdConnectionServices()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/RdConnection/RdConnectionRegistration.cs",
  "fileLinesCount" : 11,
  "components" : [ "primary::src" ],
  "startLine" : 5,
  "endLine" : 10,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun runConfigurationAdded()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireRunConfigurationListener.kt",
  "fileLinesCount" : 40,
  "components" : [ "primary::rider" ],
  "startLine" : 12,
  "endLine" : 19,
  "linesOfCode" : 6,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getWorkingDirectory()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/launchProfiles/AspireLaunchProfileUtils.kt",
  "fileLinesCount" : 63,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 28,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getWorkingDirectory()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/launchProfiles/AspireLaunchProfileUtils.kt",
  "fileLinesCount" : 63,
  "components" : [ "primary::rider" ],
  "startLine" : 30,
  "endLine" : 35,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/dashboard/resource/AttachToProjectResourceAction.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::rider" ],
  "startLine" : 15,
  "endLine" : 20,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/dashboard/host/AspireManifestAction.kt",
  "fileLinesCount" : 24,
  "components" : [ "primary::rider" ],
  "startLine" : 14,
  "endLine" : 19,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun setProfileData()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireResource.kt",
  "fileLinesCount" : 372,
  "components" : [ "primary::core" ],
  "startLine" : 323,
  "endLine" : 329,
  "linesOfCode" : 5,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun decodeAnsiCommandsToString()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/util/AnsiEscapeDecoderUtils.kt",
  "fileLinesCount" : 12,
  "components" : [ "primary::core" ],
  "startLine" : 8,
  "endLine" : 12,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/AspireResourceBaseAction.kt",
  "fileLinesCount" : 66,
  "components" : [ "primary::core" ],
  "startLine" : 21,
  "endLine" : 26,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/DebugHostAction.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::core" ],
  "startLine" : 13,
  "endLine" : 17,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/StopHostAction.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::core" ],
  "startLine" : 13,
  "endLine" : 17,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/RunHostAction.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::core" ],
  "startLine" : 13,
  "endLine" : 17,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/AspireOpenDashboardAction.kt",
  "fileLinesCount" : 25,
  "components" : [ "primary::core" ],
  "startLine" : 10,
  "endLine" : 15,
  "linesOfCode" : 5,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "internal void InitializeWithModelAndScheduler()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/RdConnection/RdConnection.cs",
  "fileLinesCount" : 46,
  "components" : [ "primary::src" ],
  "startLine" : 11,
  "endLine" : 15,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task UpsertResource()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 74,
  "endLine" : 78,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getHandlerForType()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireProjectOrchestrationHandler.kt",
  "fileLinesCount" : 49,
  "components" : [ "primary::rider" ],
  "startLine" : 13,
  "endLine" : 17,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun configureDefaultSettings()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationFactory.kt",
  "fileLinesCount" : 30,
  "components" : [ "primary::rider" ],
  "startLine" : 25,
  "endLine" : 29,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun launchAppHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/RunConfigurationBasedAppHostLauncher.kt",
  "fileLinesCount" : 19,
  "components" : [ "primary::rider" ],
  "startLine" : 8,
  "endLine" : 12,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun stopAppHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/RunConfigurationBasedAppHostLauncher.kt",
  "fileLinesCount" : 19,
  "components" : [ "primary::rider" ],
  "startLine" : 14,
  "endLine" : 18,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun configureDefaultSettings()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationFactory.kt",
  "fileLinesCount" : 29,
  "components" : [ "primary::rider" ],
  "startLine" : 24,
  "endLine" : 28,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun hasCredentials()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlJdbcUrl.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::database" ],
  "startLine" : 40,
  "endLine" : 44,
  "linesOfCode" : 5,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun hasCredentials()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConnectionString.kt",
  "fileLinesCount" : 64,
  "components" : [ "primary::database" ],
  "startLine" : 29,
  "endLine" : 33,
  "linesOfCode" : 5,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getContentComponent()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireResourceServiceViewDescriptor.kt",
  "fileLinesCount" : 53,
  "components" : [ "primary::core" ],
  "startLine" : 41,
  "endLine" : 44,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getServices()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireMainServiceViewContributor.kt",
  "fileLinesCount" : 20,
  "components" : [ "primary::core" ],
  "startLine" : 13,
  "endLine" : 16,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun findApplicableHandler()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/sessions/StartSessionRequestHandler.kt",
  "fileLinesCount" : 26,
  "components" : [ "primary::core" ],
  "startLine" : 17,
  "endLine" : 20,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun appHostStarted()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
  "fileLinesCount" : 322,
  "components" : [ "primary::core" ],
  "startLine" : 83,
  "endLine" : 86,
  "linesOfCode" : 4,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun appHostStopped()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
  "fileLinesCount" : 322,
  "components" : [ "primary::core" ],
  "startLine" : 88,
  "endLine" : 91,
  "linesOfCode" : 4,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getIconFor()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/PerformResourceAction.kt",
  "fileLinesCount" : 85,
  "components" : [ "primary::core" ],
  "startLine" : 44,
  "endLine" : 47,
  "linesOfCode" : 4,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/DebugHostAction.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::core" ],
  "startLine" : 19,
  "endLine" : 22,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/StopHostAction.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::core" ],
  "startLine" : 19,
  "endLine" : 22,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/host/RunHostAction.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::core" ],
  "startLine" : 19,
  "endLine" : 22,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/AspireSettingsAction.kt",
  "fileLinesCount" : 21,
  "components" : [ "primary::core" ],
  "startLine" : 10,
  "endLine" : 13,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun update()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/AspireSettingsAction.kt",
  "fileLinesCount" : 21,
  "components" : [ "primary::core" ],
  "startLine" : 15,
  "endLine" : 18,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public record WeatherForecast()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/WeatherApiClient.cs",
  "fileLinesCount" : 32,
  "components" : [ "primary::testData" ],
  "startLine" : 29,
  "endLine" : 32,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "record WeatherForecast()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ApiService/Program.cs",
  "fileLinesCount" : 48,
  "components" : [ "primary::testData" ],
  "startLine" : 45,
  "endLine" : 48,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Worker()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultWorkerSolution/DefaultWorkerSolution/Worker.cs",
  "fileLinesCount" : 24,
  "components" : [ "primary::testData" ],
  "startLine" : 7,
  "endLine" : 10,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "record WeatherForecast()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ApiService/Program.cs",
  "fileLinesCount" : 48,
  "components" : [ "primary::testData" ],
  "startLine" : 45,
  "endLine" : 48,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public record WeatherForecast()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/WeatherApiClient.cs",
  "fileLinesCount" : 32,
  "components" : [ "primary::testData" ],
  "startLine" : 29,
  "endLine" : 32,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public AppShell()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/AppShell.xaml.cs",
  "fileLinesCount" : 9,
  "components" : [ "primary::testData" ],
  "startLine" : 5,
  "endLine" : 8,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public App()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Platforms/Windows/App.xaml.cs",
  "fileLinesCount" : 23,
  "components" : [ "primary::testData" ],
  "startLine" : 17,
  "endLine" : 20,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public MainApplication()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Platforms/Android/MainApplication.cs",
  "fileLinesCount" : 15,
  "components" : [ "primary::testData" ],
  "startLine" : 9,
  "endLine" : 12,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "static void Main()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Platforms/iOS/Program.cs",
  "fileLinesCount" : 15,
  "components" : [ "primary::testData" ],
  "startLine" : 9,
  "endLine" : 14,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "static void Main()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Platforms/MacCatalyst/Program.cs",
  "fileLinesCount" : 15,
  "components" : [ "primary::testData" ],
  "startLine" : 9,
  "endLine" : 14,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public MainPage()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/MainPage.xaml.cs",
  "fileLinesCount" : 23,
  "components" : [ "primary::testData" ],
  "startLine" : 7,
  "endLine" : 10,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public App()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/App.xaml.cs",
  "fileLinesCount" : 16,
  "components" : [ "primary::testData" ],
  "startLine" : 7,
  "endLine" : 10,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected override Window CreateWindow()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/App.xaml.cs",
  "fileLinesCount" : 16,
  "components" : [ "primary::testData" ],
  "startLine" : 12,
  "endLine" : 15,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public record WeatherForecast()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/WeatherApiClient.cs",
  "fileLinesCount" : 32,
  "components" : [ "primary::testData" ],
  "startLine" : 29,
  "endLine" : 32,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "record WeatherForecast()",
  "longName" : "",
  "relativeFileName" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ApiService/Program.cs",
  "fileLinesCount" : 48,
  "components" : [ "primary::testData" ],
  "startLine" : 45,
  "endLine" : 48,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "private static bool IsProtocolVersionSupported()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorker/Sessions/SessionEndpoints.cs",
  "fileLinesCount" : 184,
  "components" : [ "primary::src" ],
  "startLine" : 178,
  "endLine" : 181,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task AdviceOnProcessStarted()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 54,
  "endLine" : 57,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task AdviceOnProcessTerminated()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 59,
  "endLine" : 62,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task AdviceOnLogReceived()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 64,
  "endLine" : 67,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task AddResource()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 69,
  "endLine" : 72,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task RemoveResource()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 80,
  "endLine" : 83,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task ClearResources()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 85,
  "endLine" : 88,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task ViewResources()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 90,
  "endLine" : 93,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public Task ResourceLogReceived()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 95,
  "endLine" : 98,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "public void Dispose()",
  "longName" : "",
  "relativeFileName" : "src/dotnet/AspireWorkerIntegrationTests/InMemoryConnectionWrapper.cs",
  "fileLinesCount" : 104,
  "components" : [ "primary::src" ],
  "startLine" : 100,
  "endLine" : 103,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun stopAspireHost()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/unitTests/AspireUnitTestService.kt",
  "fileLinesCount" : 133,
  "components" : [ "primary::rider" ],
  "startLine" : 110,
  "endLine" : 113,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun notifyTextAvailable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionRunProfileState.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::rider" ],
  "startLine" : 63,
  "endLine" : 66,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun notifyTextAvailable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionDebugProfileState.kt",
  "fileLinesCount" : 96,
  "components" : [ "primary::rider" ],
  "startLine" : 71,
  "endLine" : 74,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processNotStarted()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
  "fileLinesCount" : 298,
  "components" : [ "primary::rider" ],
  "startLine" : 179,
  "endLine" : 182,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processTerminated()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
  "fileLinesCount" : 298,
  "components" : [ "primary::rider" ],
  "startLine" : 184,
  "endLine" : 187,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun findRunnableProjectByPath()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/RunnableProjectsModelExtensions.kt",
  "fileLinesCount" : 28,
  "components" : [ "primary::rider" ],
  "startLine" : 11,
  "endLine" : 14,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onTextAvailable()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/states/AspireHostProfileStateUtils.kt",
  "fileLinesCount" : 49,
  "components" : [ "primary::rider" ],
  "startLine" : 19,
  "endLine" : 22,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun readExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfiguration.kt",
  "fileLinesCount" : 49,
  "components" : [ "primary::rider" ],
  "startLine" : 27,
  "endLine" : 30,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun writeExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfiguration.kt",
  "fileLinesCount" : 49,
  "components" : [ "primary::rider" ],
  "startLine" : 32,
  "endLine" : 35,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun readExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfiguration.kt",
  "fileLinesCount" : 56,
  "components" : [ "primary::rider" ],
  "startLine" : 28,
  "endLine" : 31,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun writeExternal()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfiguration.kt",
  "fileLinesCount" : 56,
  "components" : [ "primary::rider" ],
  "startLine" : 33,
  "endLine" : 36,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun buildProjects()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/util/DotNetBuildService.kt",
  "fileLinesCount" : 57,
  "components" : [ "primary::rider" ],
  "startLine" : 29,
  "endLine" : 32,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun convert()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConverter.kt",
  "fileLinesCount" : 47,
  "components" : [ "primary::database" ],
  "startLine" : 25,
  "endLine" : 28,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getAvailableProviders()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireResourceIconProvider.kt",
  "fileLinesCount" : 18,
  "components" : [ "primary::core" ],
  "startLine" : 12,
  "endLine" : 14,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getEnabledExtension()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/otlp/OpenTelemetryProtocolServerExtension.kt",
  "fileLinesCount" : 22,
  "components" : [ "primary::core" ],
  "startLine" : 10,
  "endLine" : 12,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun submitRequest()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/sessions/SessionManager.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::core" ],
  "startLine" : 73,
  "endLine" : 75,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun setPreferredLaunchMode()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/sessions/SessionLaunchPreferenceService.kt",
  "fileLinesCount" : 34,
  "components" : [ "primary::core" ],
  "startLine" : 25,
  "endLine" : 27,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun childResourceTypeChanged()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
  "fileLinesCount" : 322,
  "components" : [ "primary::core" ],
  "startLine" : 178,
  "endLine" : 180,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getAppHostByPath()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 86,
  "endLine" : 88,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dispose()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/AspireService.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::core" ],
  "startLine" : 20,
  "endLine" : 22,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onChosen()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/PerformResourceAction.kt",
  "fileLinesCount" : 85,
  "components" : [ "primary::core" ],
  "startLine" : 49,
  "endLine" : 51,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onClosed()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/PerformResourceAction.kt",
  "fileLinesCount" : 85,
  "components" : [ "primary::core" ],
  "startLine" : 54,
  "endLine" : 56,
  "linesOfCode" : 3,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "open fun checkResourceState()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/ResourceCommandAction.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::core" ],
  "startLine" : 46,
  "endLine" : 48,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "diagram/src/main/kotlin/com/jetbrains/aspire/diagram/actions/ShowResourceGraphAction.kt",
  "fileLinesCount" : 18,
  "components" : [ "primary::diagram" ],
  "startLine" : 11,
  "endLine" : 13,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "diagram/src/main/kotlin/com/jetbrains/aspire/diagram/actions/ShowResourceGraphAction.kt",
  "fileLinesCount" : 18,
  "components" : [ "primary::diagram" ],
  "startLine" : 15,
  "endLine" : 17,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun actionPerformed()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireProjectTemplateGenerator.kt",
  "fileLinesCount" : 210,
  "components" : [ "primary::rider" ],
  "startLine" : 204,
  "endLine" : 206,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun processNotStarted()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
  "fileLinesCount" : 262,
  "components" : [ "primary::rider" ],
  "startLine" : 257,
  "endLine" : 259,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun checkConfiguration()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfiguration.kt",
  "fileLinesCount" : 49,
  "components" : [ "primary::rider" ],
  "startLine" : 23,
  "endLine" : 25,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun checkConfiguration()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfiguration.kt",
  "fileLinesCount" : 56,
  "components" : [ "primary::rider" ],
  "startLine" : 24,
  "endLine" : 26,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun setProjectFilePath()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfiguration.kt",
  "fileLinesCount" : 56,
  "components" : [ "primary::rider" ],
  "startLine" : 53,
  "endLine" : 55,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun updateAction()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/actions/dashboard/host/AspireManifestAction.kt",
  "fileLinesCount" : 24,
  "components" : [ "primary::rider" ],
  "startLine" : 21,
  "endLine" : 23,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getInstance()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/DummyRedisDataProvider.kt",
  "fileLinesCount" : 17,
  "components" : [ "primary::database" ],
  "startLine" : 13,
  "endLine" : 15,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getInstance()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/DummyMongoDataProvider.kt",
  "fileLinesCount" : 16,
  "components" : [ "primary::database" ],
  "startLine" : 12,
  "endLine" : 14,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun resourceCreated()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/DatabaseResourceListener.kt",
  "fileLinesCount" : 85,
  "components" : [ "primary::database" ],
  "startLine" : 25,
  "endLine" : 27,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun resourceUpdated()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/DatabaseResourceListener.kt",
  "fileLinesCount" : 85,
  "components" : [ "primary::database" ],
  "startLine" : 29,
  "endLine" : 31,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun sendConnectionCommand()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/DatabaseResourceConnectionService.kt",
  "fileLinesCount" : 359,
  "components" : [ "primary::database" ],
  "startLine" : 83,
  "endLine" : 85,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dataSourceRemoved()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/DatabaseResourceConnectionService.kt",
  "fileLinesCount" : 359,
  "components" : [ "primary::database" ],
  "startLine" : 355,
  "endLine" : 357,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getAllProperties()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlJdbcUrl.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::database" ],
  "startLine" : 34,
  "endLine" : 36,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getPrimaryName()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlJdbcUrl.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::database" ],
  "startLine" : 76,
  "endLine" : 78,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getNames()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlJdbcUrl.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::database" ],
  "startLine" : 80,
  "endLine" : 82,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun parse()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConnectionString.kt",
  "fileLinesCount" : 64,
  "components" : [ "primary::database" ],
  "startLine" : 14,
  "endLine" : 16,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun parse()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConnectionString.kt",
  "fileLinesCount" : 64,
  "components" : [ "primary::database" ],
  "startLine" : 18,
  "endLine" : 20,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getAllProperties()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConnectionString.kt",
  "fileLinesCount" : 64,
  "components" : [ "primary::database" ],
  "startLine" : 23,
  "endLine" : 25,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getNames()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConnectionString.kt",
  "fileLinesCount" : 64,
  "components" : [ "primary::database" ],
  "startLine" : 56,
  "endLine" : 58,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getPrimaryName()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConnectionString.kt",
  "fileLinesCount" : 64,
  "components" : [ "primary::database" ],
  "startLine" : 60,
  "endLine" : 62,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun accepts()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConverter.kt",
  "fileLinesCount" : 47,
  "components" : [ "primary::database" ],
  "startLine" : 40,
  "endLine" : 42,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun convert()",
  "longName" : "",
  "relativeFileName" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConverter.kt",
  "fileLinesCount" : 47,
  "components" : [ "primary::database" ],
  "startLine" : 44,
  "endLine" : 46,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dispose()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireWorkerViewModelFactory.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::core" ],
  "startLine" : 35,
  "endLine" : 36,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dispose()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireWorkerViewModel.kt",
  "fileLinesCount" : 107,
  "components" : [ "primary::core" ],
  "startLine" : 105,
  "endLine" : 106,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dispose()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireAppHostViewModel.kt",
  "fileLinesCount" : 152,
  "components" : [ "primary::core" ],
  "startLine" : 150,
  "endLine" : 151,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dispose()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
  "fileLinesCount" : 322,
  "components" : [ "primary::core" ],
  "startLine" : 305,
  "endLine" : 306,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dispose()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorker.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::core" ],
  "startLine" : 228,
  "endLine" : 229,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "open fun beforeExecute()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/ResourceCommandAction.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::core" ],
  "startLine" : 26,
  "endLine" : 27,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun destroyProcessImpl()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireResource.kt",
  "fileLinesCount" : 372,
  "components" : [ "primary::core" ],
  "startLine" : 111,
  "endLine" : 111,
  "linesOfCode" : 1,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun detachProcessImpl()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireResource.kt",
  "fileLinesCount" : 372,
  "components" : [ "primary::core" ],
  "startLine" : 112,
  "endLine" : 112,
  "linesOfCode" : 1,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getServiceDescriptor()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireWorkerViewModel.kt",
  "fileLinesCount" : 107,
  "components" : [ "primary::core" ],
  "startLine" : 80,
  "endLine" : 80,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getServiceDescriptor()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireAppHostViewModel.kt",
  "fileLinesCount" : 152,
  "components" : [ "primary::core" ],
  "startLine" : 109,
  "endLine" : 109,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun launchWorker()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireWorkerLauncher.kt",
  "fileLinesCount" : 133,
  "components" : [ "primary::core" ],
  "startLine" : 65,
  "endLine" : 65,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun performAction()",
  "longName" : "",
  "relativeFileName" : "core/src/main/kotlin/com/jetbrains/aspire/actions/dashboard/resource/PerformResourceAction.kt",
  "fileLinesCount" : 85,
  "components" : [ "primary::core" ],
  "startLine" : 29,
  "endLine" : 29,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun execute()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionRunProfileState.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::rider" ],
  "startLine" : 43,
  "endLine" : 43,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun createWorkerRunInfo()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionDebugProfileState.kt",
  "fileLinesCount" : 96,
  "components" : [ "primary::rider" ],
  "startLine" : 46,
  "endLine" : 46,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun startDebuggerWorker()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionDebugProfileState.kt",
  "fileLinesCount" : 96,
  "components" : [ "primary::rider" ],
  "startLine" : 58,
  "endLine" : 58,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getRunProfile()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::rider" ],
  "startLine" : 30,
  "endLine" : 30,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getDebugProfile()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::rider" ],
  "startLine" : 48,
  "endLine" : 48,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 8,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getRunProfile()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
  "fileLinesCount" : 113,
  "components" : [ "primary::rider" ],
  "startLine" : 51,
  "endLine" : 51,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun getDebugProfile()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
  "fileLinesCount" : 113,
  "components" : [ "primary::rider" ],
  "startLine" : 69,
  "endLine" : 69,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 8,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun connectExecutionHandlerAndLifetime()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/runners/AspireHostProgramRunnerUtils.kt",
  "fileLinesCount" : 134,
  "components" : [ "primary::rider" ],
  "startLine" : 112,
  "endLine" : 112,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun createWorkerRunInfo()",
  "longName" : "",
  "relativeFileName" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/states/AspireHostDebugProfileState.kt",
  "fileLinesCount" : 58,
  "components" : [ "primary::rider" ],
  "startLine" : 33,
  "endLine" : 33,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
} ]