aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/options/ExitCodes.scala
blob: 79915e93f0adf2d670f6ec627449d531baea5098 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// SPDX-License-Identifier: Apache-2.0

package firrtl.options

/** The supertype of all exit codes */
sealed trait ExitCode { val number: Int }

/** [[ExitCode]] indicating success */
object ExitSuccess extends ExitCode { val number = 0 }

/** An [[ExitCode]] indicative of failure. This must be non-zero and should not conflict with a reserved exit code. */
sealed trait ExitFailure extends ExitCode

/** An exit code indicating a general, non-specific error */
object GeneralError extends ExitFailure { val number = 1 }