summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/reify/utils/NodePrinters.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-06-15 13:35:54 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-06-19 04:26:38 +0200
commit3be520bcfc84f207d172934f9b147e31355cd877 (patch)
tree94422d1e31d2f6adaba527a90bd8d46a22ecb3a5 /src/compiler/scala/reflect/reify/utils/NodePrinters.scala
parent885d64dce1c3a34b01f4ffcbd2132838d3c60443 (diff)
downloadscala-3be520bcfc84f207d172934f9b147e31355cd877.tar.gz
scala-3be520bcfc84f207d172934f9b147e31355cd877.tar.bz2
scala-3be520bcfc84f207d172934f9b147e31355cd877.zip
improves showRaw
addresses concerns raised in http://groups.google.com/group/scala-user/browse_thread/thread/de5a5be2e083cf8e
Diffstat (limited to 'src/compiler/scala/reflect/reify/utils/NodePrinters.scala')
-rw-r--r--src/compiler/scala/reflect/reify/utils/NodePrinters.scala39
1 files changed, 2 insertions, 37 deletions
diff --git a/src/compiler/scala/reflect/reify/utils/NodePrinters.scala b/src/compiler/scala/reflect/reify/utils/NodePrinters.scala
index ce0ab2196a..7214da597e 100644
--- a/src/compiler/scala/reflect/reify/utils/NodePrinters.scala
+++ b/src/compiler/scala/reflect/reify/utils/NodePrinters.scala
@@ -15,41 +15,6 @@ trait NodePrinters {
import Flag._
object reifiedNodeToString extends (Tree => String) {
- // [Eugene++ to Martin] can we do better?
- // didn't want to invent anything myself in order not to interfere with your line of thought
- def bitsToFlags(bits: String): String = {
- val flags = bits.toLong
- if (flags == NoFlags) nme.NoFlags.toString
- else {
- val s_flags = new collection.mutable.ListBuffer[String]
- if (flags containsAll TRAIT) s_flags += "TRAIT"
- if (flags containsAll MODULE) s_flags += "MODULE"
- if (flags containsAll MUTABLE) s_flags += "MUTABLE"
- if (flags containsAll PACKAGE) s_flags += "PACKAGE"
- if (flags containsAll METHOD) s_flags += "METHOD"
- if (flags containsAll DEFERRED) s_flags += "DEFERRED"
- if (flags containsAll ABSTRACT) s_flags += "ABSTRACT"
- if (flags containsAll FINAL) s_flags += "FINAL"
- if (flags containsAll SEALED) s_flags += "SEALED"
- if (flags containsAll IMPLICIT) s_flags += "IMPLICIT"
- if (flags containsAll LAZY) s_flags += "LAZY"
- if (flags containsAll OVERRIDE) s_flags += "OVERRIDE"
- if (flags containsAll PRIVATE) s_flags += "PRIVATE"
- if (flags containsAll PROTECTED) s_flags += "PROTECTED"
- if (flags containsAll CASE) s_flags += "CASE"
- if (flags containsAll ABSOVERRIDE) s_flags += "ABSOVERRIDE"
- if (flags containsAll BYNAMEPARAM) s_flags += "BYNAMEPARAM"
- if (flags containsAll PARAM) s_flags += "PARAM"
- if (flags containsAll PARAMACCESSOR) s_flags += "PARAMACCESSOR"
- if (flags containsAll CASEACCESSOR) s_flags += "CASEACCESSOR"
- if (flags containsAll COVARIANT) s_flags += "COVARIANT"
- if (flags containsAll CONTRAVARIANT) s_flags += "CONTRAVARIANT"
- if (flags containsAll DEFAULTPARAM) s_flags += "DEFAULTPARAM"
- if (flags containsAll INTERFACE) s_flags += "INTERFACE"
- s_flags mkString " | "
- }
- }
-
def apply(tree: Tree): String = {
var mirrorIsUsed = false
var flagsAreUsed = false
@@ -70,7 +35,7 @@ trait NodePrinters {
s = s.replace("immutable.this.Nil", "List()")
s = """build\.flagsFromBits\((\d+)[lL]\)""".r.replaceAllIn(s, m => {
flagsAreUsed = true
- bitsToFlags(m.group(1))
+ show(m.group(1).toLong)
})
s = s.replace("Modifiers(0L, newTypeName(\"\"), List())", "Modifiers()")
s = """Modifiers\((\d+)[lL], newTypeName\("(.*?)"\), List\((.*?)\)\)""".r.replaceAllIn(s, m => {
@@ -87,7 +52,7 @@ trait NodePrinters {
val bits = m.group(1)
if (buf.nonEmpty || bits != "0L") {
flagsAreUsed = true
- buf.append(bitsToFlags(bits))
+ buf.append(show(bits.toLong))
}
val replacement = "Modifiers(" + buf.reverse.mkString(", ") + ")"