aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/options/ExitCodes.scala
blob: 94e525de88b0e917c87b8b6841ca135bb9f4edcf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// See LICENSE for license details.

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 }