aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSchuyler Eldridge2019-08-27 18:53:55 -0400
committerSchuyler Eldridge2019-08-27 19:56:11 -0400
commit82acc83280045fb5f71bf0e2b1b6a4fba324bff2 (patch)
treef5e957d6176072fb0b5939d54e7a94d0a33bf81a
parent9fbe7e4d67f9039439e8b49ba7d36296d0dd91fb (diff)
Add firrtl.options.ExitCode type hierarchy
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
-rw-r--r--src/main/scala/firrtl/options/ExitCodes.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/options/ExitCodes.scala b/src/main/scala/firrtl/options/ExitCodes.scala
new file mode 100644
index 00000000..0e91fdec
--- /dev/null
+++ b/src/main/scala/firrtl/options/ExitCodes.scala
@@ -0,0 +1,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 }