2727163a63
We have `BackendKinds.IrBackend` for IR emitted by the frontend. We need a different backend kind for IR deserialized from klibs. We cannot use `BackendKinds.IrBackend` for that purpose, because we cannot have two different `IrBackendInput` subclasses with the same kind. We need a different `IrBackendInput` subclass for deserialized IR because the `IrBackendInput` for frontend-emitted IR contains some properties like `sourceFiles` which don't make sense for deserialized IR. Since we now have two backend kinds for IR artifacts, we need to make certain functions and classes in the test infrastructure generic over backend kinds. Note: the JsIrDeserializedFromKlibBackendInput class is not used anywhere yet. We will use it in the coming commits.