aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAlbert Chen2020-04-10 12:20:32 -0700
committerGitHub2020-04-10 19:20:32 +0000
commit632930723adc2f78d4d6445acf5f8bcc250a6c0c (patch)
treee2f331cf6e9685e3447135f790764ffddc59cbe5 /src/main
parent18d5154c83f9af99ff0c90d6b2c1329af4f1a949 (diff)
Add ground type serializer (#1502)
* update JsonProtocolSpec to test GroundType * add custom serializer for GroundType * get rid of trailing comma Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/firrtl/annotations/JsonProtocol.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/annotations/JsonProtocol.scala b/src/main/scala/firrtl/annotations/JsonProtocol.scala
index 312b826a..941bf003 100644
--- a/src/main/scala/firrtl/annotations/JsonProtocol.scala
+++ b/src/main/scala/firrtl/annotations/JsonProtocol.scala
@@ -122,6 +122,10 @@ object JsonProtocol {
{ case JString(s) => Parser.parseInfo(s) },
{ case info: Info => JString(info.serialize) }
))
+ class GroundTypeSerializer extends CustomSerializer[GroundType](format => (
+ { case JString(s) => Parser.parseType(s).asInstanceOf[GroundType] },
+ { case tpe: GroundType => JString(tpe.serialize) }
+ ))
/** Construct Json formatter for annotations */
def jsonFormat(tags: Seq[Class[_]]) = {
@@ -133,7 +137,7 @@ object JsonProtocol {
new LoadMemoryFileTypeSerializer + new IsModuleSerializer + new IsMemberSerializer +
new CompleteTargetSerializer + new TypeSerializer + new ExpressionSerializer +
new StatementSerializer + new PortSerializer + new DefModuleSerializer +
- new CircuitSerializer + new InfoSerializer
+ new CircuitSerializer + new InfoSerializer + new GroundTypeSerializer
}
/** Serialize annotations to a String for emission */