code: public function compileScriptWithExpression($expression, $socketAddress, &$scriptPath, &$mustDeleteScriptOnError)
      {
          $scriptPath = $this->getPrecompiledScriptWithExpression($expression, $socketAddress);
          if ($scriptPath === null) {
              $mustDeleteScriptOnError = true;
              $scriptPath = tempnam(sys_get_temp_dir(), 'xsW');
              file_put_contents($scriptPath, $this->generateScriptWithExpression($expression, $socketAddress));
          } else {
              $mustDeleteScriptOnError = false;
              if (!file_exists($scriptPath)) {
                  $scriptDir = dirname($scriptPath);
                  if (!is_dir($scriptDir)) {
                      mkdir($scriptDir, 0777, true);
                  }
                  file_put_contents($scriptPath, $this->generateScriptWithExpression($expression, $socketAddress));
              }
          }
  
          return $this;
      }
docs: @param string      $expression
  @param string|null $socketAddress
  @param string      $scriptPath
  @param bool        $mustDeleteScriptOnError
  
  @return $this