diff options
| author | Aditya Naik | 2024-08-06 05:35:30 -0700 |
|---|---|---|
| committer | Aditya Naik | 2024-08-06 05:35:30 -0700 |
| commit | 51864db8176662d134e1a260f92eafc83f9933d8 (patch) | |
| tree | a92572eb64033060304df5ab9ebec0047e97dbbb /core/src/main/scala/chisel3/internal/Warning.scala | |
| parent | cf31062758d4d9722ac30f89fdfe7cc7c1d8cc74 (diff) | |
Update ChiselEnum.scala
And more changes
Diffstat (limited to 'core/src/main/scala/chisel3/internal/Warning.scala')
| -rw-r--r-- | core/src/main/scala/chisel3/internal/Warning.scala | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/core/src/main/scala/chisel3/internal/Warning.scala b/core/src/main/scala/chisel3/internal/Warning.scala new file mode 100644 index 00000000..5ac506c9 --- /dev/null +++ b/core/src/main/scala/chisel3/internal/Warning.scala @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: Apache-2.0 + +package chisel3.internal + +/////////////////////////////////////////////////// +// Never remove IDs and only ever add to the end // +/////////////////////////////////////////////////// + +// TODO should deprecations be included here? +private[chisel3] object WarningID extends Enumeration { + type WarningID = Value + + val NoID = Value(0) // Reserved + val UnsafeUIntCastToEnum = Value(1) + val DynamicBitSelectTooWide = Value(2) + val DynamicBitSelectTooNarrow = Value(3) + val DynamicIndexTooWide = Value(4) + val DynamicIndexTooNarrow = Value(5) + val ExtractFromVecSizeZero = Value(6) + val BundleLiteralValueTooWide = Value(7) + val AsTypeOfReadOnly = Value(8) +} +import WarningID.WarningID + +// Argument order differs from apply below to avoid type signature collision with apply method below +private[chisel3] case class Warning(id: WarningID, msg: String) +private[chisel3] object Warning { + def apply(id: WarningID, msg: String): Warning = { + val num = f"[W${id.id}%03d] " + new Warning(info, id, num + msg) + } + def noInfo(id: WarningID, msg: String): Warning = { + implicit val info = SourceInfo.materializeFromStacktrace + Warning(id, msg) + } +} |
