From 37c5af1c0d91f7e5d2f6e15d511d80a0f8553f4d Mon Sep 17 00:00:00 2001 From: Henry Cook Date: Fri, 8 Sep 2017 16:17:45 -0700 Subject: [PATCH] diplomacy: add x"..." string context Enables hex address literals containing underscores. Converts them to BigInts. --- src/main/scala/diplomacy/package.scala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/scala/diplomacy/package.scala b/src/main/scala/diplomacy/package.scala index 90e9ee71..713396bb 100644 --- a/src/main/scala/diplomacy/package.scala +++ b/src/main/scala/diplomacy/package.scala @@ -22,6 +22,13 @@ package object diplomacy } } + implicit class BigIntHexContext(val sc: StringContext) extends AnyVal { + def x(args: Any*): BigInt = { + val orig = sc.s(args: _*) + BigInt(orig.replace("_", ""), 16) + } + } + def SinkCardinality[T](body: Parameters => T)(implicit p: Parameters) = body(p.alterPartial { case CardinalityInferenceDirectionKey => CardinalityInferenceDirection.SINK_TO_SOURCE })