summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/internal
diff options
context:
space:
mode:
authorJack Koenig2021-04-29 16:18:06 -0700
committerGitHub2021-04-29 16:18:06 -0700
commitc5861176887bfa529277e686df09a42aeceb6cd7 (patch)
tree82dc235e29ee615d063325eb66b96f54d652c4f6 /core/src/main/scala/chisel3/internal
parent4d8fed00225d15221cf32177ea9147b20d0b91f7 (diff)
Scala 2.13 support (#1751)
Diffstat (limited to 'core/src/main/scala/chisel3/internal')
-rw-r--r--core/src/main/scala/chisel3/internal/Binding.scala4
-rw-r--r--core/src/main/scala/chisel3/internal/Builder.scala2
-rw-r--r--core/src/main/scala/chisel3/internal/Error.scala6
-rw-r--r--core/src/main/scala/chisel3/internal/Namer.scala14
4 files changed, 16 insertions, 10 deletions
diff --git a/core/src/main/scala/chisel3/internal/Binding.scala b/core/src/main/scala/chisel3/internal/Binding.scala
index 8a3c4330..300803ce 100644
--- a/core/src/main/scala/chisel3/internal/Binding.scala
+++ b/core/src/main/scala/chisel3/internal/Binding.scala
@@ -6,7 +6,7 @@ import chisel3._
import chisel3.experimental.BaseModule
import chisel3.internal.firrtl.LitArg
-import scala.collection.immutable.ListMap
+import scala.collection.immutable.VectorMap
/** Requires that a node is hardware ("bound")
*/
@@ -126,4 +126,4 @@ case class ElementLitBinding(litArg: LitArg) extends LitBinding
// Literal binding attached to the root of a Bundle, containing literal values of its children.
case class BundleLitBinding(litMap: Map[Data, LitArg]) extends LitBinding
// Literal binding attached to the root of a Vec, containing literal values of its children.
-case class VecLitBinding(litMap: ListMap[Data, LitArg]) extends LitBinding
+case class VecLitBinding(litMap: VectorMap[Data, LitArg]) extends LitBinding
diff --git a/core/src/main/scala/chisel3/internal/Builder.scala b/core/src/main/scala/chisel3/internal/Builder.scala
index 084bdc88..e1e4d460 100644
--- a/core/src/main/scala/chisel3/internal/Builder.scala
+++ b/core/src/main/scala/chisel3/internal/Builder.scala
@@ -655,7 +655,7 @@ private[chisel3] object Builder extends LazyLogging {
errors.checkpoint()
logger.warn("Done elaborating.")
- (Circuit(components.last.name, components, annotations), mod)
+ (Circuit(components.last.name, components.toSeq, annotations.toSeq), mod)
}
}
initializeSingletons()
diff --git a/core/src/main/scala/chisel3/internal/Error.scala b/core/src/main/scala/chisel3/internal/Error.scala
index 134f4c87..454be360 100644
--- a/core/src/main/scala/chisel3/internal/Error.scala
+++ b/core/src/main/scala/chisel3/internal/Error.scala
@@ -45,7 +45,7 @@ object ExceptionHelpers {
}
// Step 1: Remove elements from the top in the package trimlist
- ((a: Array[StackTraceElement]) => a.view.dropWhile(inTrimlist))
+ ((a: Array[StackTraceElement]) => a.dropWhile(inTrimlist))
// Step 2: Optionally remove elements from the bottom until the anchor
.andThen(_.reverse)
.andThen( a =>
@@ -125,10 +125,10 @@ class ChiselException(message: String, cause: Throwable = null) extends Exceptio
}
val trimmedLeft = throwable.getStackTrace().view.dropWhile(isBlacklisted)
- val trimmedReverse = trimmedLeft.reverse
+ val trimmedReverse = trimmedLeft.toIndexedSeq.reverse.view
.dropWhile(ste => !ste.getClassName.startsWith(builderName))
.dropWhile(isBlacklisted)
- trimmedReverse.reverse.toArray
+ trimmedReverse.toIndexedSeq.reverse.toArray
}
def chiselStackTrace: String = {
diff --git a/core/src/main/scala/chisel3/internal/Namer.scala b/core/src/main/scala/chisel3/internal/Namer.scala
index 1694d71d..c6e36cb6 100644
--- a/core/src/main/scala/chisel3/internal/Namer.scala
+++ b/core/src/main/scala/chisel3/internal/Namer.scala
@@ -8,9 +8,8 @@ import chisel3.experimental.NoChiselNamePrefix
import scala.collection.mutable.Stack
import scala.collection.mutable.ListBuffer
-import scala.collection.JavaConversions._
-
import java.util.IdentityHashMap
+import scala.collection.JavaConverters._
/** Recursive Function Namer overview
*
@@ -81,7 +80,14 @@ class NamingContext extends NamingContextInterface {
def addDescendant(ref: Any, descendant: NamingContext) {
ref match {
case ref: AnyRef =>
- descendants.getOrElseUpdate(ref, ListBuffer[NamingContext]()) += descendant
+ // getOrElseUpdate
+ val l = descendants.get(ref)
+ val buf = if (l != null) l else {
+ val value = ListBuffer[NamingContext]()
+ descendants.put(ref, value)
+ value
+ }
+ buf += descendant
case _ => anonymousDescendants += descendant
}
}
@@ -111,7 +117,7 @@ class NamingContext extends NamingContextInterface {
}
}
- for (descendant <- descendants.values().flatten) {
+ for (descendant <- descendants.values.asScala.flatten) {
// Where we have a broken naming link, just ignore the missing parts
descendant.namePrefix(prefix)
}