diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2009-05-19 09:21:55 +0000 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2009-05-19 09:21:55 +0000 |
commit | e7d6bfb2ae497f2e9d124c5bfaca7b975420566c (patch) | |
tree | f4c2d09ac14f06ef4153c59bcc755cf3ff84c7e4 /src/library | |
parent | 3b5f98fd1cc16c0a21c3d8cff368f1a86aa8de93 (diff) | |
download | scala-e7d6bfb2ae497f2e9d124c5bfaca7b975420566c.tar.gz scala-e7d6bfb2ae497f2e9d124c5bfaca7b975420566c.tar.bz2 scala-e7d6bfb2ae497f2e9d124c5bfaca7b975420566c.zip |
some temporary code to find the bug (NoSuchElem...
some temporary code to find the bug (NoSuchElementException) in
LinkedHashMap
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/collection/mutable/LinkedHashMap.scala | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/library/scala/collection/mutable/LinkedHashMap.scala b/src/library/scala/collection/mutable/LinkedHashMap.scala index 476bd39b7e..5c4132f72b 100644 --- a/src/library/scala/collection/mutable/LinkedHashMap.scala +++ b/src/library/scala/collection/mutable/LinkedHashMap.scala @@ -67,4 +67,38 @@ class LinkedHashMap[A, B] extends Map[A, B] } override def elements = ordered.reverse.elements map {e => (e.key, e.value)} + + // debug NoSuchElementException in Pickler + var savedTableString = "" + def saveTableStringIfResize(hcode: Int) { + savedTableString = + if (tableSize + 1 > threshold) tableString(hcode) + else "" + } + + def tableString(hcode: Int): String = { + val sb = new StringBuilder + sb.append("index: "+ index(hcode) +"\n") + for (i <- 0 until table.length) { + sb.append(""+ i +": ") + var e = table(i).asInstanceOf[Entry] + while (e != null) { + sb.append("("+ (try { e.key.toString } catch { case _ => "<..>"}) +" -> "+ e.value +"), ") + e = e.next + } + sb.append("\n") + } + sb.toString + } + + def printHashTable(hcode: Int) { + if (savedTableString != "") { + println("BEFORE (add did a resize!)") + println(savedTableString) + println("AFTER") + } else { + println("TABLE after adding (no re-size was required)") + } + println(tableString(hcode)) + } } |