Skip to content

Commit 82b78c4

Browse files
committed
[svsim] Add type classes for modifying settings
Add two new type classes that describe modifications of `CommonCompilationSettings` or `Backend.Settings`. Default implementations are provided which make no modifications. Signed-off-by: Schuyler Eldridge <[email protected]>
1 parent 91cbc68 commit 82b78c4

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

svsim/src/main/scala/Backend.scala

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@ package svsim
33
import java.io.File
44
import scala.util.matching.Regex
55

6+
trait CommonSettingsModifications extends (CommonCompilationSettings => CommonCompilationSettings)
7+
8+
object CommonSettingsModifications {
9+
10+
implicit def unmodified: CommonSettingsModifications = identity(_)
11+
12+
}
13+
614
// -- Compilation Settings
715

816
/** Settings supported by all svsim backends.
@@ -92,6 +100,15 @@ trait Backend {
92100

93101
}
94102

103+
/** Type class to modify backend comopilation settings */
104+
trait BackendSettingsModifications extends (Backend.Settings => Backend.Settings)
105+
106+
object BackendSettingsModifications {
107+
108+
implicit def unmodified: BackendSettingsModifications = identity(_)
109+
110+
}
111+
95112
final object Backend {
96113

97114
/** The super type of all backend-specific settings. */

0 commit comments

Comments
 (0)