override suspend fun execute()

in rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt [64:102]


    override suspend fun execute(
        executor: Executor,
        runner: ProgramRunner<*>,
        workerProcessHandler: DebuggerWorkerProcessHandler,
        lifetime: Lifetime
    ): ExecutionResult {
        val refresherHost = browserRefreshHost
        val hub = browserHub
        if (refresherHost == null || hub == null) {
            LOG.warn("Browser refresh host or browser host are not initialized yet")
            throw CantRunException("Browser refresh host or browser host are not initialized yet")
        }

        val connectedBrowser = startBrowserAndAttach(
            hub,
            browserHubLifetimeDef,
            browserSettings,
            sessionProcessLifetime,
            project
        )
        if (connectedBrowser == null) {
            LOG.warn("Unable to obtain connected browser")
            throw CantRunException("Unable to obtain connected browser")
        }

        val hostExecutionResult = super.execute(executor, runner, workerProcessHandler, lifetime)

        executeClient(
            projectPath.absolutePathString(),
            hub,
            refresherHost,
            connectedBrowser,
            browserSettings,
            sessionProcessLifetime,
            project
        )

        return hostExecutionResult
    }