* The configuration passed in with the request to the daemon.
*/
private$request_config;
/** @var BufferedOutput this collects the serialized issues emitted by this worker to be sent back to the master process */
private$buffered_output;
/** @var string the method of the daemon being invoked */
private$method;
/** @var list<string>|null the list of files the client has requested to be analyzed */
private$files=null;
/** @var IssuePrinterInterface possibly a CapturingJSONPrinter, to avoid json_encode+json_decode overhead when there's a lot of issues in language server mode. */
private$raw_printer;
/**
* A set of process ids of child processes
* @var associative-array<int,true>
*/
privatestatic$child_pids=[];
/**
* A map from process ids of exited child processes to their exit status.
* @var associative-array<int,int|array>
*/
privatestatic$exited_pid_status=[];
/**
* The most recent Language Server Protocol request to look up what an element is
* (e.g. "go to definition", "go to type definition", "hover")
*
* @var ?NodeInfoRequest
*/
private$most_recent_node_info_request;
/**
* If true, this process will exit() after finishing.
* If false, this class will instead throw ExitException to be caught by the caller
'message'=>'failed to send a response - Possibly encountered an exception. See daemon output: '.StringUtil::jsonEncode(\debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)),
Daemon::debugf("Done setting temporary file contents: Will replace contents of the following files: %s",StringUtil::jsonEncode(\array_keys($changes_to_add)));