From 82acc83280045fb5f71bf0e2b1b6a4fba324bff2 Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Tue, 27 Aug 2019 18:53:55 -0400 Subject: Add firrtl.options.ExitCode type hierarchy Signed-off-by: Schuyler Eldridge --- src/main/scala/firrtl/options/ExitCodes.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/scala/firrtl/options/ExitCodes.scala (limited to 'src') 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 } -- cgit v1.2.3