Scala Compiler2.13.17 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package typechecker
  Definition Classes
    nsc
-  package splain
  Definition Classes
    typechecker
- Applied
- BrokenType
- ByName
- Decl
- DeclDiff
- Diff
- FlatType
- FormatCache
- Formatted
- FormattedName
- FunctionForm
- Infix
- InfixName
- Qualified
- RefinedForm
- Simple
- SimpleName
- SplainData
- SplainDiagnostics
- SplainErrors
- SplainFormatters
- SplainFormatting
- TupleForm
- TypeRepr
- UnitForm

t

scala.tools.nsc.typechecker.splain

# SplainDiagnostics

###

#### trait SplainDiagnostics extends SplainFormatting

Self Type
  Analyzer
Source
  SplainDiagnostics.scala

Linear Supertypes
SplainFormatting, SplainFormatters, AnyRef, Any
Known Subclasses
erasure, treeChecker, ScaladocAnalyzer, InteractiveAnalyzer, Erasure, Duplicator, SpecializationDuplicator, Analyzer, Duplicators, TreeCheckers, TypeDiagnostics
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. SplainDiagnostics
2. SplainFormatting
3. SplainFormatters
4. AnyRef
5. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Type Members

1.  trait SpecialFormatter extends AnyRef
   Definition Classes
     SplainFormatters
2.  case class ImplicitErrorLink(fromTree: Analyzer.ImplicitError, fromHistory: Analyzer.DivergentImplicitTypeError) extends Product with Serializable
   Definition Classes
     SplainFormatting
3.  case class ImplicitErrorTree(error: Analyzer.ImplicitError, children: collection.immutable.Seq[Analyzer.ImplicitErrorTree] = Nil) extends Product with Serializable
   Definition Classes
     SplainFormatting
4.  case class TypeParts(sym: Global.Symbol, tt: Global.Type) extends Product with Serializable
   Definition Classes
     SplainFormatting

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from SplainDiagnostics toany2stringadd[SplainDiagnostics] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (SplainDiagnostics, B)
   Implicit
     This member is added by an implicit conversion from SplainDiagnostics toArrowAssoc[SplainDiagnostics] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  implicit def asSimpleName(s: String): SimpleName
   Definition Classes
     SplainFormatters
8.  def bracket[A](params: collection.immutable.List[A]): String
   Definition Classes
     SplainFormatting
9.  def breakInfix(types: collection.immutable.List[Formatted]): TypeRepr

   Break a list produced by flattenInfix into lines by taking two elements at a time, then appending the terminal.

   Break a list produced by flattenInfix into lines by taking two elements at a time, then appending the terminal. If the expression's length is smaller than the threshold specified via plugin parameter, return a single line.

   Definition Classes
     SplainFormatting
10.  val breakInfixLength: Int
    Definition Classes
      SplainFormatting
11.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
12.  def ctorNames(tpe: Global.Type): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
13.  def dealias(tpe: Global.Type): Global.Type
    Definition Classes
      SplainFormatting
14.  def decideBreak(flat: FlatType, broken: => BrokenType): TypeRepr
    Definition Classes
      SplainFormatting
15.  def deepestLevel(chain: collection.immutable.List[Analyzer.ImplicitError]): Int
    Definition Classes
      SplainFormatting
16.  def ensuring(cond: (SplainDiagnostics) => Boolean, msg: => Any): SplainDiagnostics
    Implicit
      This member is added by an implicit conversion from SplainDiagnostics toEnsuring[SplainDiagnostics] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
17.  def ensuring(cond: (SplainDiagnostics) => Boolean): SplainDiagnostics
    Implicit
      This member is added by an implicit conversion from SplainDiagnostics toEnsuring[SplainDiagnostics] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
18.  def ensuring(cond: Boolean, msg: => Any): SplainDiagnostics
    Implicit
      This member is added by an implicit conversion from SplainDiagnostics toEnsuring[SplainDiagnostics] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
19.  def ensuring(cond: Boolean): SplainDiagnostics
    Implicit
      This member is added by an implicit conversion from SplainDiagnostics toEnsuring[SplainDiagnostics] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
20.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
21.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
22.  def extractArgs(tpe: Global.Type): collection.immutable.List[Global.Type]
    Definition Classes
      SplainFormatting
23.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
24.  def flattenInfix(tpe: Infix): collection.immutable.List[Formatted]

    Turn a nested infix type structure into a flat list

    Turn a nested infix type structure into a flat list

        ::[A, ::[B, C]]] => List(A, ::, B, ::, C)

    Definition Classes
      SplainFormatting
25.  def formatAuxSimple(tpe: Global.Type): (collection.immutable.List[String], String)
    Definition Classes
      SplainFormatting
26.  def formatDiff(left: Global.Type, right: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
27.  val formatDiffCache: FormatCache[(Global.Type, Global.Type, Boolean), Formatted]
    Definition Classes
      SplainFormatting
28.  def formatDiffImpl(found: Global.Type, req: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
29.  def formatDiffInfix(left: Global.Type, right: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
30.  def formatDiffSimple(left: Global.Type, right: Global.Type): Formatted
    Definition Classes
      SplainFormatting
31.  def formatDiffSpecial(left: Global.Type, right: Global.Type, top: Boolean): Option[Formatted]
    Definition Classes
      SplainFormatting
32.  def formatFunction(args: collection.immutable.List[String]): String
    Definition Classes
      SplainFormatting
33.  def formatImplicitChainFlat(chain: collection.immutable.List[Analyzer.ImplicitError]): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
34.  def formatImplicitChainTreeFull(chain: collection.immutable.List[Analyzer.ImplicitError]): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
35.  def formatImplicitError(param: Global.Symbol, errors: collection.immutable.List[Analyzer.ImplicitError], annotationMsg: String): String
    Definition Classes
      SplainFormatting
36.  def formatIndentTree(chain: collection.immutable.List[Analyzer.ImplicitError], baseIndent: Int): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
37.  def formatInfix[A](path: collection.immutable.List[String], simple: String, left: A, right: A, top: Boolean)(rec: (A, Boolean) => Formatted): Formatted
    Definition Classes
      SplainFormatting
38.  def formatNestedImplicit(err: Analyzer.ImplicitError): (String, collection.immutable.List[String], Int)
    Definition Classes
      SplainFormatting
39.  def formatNonConfBounds(err: NonconformantBounds): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
40.  def formatNormalSimple(tpe: Global.Type): (collection.immutable.List[String], String)
    Definition Classes
      SplainFormatting
41.  def formatRefinement(sym: Global.Symbol): String
    Definition Classes
      SplainFormatting
42.  def formatSimpleType(tpe: Global.Type): (collection.immutable.List[String], String)
    Definition Classes
      SplainFormatting
43.  def formatSpecial[A](tpe: Global.Type, simple: String, args: collection.immutable.List[A], formattedArgs: => collection.immutable.List[Formatted], top: Boolean)(rec: (A, Boolean) => Formatted): Option[Formatted]
    Definition Classes
      SplainFormatting
44.  def formatType(tpe: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting → SplainFormatters
45.  val formatTypeCache: FormatCache[(Global.Type, Boolean), Formatted]
    Definition Classes
      SplainFormatting
46.  def formatTypeImpl(tpe: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
47.  def formatWithInfix[A](tpe: Global.Type, args: collection.immutable.List[A], top: Boolean)(rec: (A, Boolean) => Formatted): Formatted
    Definition Classes
      SplainFormatting
48.  def formattedDiff(left: Formatted, right: Formatted): String
    Definition Classes
      SplainFormatting
49.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
50.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
51.  def hideImpError(error: Analyzer.ImplicitError): Boolean
    Definition Classes
      SplainFormatting
52.  def implicitMessage(param: Global.Symbol, annotationMsg: String): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
53.  def indent(lines: collection.immutable.List[String], n: Int = 1, prefix: String = " "): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
54.  def indentLine(line: String, n: Int = 1, prefix: String = " "): String
    Definition Classes
      SplainFormatting
55.  def indentTree(tree: collection.immutable.List[(String, collection.immutable.List[String], Int)], baseIndent: Int): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
56.  def isAux(tpe: Global.Type): Boolean
    Definition Classes
      SplainFormatting
57.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
58.  def isRefined(tpe: Global.Type): Boolean
    Definition Classes
      SplainFormatting
59.  def isSymbolic(tpe: Global.Type): Boolean
    Definition Classes
      SplainFormatting
60.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
61.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
62.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
63.  def pathPrefix: (collection.immutable.List[String]) => String
    Definition Classes
      SplainFormatting
64.  def qualifiedName(path: collection.immutable.List[String], name: FormattedName): String
    Definition Classes
      SplainFormatting
65.  def sanitizePath(path: collection.immutable.List[String]): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
66.  def showFormatted(tpe: Formatted): String
    Definition Classes
      SplainFormatting
67.  def showFormattedL(tpe: Formatted, break: Boolean): TypeRepr
    Definition Classes
      SplainFormatting
68.  val showFormattedLCache: FormatCache[(Formatted, Boolean), TypeRepr]
    Definition Classes
      SplainFormatting
69.  def showFormattedLImpl(tpe: Formatted, break: Boolean): TypeRepr
    Definition Classes
      SplainFormatting
70.  def showFormattedQualified(path: collection.immutable.List[String], name: FormattedName): TypeRepr
    Definition Classes
      SplainFormatting
71.  def showFuncParams(args: collection.immutable.List[String]): String
    Definition Classes
      SplainFormatting
72.  def showRefined(parents: collection.immutable.List[String], decls: collection.immutable.List[String]): String
    Definition Classes
      SplainFormatting
73.  def showTuple(args: collection.immutable.List[String]): String
    Definition Classes
      SplainFormatting
74.  def showType(tpe: Global.Type): String
    Definition Classes
      SplainFormatting
75.  def showTypeApply(cons: String, args: collection.immutable.List[TypeRepr], break: Boolean): TypeRepr

    If the args of an applied type constructor are multiline, create separate lines for the constructor name and the closing bracket; else return a single line.

    If the args of an applied type constructor are multiline, create separate lines for the constructor name and the closing bracket; else return a single line.

    Definition Classes
      SplainFormatting
76.  def showTypeBreakL(tpe: Global.Type): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
77.  val specialFormatters: collection.immutable.List[Analyzer.SpecialFormatter]
    Definition Classes
      SplainFormatting
78.  def splainFoundReqMsg(found: Global.Type, req: Global.Type): String
79.  def splitChains(errors: collection.immutable.List[Analyzer.ImplicitError]): collection.immutable.List[collection.immutable.List[Analyzer.ImplicitError]]
    Definition Classes
      SplainFormatting
80.  def stripModules(path: collection.immutable.List[String], name: FormattedName): String
    Definition Classes
      SplainFormatting
81.  def stripType(tpe: Global.Type): (collection.immutable.List[String], String)
    Definition Classes
      SplainFormatting
82.  def symbolPath(sym: Global.Symbol): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
83.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
84.  def toString(): String
    Definition Classes
      AnyRef → Any
85.  def truncateDecls(decls: collection.immutable.List[Formatted]): Boolean
    Definition Classes
      SplainFormatting
86.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
87.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
88.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()
89.  def wrapParens(expr: String, top: Boolean): String
    Definition Classes
      SplainFormatting
90.  def wrapParensRepr(tpe: TypeRepr, top: Boolean): TypeRepr
    Definition Classes
      SplainFormatting
91.  object ByNameFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters
92.  object FunctionFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters
93.  object Refined
    Definition Classes
      SplainFormatters
94.  object RefinedFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters
95.  object TupleFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters
96.  object ImplicitErrorLink extends java.io.Serializable
    Definition Classes
      SplainFormatting
97.  object ImplicitErrorTree extends java.io.Serializable
    Definition Classes
      SplainFormatting

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from SplainDiagnostics toStringFormat[SplainDiagnostics] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (SplainDiagnostics, B)
   Implicit
     This member is added by an implicit conversion from SplainDiagnostics toArrowAssoc[SplainDiagnostics] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from SplainFormatting

### Inherited from SplainFormatters

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromSplainDiagnostics to any2stringadd[SplainDiagnostics]

### Inherited by implicit conversion StringFormat fromSplainDiagnostics to StringFormat[SplainDiagnostics]

### Inherited by implicit conversion Ensuring fromSplainDiagnostics to Ensuring[SplainDiagnostics]

### Inherited by implicit conversion ArrowAssoc fromSplainDiagnostics to ArrowAssoc[SplainDiagnostics]

### Ungrouped