diff options
| -rw-r--r-- | src/main/scala/firrtl/Driver.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/ExecutionOptionsManager.scala | 18 | ||||
| -rw-r--r-- | src/test/scala/firrtlTests/DriverSpec.scala | 7 |
3 files changed, 24 insertions, 3 deletions
diff --git a/src/main/scala/firrtl/Driver.scala b/src/main/scala/firrtl/Driver.scala index 77412a0e..3ff465e2 100644 --- a/src/main/scala/firrtl/Driver.scala +++ b/src/main/scala/firrtl/Driver.scala @@ -248,7 +248,7 @@ object Driver { outputFile.close() } - FirrtlExecutionSuccess(firrtlConfig.compilerName, emittedRes) + FirrtlExecutionSuccess(firrtlConfig.compilerName, emittedRes, finalState) } } diff --git a/src/main/scala/firrtl/ExecutionOptionsManager.scala b/src/main/scala/firrtl/ExecutionOptionsManager.scala index 1aac0ad6..3ee91da0 100644 --- a/src/main/scala/firrtl/ExecutionOptionsManager.scala +++ b/src/main/scala/firrtl/ExecutionOptionsManager.scala @@ -473,6 +473,18 @@ trait HasFirrtlOptions { sealed trait FirrtlExecutionResult +object FirrtlExecutionSuccess { + def apply( + emitType : String, + emitted : String, + circuitState: CircuitState + ): FirrtlExecutionSuccess = new FirrtlExecutionSuccess(emitType, emitted, circuitState) + + + def unapply(arg: FirrtlExecutionSuccess): Option[(String, String)] = { + Some((arg.emitType, arg.emitted)) + } +} /** * Indicates a successful execution of the firrtl compiler, returning the compiled result and * the type of compile @@ -480,7 +492,11 @@ sealed trait FirrtlExecutionResult * @param emitType The name of the compiler used, currently "high", "middle", "low", "verilog", or "sverilog" * @param emitted The emitted result of compilation */ -case class FirrtlExecutionSuccess(emitType: String, emitted: String) extends FirrtlExecutionResult +class FirrtlExecutionSuccess( + val emitType: String, + val emitted : String, + val circuitState: CircuitState +) extends FirrtlExecutionResult /** * The firrtl compilation failed. diff --git a/src/test/scala/firrtlTests/DriverSpec.scala b/src/test/scala/firrtlTests/DriverSpec.scala index 406e5f42..b0ce0af9 100644 --- a/src/test/scala/firrtlTests/DriverSpec.scala +++ b/src/test/scala/firrtlTests/DriverSpec.scala @@ -355,7 +355,12 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities emitOneFilePerModule = true) } - firrtl.Driver.execute(manager) + firrtl.Driver.execute(manager) match { + case success: FirrtlExecutionSuccess => + success.circuitState.annotations.length should be > (0) + case _ => + + } for (name <- expectedOutputFileNames) { val file = new File(name) |
