ZoneSpecification.from constructor Null safety

ZoneSpecification.from(
  1. ZoneSpecification other,
  2. {HandleUncaughtErrorHandler? handleUncaughtError,
  3. R run(
    1. Zone self,
    2. ZoneDelegate parent,
    3. Zone zone,
    4. R f(
        )
      ),
    5. R runUnary(
      1. Zone self,
      2. ZoneDelegate parent,
      3. Zone zone,
      4. R f(
        1. T arg
        ),
      5. T arg
      ),
    6. R runBinary(
      1. Zone self,
      2. ZoneDelegate parent,
      3. Zone zone,
      4. R f(
        1. T1 arg1,
        2. T2 arg2
        ),
      5. T1 arg1,
      6. T2 arg2
      ),
    7. ZoneCallback<R> registerCallback(
      1. Zone self,
      2. ZoneDelegate parent,
      3. Zone zone,
      4. R f(
          )
        ),
      5. ZoneUnaryCallback<R, T> registerUnaryCallback(
        1. Zone self,
        2. ZoneDelegate parent,
        3. Zone zone,
        4. R f(
          1. T arg
          )
        ),
      6. ZoneBinaryCallback<R, T1, T2> registerBinaryCallback(
        1. Zone self,
        2. ZoneDelegate parent,
        3. Zone zone,
        4. R f(
          1. T1 arg1,
          2. T2 arg2
          )
        ),
      7. ErrorCallbackHandler? errorCallback,
      8. ScheduleMicrotaskHandler? scheduleMicrotask,
      9. CreateTimerHandler? createTimer,
      10. CreatePeriodicTimerHandler? createPeriodicTimer,
      11. PrintHandler? print,
      12. ForkHandler? fork}
      )

      Creates a specification from other and provided handlers.

      The created zone specification has the handlers of other and any individually provided handlers. If a handler is provided both through other and individually, the individually provided handler overries the one from other.

      Implementation

      factory ZoneSpecification.from(ZoneSpecification other,
          {HandleUncaughtErrorHandler? handleUncaughtError,
          RunHandler? run,
          RunUnaryHandler? runUnary,
          RunBinaryHandler? runBinary,
          RegisterCallbackHandler? registerCallback,
          RegisterUnaryCallbackHandler? registerUnaryCallback,
          RegisterBinaryCallbackHandler? registerBinaryCallback,
          ErrorCallbackHandler? errorCallback,
          ScheduleMicrotaskHandler? scheduleMicrotask,
          CreateTimerHandler? createTimer,
          CreatePeriodicTimerHandler? createPeriodicTimer,
          PrintHandler? print,
          ForkHandler? fork}) {
        return new ZoneSpecification(
            handleUncaughtError: handleUncaughtError ?? other.handleUncaughtError,
            run: run ?? other.run,
            runUnary: runUnary ?? other.runUnary,
            runBinary: runBinary ?? other.runBinary,
            registerCallback: registerCallback ?? other.registerCallback,
            registerUnaryCallback:
                registerUnaryCallback ?? other.registerUnaryCallback,
            registerBinaryCallback:
                registerBinaryCallback ?? other.registerBinaryCallback,
            errorCallback: errorCallback ?? other.errorCallback,
            scheduleMicrotask: scheduleMicrotask ?? other.scheduleMicrotask,
            createTimer: createTimer ?? other.createTimer,
            createPeriodicTimer: createPeriodicTimer ?? other.createPeriodicTimer,
            print: print ?? other.print,
            fork: fork ?? other.fork);
      }