internal static JetArchitecture ConvertToArchitecture()

in JetBrains.HabitatDetector/src/Impl/Unix/UnixHelper.cs [65:92]


    internal static JetArchitecture ConvertToArchitecture(JetPlatform platform, string machine) => platform switch
      {
        JetPlatform.FreeBSD => machine switch
          {
            "amd64" => JetArchitecture.X64,
            "arm64" => JetArchitecture.Arm64,
            _ => throw new ArgumentOutOfRangeException(nameof(machine), machine, null)
          },
        JetPlatform.Linux => machine switch
          {
            "aarch64" => JetArchitecture.Arm64,
            "armv7l" or "armv8l" => JetArchitecture.Arm,
            "i686" => JetArchitecture.X86,
            "loongarch64" => JetArchitecture.LoongArch64,
            "ppc64le" => JetArchitecture.Ppc64le,
            "riscv64" => JetArchitecture.RiscV64,
            "s390x" => JetArchitecture.S390x,
            "x86_64" => JetArchitecture.X64,
            _ => throw new ArgumentOutOfRangeException(nameof(machine), machine, null)
          },
        JetPlatform.MacOsX => machine switch
          {
            "arm64" => JetArchitecture.Arm64,
            "x86_64" => JetArchitecture.X64,
            _ => throw new ArgumentOutOfRangeException(nameof(machine), machine, null)
          },
        _ => throw new ArgumentOutOfRangeException(nameof(platform), platform, null)
      };