Skip to content

Commit 571d1ba

Browse files
committed
Print a space between a symbolic operator and a colon.
This affects both RefinedPrinter and ShowSougrceCode. Another example of the tax we pay for maintaining both. It required Chars to be moved to scala.tasty.
1 parent 70a5209 commit 571d1ba

File tree

18 files changed

+111
-24
lines changed

18 files changed

+111
-24
lines changed

compiler/src/dotty/tools/dotc/core/NameOps.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ package core
44
import java.security.MessageDigest
55
import scala.io.Codec
66
import Names._, StdNames._, Contexts._, Symbols._, Flags._, NameKinds._, Types._
7-
import util.Chars
7+
import scala.tasty.util.Chars
88
import Chars.isOperatorPart
99
import Definitions._
1010

compiler/src/dotty/tools/dotc/core/Names.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import util.NameTransformer
77
import printing.{Showable, Texts, Printer}
88
import Texts.Text
99
import StdNames.str
10-
import util.Chars.isIdentifierStart
10+
import scala.tasty.util.Chars.isIdentifierStart
1111
import collection.immutable
1212
import config.Config
1313
import java.util.HashMap

compiler/src/dotty/tools/dotc/parsing/CharArrayReader.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package dotty.tools
22
package dotc
33
package parsing
44

5-
import util.Chars._
5+
import scala.tasty.util.Chars._
66

77
abstract class CharArrayReader { self =>
88

compiler/src/dotty/tools/dotc/parsing/JavaScanners.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Scanners._
77
import util.SourceFile
88
import JavaTokens._
99
import scala.annotation.{ switch, tailrec }
10-
import util.Chars._
10+
import scala.tasty.util.Chars._
1111

1212
object JavaScanners {
1313

compiler/src/dotty/tools/dotc/parsing/Scanners.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import core.Names._, core.Contexts._, core.Decorators._, util.Positions._
66
import core.StdNames._, core.Comments._
77
import util.SourceFile
88
import java.lang.Character.isDigit
9-
import util.Chars._
9+
import scala.tasty.util.Chars._
1010
import util.NameTransformer.avoidIllegalChars
1111
import Tokens._
1212
import scala.annotation.{ switch, tailrec }

compiler/src/dotty/tools/dotc/parsing/package.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dotty.tools.dotc
22

3-
import util.Chars._
3+
import scala.tasty.util.Chars._
44
import core.Names.Name
55
import core.StdNames.nme
66
import core.NameOps._

compiler/src/dotty/tools/dotc/parsing/xml/MarkupParserCommon.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package parsing
1010
package xml
1111

1212
import Utility._
13-
import util.Chars.SU
13+
import scala.tasty.util.Chars.SU
1414

1515

1616

compiler/src/dotty/tools/dotc/parsing/xml/MarkupParsers.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ package xml
66
import scala.collection.mutable
77
import mutable.{ Buffer, ArrayBuffer, ListBuffer }
88
import scala.util.control.ControlThrowable
9-
import util.Chars.SU
9+
import scala.tasty.util.Chars.SU
1010
import Parsers._
1111
import util.Positions._
1212
import core._

compiler/src/dotty/tools/dotc/parsing/xml/Utility.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import scala.collection.mutable
1212
* @author Burak Emir
1313
*/
1414
object Utility {
15-
import util.Chars.SU
15+
import scala.tasty.util.Chars.SU
1616

1717
private val unescMap = Map(
1818
"lt" -> '<',

compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import typer.ProtoTypes._
1919
import Trees._
2020
import TypeApplications._
2121
import Decorators._
22+
import scala.tasty.util.Chars.isOperatorPart
2223
import transform.TypeUtils._
2324

2425
import language.implicitConversions
@@ -345,7 +346,11 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
345346
}
346347
}
347348
case Typed(expr, tpt) =>
348-
changePrec(InfixPrec) { toText(expr) ~ ": " ~ toText(tpt) }
349+
changePrec(InfixPrec) {
350+
val exprText = toText(expr)
351+
val line = exprText.lastLine
352+
val colon = if (!line.isEmpty && isOperatorPart(line.last)) " :" else ":"
353+
exprText ~ colon ~ toText(tpt) }
349354
case NamedArg(name, arg) =>
350355
toText(name) ~ " = " ~ toText(arg)
351356
case Assign(lhs, rhs) =>

0 commit comments

Comments
 (0)