summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-01-27 21:37:03 -0800
committerPaul Phillips <paulp@improving.org>2012-01-27 21:37:03 -0800
commit3539dde9cdc15d6a2ae107b1322dcc7366613af4 (patch)
tree5c10b505b9a1ad7a3726311140390f3f8bcc3b52
parent29820ff29ec98c515199a6e869696addaaf57c71 (diff)
downloadscala-3539dde9cdc15d6a2ae107b1322dcc7366613af4.tar.gz
scala-3539dde9cdc15d6a2ae107b1322dcc7366613af4.tar.bz2
scala-3539dde9cdc15d6a2ae107b1322dcc7366613af4.zip
Revert "-Yshow-symkinds: prints kinds next to symbol names"
This reverts commit 6a5901461c1aaac7dd8786cb374b079520895527.
-rw-r--r--src/compiler/scala/reflect/internal/Symbols.scala73
-rw-r--r--src/compiler/scala/reflect/internal/TreePrinters.scala18
-rw-r--r--src/compiler/scala/reflect/internal/Types.scala2
-rw-r--r--src/compiler/scala/reflect/internal/settings/MutableSettings.scala1
-rw-r--r--src/compiler/scala/reflect/runtime/Settings.scala1
-rw-r--r--src/compiler/scala/reflect/runtime/ToolBoxes.scala20
-rw-r--r--src/compiler/scala/tools/nsc/settings/ScalaSettings.scala1
7 files changed, 39 insertions, 77 deletions
diff --git a/src/compiler/scala/reflect/internal/Symbols.scala b/src/compiler/scala/reflect/internal/Symbols.scala
index 47a4f190cb..9f8476a6fe 100644
--- a/src/compiler/scala/reflect/internal/Symbols.scala
+++ b/src/compiler/scala/reflect/internal/Symbols.scala
@@ -1898,42 +1898,36 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
else if (isTerm && (!isParameter || isParamAccessor)) "val"
else ""
- private case class SymbolKind(accurate: String, sanitized: String, abbreviation: String)
- private def symbolKind: SymbolKind = {
- val kind =
- if (isPackage) ("package", "package", "PK")
- else if (isPackageClass) ("package class", "package", "PC")
- else if (isPackageObject) ("package object", "package", "PO")
- else if (isPackageObjectClass) ("package object class", "package", "POC")
- else if (isRefinementClass) ("refinement class", "", "RC")
- else if (isModule) ("module", "object", "MO")
- else if (isModuleClass) ("module class", "object", "MC")
- else if (isGetter) ("getter", "method", "GET")
- else if (isSetter) ("setter", "method", "SET")
- else if (isVariable) ("field", "variable", "F")
- else if (isTrait) ("trait", "trait", "TR")
- else if (isClass) ("class", "class", "CLS")
- else if (isType) ("type", "type", "TPE")
- else if (isInstanceOf[FreeVar]) ("free variable", "free variable", "FV")
- else if (isTerm && isLazy) ("lazy value", "lazy value", "LAZ")
- else if (isClassConstructor) ("constructor", "constructor", "CTR")
- else if (isSourceMethod) ("method", "method", "MET")
- else if (isTerm) ("value", "value", "VAL")
- else ("", "", "??")
- SymbolKind(kind._1, kind._2, kind._3)
- }
-
/** Accurate string representation of symbols' kind, suitable for developers. */
final def accurateKindString: String =
- symbolKind.accurate
+ if (isPackage) "package"
+ else if (isPackageClass) "package class"
+ else if (isPackageObject) "package object"
+ else if (isPackageObjectClass) "package object class"
+ else if (isRefinementClass) "refinement class"
+ else if (isModule) "module"
+ else if (isModuleClass) "module class"
+ else if (isGetter) "getter"
+ else if (isSetter) "setter"
+ else if (isVariable) "field"
+ else sanitizedKindString
/** String representation of symbol's kind, suitable for the masses. */
private def sanitizedKindString: String =
- symbolKind.sanitized
-
- /** String representation of symbol's kind, suitable for the masses. */
- protected[scala] def abbreviatedKindString: String =
- symbolKind.abbreviation
+ if (isPackage || isPackageClass) "package"
+ else if (isModule || isModuleClass) "object"
+ else if (isAnonymousClass) "anonymous class"
+ else if (isRefinementClass) ""
+ else if (isTrait) "trait"
+ else if (isClass) "class"
+ else if (isType) "type"
+ else if (isInstanceOf[FreeVar]) "free variable"
+ else if (isTerm && isLazy) "lazy value"
+ else if (isVariable) "variable"
+ else if (isClassConstructor) "constructor"
+ else if (isSourceMethod) "method"
+ else if (isTerm) "value"
+ else ""
final def kindString: String =
if (settings.debug.value) accurateKindString
@@ -1956,25 +1950,12 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
* If !settings.debug translates expansions of operators back to operator symbol.
* E.g. $eq => =.
* If settings.uniqid, adds id.
- * If settings.Yshowsymkinds, adds abbreviated symbol kind.
*/
def nameString: String = (
- if (!settings.uniqid.value && !settings.Yshowsymkinds.value) "" + decodedName
- else if (settings.uniqid.value && !settings.Yshowsymkinds.value) decodedName + "#" + id
- else if (!settings.uniqid.value && settings.Yshowsymkinds.value) decodedName + "#" + abbreviatedKindString
- else decodedName + "#" + id + "#" + abbreviatedKindString
+ if (settings.uniqid.value) decodedName + "#" + id
+ else "" + decodedName
)
- def fullNameString: String = {
- def recur(sym: Symbol): String = {
- if (sym.isRoot || sym.isRootPackage || sym == NoSymbol) nameString
- else if (sym.owner.isEffectiveRoot) nameString
- else recur(sym.effectiveOwner.enclClass) + "." + nameString
- }
-
- recur(this)
- }
-
/** If settings.uniqid is set, the symbol's id, else "" */
final def idString = if (settings.uniqid.value) "#"+id else ""
diff --git a/src/compiler/scala/reflect/internal/TreePrinters.scala b/src/compiler/scala/reflect/internal/TreePrinters.scala
index 63e4c9f1fa..3a0717d344 100644
--- a/src/compiler/scala/reflect/internal/TreePrinters.scala
+++ b/src/compiler/scala/reflect/internal/TreePrinters.scala
@@ -27,20 +27,10 @@ trait TreePrinters extends api.TreePrinters { self: SymbolTable =>
/** Turns a path into a String, introducing backquotes
* as necessary.
*/
- def backquotedPath(t: Tree): String = {
- def suffix(t: Tree) = {
- var suffix = ""
- if (t.hasSymbol && settings.uniqid.value) suffix += ("#" + t.symbol.id)
- if (t.hasSymbol && settings.Yshowsymkinds.value) suffix += ("#" + t.symbol.abbreviatedKindString)
- suffix
- }
-
- t match {
- case Select(qual, name) if name.isTermName => "%s.%s".format(backquotedPath(qual), quotedName(name)) + suffix(t)
- case Select(qual, name) if name.isTypeName => "%s#%s".format(backquotedPath(qual), quotedName(name)) + suffix(t)
- case Ident(name) => quotedName(name) + suffix(t)
- case _ => t.toString
- }
+ def backquotedPath(t: Tree): String = t match {
+ case Select(qual, name) => "%s.%s".format(backquotedPath(qual), quotedName(name))
+ case Ident(name) => quotedName(name)
+ case _ => t.toString
}
class TreePrinter(out: PrintWriter) extends super.TreePrinter {
diff --git a/src/compiler/scala/reflect/internal/Types.scala b/src/compiler/scala/reflect/internal/Types.scala
index fab10f7896..35d26493f8 100644
--- a/src/compiler/scala/reflect/internal/Types.scala
+++ b/src/compiler/scala/reflect/internal/Types.scala
@@ -1205,7 +1205,7 @@ trait Types extends api.Types { self: SymbolTable =>
if (settings.debug.value) sym.nameString + ".this."
else if (sym.isAnonOrRefinementClass) "this."
else if (sym.isOmittablePrefix) ""
- else if (sym.isModuleClass) sym.fullNameString + "."
+ else if (sym.isModuleClass) sym.fullName + "."
else sym.nameString + ".this."
override def safeToString: String =
if (sym.isRoot) "<root>"
diff --git a/src/compiler/scala/reflect/internal/settings/MutableSettings.scala b/src/compiler/scala/reflect/internal/settings/MutableSettings.scala
index 0092f73fe3..6980d28bfb 100644
--- a/src/compiler/scala/reflect/internal/settings/MutableSettings.scala
+++ b/src/compiler/scala/reflect/internal/settings/MutableSettings.scala
@@ -38,7 +38,6 @@ abstract class MutableSettings extends AbsSettings {
def explaintypes: BooleanSetting
def verbose: BooleanSetting
def uniqid: BooleanSetting
- def Yshowsymkinds: BooleanSetting
def Xprintpos: BooleanSetting
def Yrecursion: IntSetting
def maxClassfileName: IntSetting
diff --git a/src/compiler/scala/reflect/runtime/Settings.scala b/src/compiler/scala/reflect/runtime/Settings.scala
index b4f0123114..2a6cdea519 100644
--- a/src/compiler/scala/reflect/runtime/Settings.scala
+++ b/src/compiler/scala/reflect/runtime/Settings.scala
@@ -28,7 +28,6 @@ class Settings extends internal.settings.MutableSettings {
val explaintypes = new BooleanSetting(false)
val verbose = new BooleanSetting(false)
val uniqid = new BooleanSetting(false)
- val Yshowsymkinds = new BooleanSetting(false)
val Xprintpos = new BooleanSetting(false)
val printtypes = new BooleanSetting(false)
val Yrecursion = new IntSetting(0)
diff --git a/src/compiler/scala/reflect/runtime/ToolBoxes.scala b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
index 46d890c5d1..9ab12c6a86 100644
--- a/src/compiler/scala/reflect/runtime/ToolBoxes.scala
+++ b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
@@ -123,21 +123,15 @@ trait ToolBoxes extends { self: Universe =>
applyMeth.invoke(result)
}
}
-
- def showAttributed(tree: Tree, printTypes: Boolean = true, printIds: Boolean = true, printKinds: Boolean = false): String = {
- val saved1 = settings.printtypes.value
- val saved2 = settings.uniqid.value
- val saved3 = settings.Yshowsymkinds.value
+
+ def showAttributed(tree: Tree): String = {
+ val saved = settings.printtypes.value
try {
- settings.printtypes.value = printTypes
- settings.uniqid.value = printIds
- settings.uniqid.value = printKinds
+ settings.printtypes.value = true
+ //settings.uniqid.value = true
tree.toString
- } finally {
- settings.printtypes.value = saved1
- settings.uniqid.value = saved2
- settings.Yshowsymkinds.value = saved3
- }
+ } finally
+ compiler.settings.printtypes.value = saved
}
}
diff --git a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
index 107ffc35c6..6806ca03ba 100644
--- a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
@@ -140,7 +140,6 @@ trait ScalaSettings extends AbsScalaSettings
val selfInAnnots = BooleanSetting ("-Yself-in-annots", "Include a \"self\" identifier inside of annotations.")
val Xshowtrees = BooleanSetting ("-Yshow-trees", "(Requires -Xprint:) Print detailed ASTs.")
val Yshowsyms = BooleanSetting ("-Yshow-syms", "Print the AST symbol hierarchy after each phase.")
- val Yshowsymkinds = BooleanSetting ("-Yshow-symkinds", "Print abbreviated symbol kinds next to symbol names.")
val skip = PhasesSetting ("-Yskip", "Skip")
val Ygenjavap = StringSetting ("-Ygen-javap", "dir", "Generate a parallel output directory of .javap files.", "")
val Ydumpclasses = StringSetting ("-Ydump-classes", "dir", "Dump the generated bytecode to .class files (useful for reflective compilation that utilizes in-memory classloaders).", "")