From ff5619e1f0d1653642e93e2c6a051c88231c95fb Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 30 Sep 2011 16:48:22 +0000 Subject: Cleanups involving name encoding and decoding. --- src/attic/scala/tools/nsc/models/SemanticTokens.scala | 5 ++--- src/attic/scala/tools/nsc/models/Signatures.scala | 1 - src/compiler/scala/reflect/internal/Names.scala | 1 - src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala | 1 - src/compiler/scala/tools/nsc/interpreter/IMain.scala | 1 - src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala | 3 +-- src/compiler/scala/tools/nsc/interpreter/Power.scala | 2 +- src/compiler/scala/tools/nsc/interpreter/ReplStrings.scala | 1 - src/compiler/scala/tools/nsc/matching/Patterns.scala | 1 - src/library/scala/reflect/api/Names.scala | 10 ++++++++++ 10 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/attic/scala/tools/nsc/models/SemanticTokens.scala b/src/attic/scala/tools/nsc/models/SemanticTokens.scala index 6c2fe79d77..a94188a3c1 100644 --- a/src/attic/scala/tools/nsc/models/SemanticTokens.scala +++ b/src/attic/scala/tools/nsc/models/SemanticTokens.scala @@ -14,7 +14,6 @@ import scala.tools.nsc.Global import scala.tools.nsc.symtab.{Flags, Names} import scala.tools.nsc.symtab.Flags.DEFERRED import scala.tools.nsc.util.{BatchSourceFile, SourceFile} -import scala.reflect.NameTransformer class SemanticTokens(val compiler: Global) { import compiler._ @@ -160,7 +159,7 @@ class SemanticTokens(val compiler: Global) { else new Info(symbol) abstract class Semantic(val symbol: Symbol) extends Actual { - val name = NameTransformer.decode(symbol.name.toString).trim() + val name = symbol.name.decode.toString.trim assert(symbol != NoSymbol) def myOuter = Process.this @@ -503,7 +502,7 @@ class SemanticTokens(val compiler: Global) { //Thread.dumpStack() } else if (term != NoSymbol) { - val name = NameTransformer.decode(term.name.toString).trim() + val name = term.name.decode.toString.trim val buf = unit.source.asInstanceOf[BatchSourceFile].content val cs = name.toChars var idx = 0 diff --git a/src/attic/scala/tools/nsc/models/Signatures.scala b/src/attic/scala/tools/nsc/models/Signatures.scala index 1d414b6183..a5dfce6c56 100644 --- a/src/attic/scala/tools/nsc/models/Signatures.scala +++ b/src/attic/scala/tools/nsc/models/Signatures.scala @@ -10,7 +10,6 @@ import scala.collection.mutable.{HashMap, HashSet} import scala.tools.nsc.{Global => Compiler} import scala.tools.nsc.symtab.{Flags, Names} import scala.tools.nsc.util.{ Position, SourceFile } -import scala.reflect.NameTransformer /** This class ... * diff --git a/src/compiler/scala/reflect/internal/Names.scala b/src/compiler/scala/reflect/internal/Names.scala index 4cab47fe65..a6fd2adb34 100644 --- a/src/compiler/scala/reflect/internal/Names.scala +++ b/src/compiler/scala/reflect/internal/Names.scala @@ -6,7 +6,6 @@ package scala.reflect package internal -import scala.reflect.NameTransformer import scala.io.Codec import java.security.MessageDigest diff --git a/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala b/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala index 44a1728c05..b58c71eaa9 100644 --- a/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala +++ b/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala @@ -13,7 +13,6 @@ import comment._ import xml.{XML, NodeSeq} import xml.dtd.{DocType, PublicID} import scala.collection._ -import scala.reflect.NameTransformer import java.nio.channels.Channels /** An html page that is part of a Scaladoc site. diff --git a/src/compiler/scala/tools/nsc/interpreter/IMain.scala b/src/compiler/scala/tools/nsc/interpreter/IMain.scala index 7d0be173e2..2a1b3ca0f8 100644 --- a/src/compiler/scala/tools/nsc/interpreter/IMain.scala +++ b/src/compiler/scala/tools/nsc/interpreter/IMain.scala @@ -25,7 +25,6 @@ import Exceptional.unwrap import scala.collection.{ mutable, immutable } import scala.PartialFunction.{ cond, condOpt } import scala.util.control.Exception.{ ultimately } -import scala.reflect.NameTransformer import IMain._ /** An interpreter for Scala code. diff --git a/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala b/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala index 83482de449..b64f14e929 100644 --- a/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala +++ b/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala @@ -8,7 +8,6 @@ package interpreter import scala.collection.{ mutable, immutable } import scala.PartialFunction.cond -import scala.reflect.NameTransformer import scala.reflect.internal.Chars trait MemberHandlers { @@ -67,7 +66,7 @@ trait MemberHandlers { def name: Name = member.name def mods: Modifiers = member.mods def keyword = member.keyword - def prettyName = NameTransformer.decode(name) + def prettyName = name.decode override def definesImplicit = member.mods.isImplicit override def definesTerm: Option[TermName] = Some(name.toTermName) filter (_ => name.isTermName) diff --git a/src/compiler/scala/tools/nsc/interpreter/Power.scala b/src/compiler/scala/tools/nsc/interpreter/Power.scala index 7887fb8d84..ff074bb875 100644 --- a/src/compiler/scala/tools/nsc/interpreter/Power.scala +++ b/src/compiler/scala/tools/nsc/interpreter/Power.scala @@ -6,7 +6,7 @@ package scala.tools.nsc package interpreter -import scala.reflect.{ NameTransformer, AnyValManifest } +import scala.reflect.AnyValManifest import scala.collection.{ mutable, immutable } import scala.util.matching.Regex import scala.tools.nsc.util.{ BatchSourceFile } diff --git a/src/compiler/scala/tools/nsc/interpreter/ReplStrings.scala b/src/compiler/scala/tools/nsc/interpreter/ReplStrings.scala index c17672850d..175f6263ad 100644 --- a/src/compiler/scala/tools/nsc/interpreter/ReplStrings.scala +++ b/src/compiler/scala/tools/nsc/interpreter/ReplStrings.scala @@ -8,7 +8,6 @@ package interpreter import scala.collection.{ mutable, immutable } import scala.PartialFunction.cond -import scala.reflect.NameTransformer import scala.reflect.internal.Chars trait ReplStrings { diff --git a/src/compiler/scala/tools/nsc/matching/Patterns.scala b/src/compiler/scala/tools/nsc/matching/Patterns.scala index 5684932eae..420fba911b 100644 --- a/src/compiler/scala/tools/nsc/matching/Patterns.scala +++ b/src/compiler/scala/tools/nsc/matching/Patterns.scala @@ -7,7 +7,6 @@ package scala.tools.nsc package matching import symtab.Flags -import scala.reflect.NameTransformer.decode import PartialFunction._ /** Patterns are wrappers for Trees with enhanced semantics. diff --git a/src/library/scala/reflect/api/Names.scala b/src/library/scala/reflect/api/Names.scala index 0ba5ad28f0..e226d2265a 100755 --- a/src/library/scala/reflect/api/Names.scala +++ b/src/library/scala/reflect/api/Names.scala @@ -12,6 +12,16 @@ trait Names { def isTypeName: Boolean def toTermName: TermName def toTypeName: TypeName + + /** Replace all occurrences of $op_names in this name by corresponding operator symbols. + * Example: `foo_+=` becomes `foo_$plus$eq`. + */ + def decode: String + + /** Replace all occurrences of operator symbols in this name by corresponding $op_names. + * Example: `foo_$plus$eq` becomes `foo_+=` + */ + def encode: Name } def newTermName(s: String): TermName -- cgit v1.2.3