Scala Compiler2.13.6 < 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
- FunctionForm
- Infix
- Qualified
- RefinedForm
- Simple
- 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 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.  def bracket[A](params: List[A]): String
   Definition Classes
     SplainFormatting
8.  def breakInfix(types: 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
9.  val breakInfixLength: Int
   Definition Classes
     SplainFormatting
10.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
11.  def ctorNames(tpe: Global.Type): List[String]
    Definition Classes
      SplainFormatting
12.  def dealias(tpe: Global.Type): Global.Type
    Definition Classes
      SplainFormatting
13.  def decideBreak(flat: FlatType, broken: => BrokenType): TypeRepr
    Definition Classes
      SplainFormatting
14.  def deepestLevel(chain: List[Analyzer.ImplicitError]): Int
    Definition Classes
      SplainFormatting
15.  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
16.  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
17.  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
18.  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
19.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
20.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
21.  def extractArgs(tpe: Global.Type): collection.immutable.List[Global.Type]
    Definition Classes
      SplainFormatting
22.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
23.  def flattenInfix(tpe: Infix): 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
24.  def formatAuxSimple(tpe: Global.Type): (List[String], String)
    Definition Classes
      SplainFormatting
25.  def formatDiff(left: Global.Type, right: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
26.  val formatDiffCache: FormatCache[(Global.Type, Global.Type, Boolean), Formatted]
    Definition Classes
      SplainFormatting
27.  def formatDiffImpl(found: Global.Type, req: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
28.  def formatDiffInfix(left: Global.Type, right: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
29.  def formatDiffSimple(left: Global.Type, right: Global.Type): Formatted
    Definition Classes
      SplainFormatting
30.  def formatDiffSpecial(left: Global.Type, right: Global.Type, top: Boolean): Option[Formatted]
    Definition Classes
      SplainFormatting
31.  def formatFunction(args: List[String]): String
    Definition Classes
      SplainFormatting
32.  def formatImplicitChain(chain: List[Analyzer.ImplicitError]): List[String]
    Definition Classes
      SplainFormatting
33.  def formatImplicitChainFlat(chain: List[Analyzer.ImplicitError]): List[String]
    Definition Classes
      SplainFormatting
34.  def formatImplicitChainTreeCompact(chain: List[Analyzer.ImplicitError]): Option[List[String]]
    Definition Classes
      SplainFormatting
35.  def formatImplicitChainTreeFull(chain: List[Analyzer.ImplicitError]): List[String]
    Definition Classes
      SplainFormatting
36.  def formatImplicitError(param: Global.Symbol, errors: List[Analyzer.ImplicitError], annotationMsg: String): String
    Definition Classes
      SplainFormatting
37.  def formatIndentTree(chain: List[Analyzer.ImplicitError], baseIndent: Int): List[String]
    Definition Classes
      SplainFormatting
38.  def formatInfix[A](path: List[String], simple: String, left: A, right: A, top: Boolean)(rec: (A, Boolean) => Formatted): Formatted
    Definition Classes
      SplainFormatting
39.  def formatNestedImplicit(err: Analyzer.ImplicitError): (String, List[String], Int)
    Definition Classes
      SplainFormatting
40.  def formatNestedImplicits(errors: List[Analyzer.ImplicitError]): collection.immutable.List[String]

    Remove duplicates and special cases that should not be shown.

    Remove duplicates and special cases that should not be shown. In some cases, candidates are reported twice, once as `Foo.f` and once as `f`. `ImplicitError.equals` checks the simple names for identity, which is suboptimal, but works for 99% of cases. Special cases are handled in hideImpError

    Definition Classes
      SplainFormatting
41.  def formatNonConfBounds(err: NonconformantBounds): List[String]
    Definition Classes
      SplainFormatting
42.  def formatNormalSimple(tpe: Global.Type): (List[String], String)
    Definition Classes
      SplainFormatting
43.  def formatRefinement(sym: Global.Symbol): String
    Definition Classes
      SplainFormatting
44.  def formatSimpleType(tpe: Global.Type): (List[String], String)
    Definition Classes
      SplainFormatting
45.  def formatSpecial[A](tpe: Global.Type, simple: String, args: List[A], formattedArgs: => List[Formatted], top: Boolean)(rec: (A, Boolean) => Formatted): Option[Formatted]
    Definition Classes
      SplainFormatting
46.  def formatType(tpe: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting → SplainFormatters
47.  val formatTypeCache: FormatCache[(Global.Type, Boolean), Formatted]
    Definition Classes
      SplainFormatting
48.  def formatTypeImpl(tpe: Global.Type, top: Boolean): Formatted
    Definition Classes
      SplainFormatting
49.  def formatWithInfix[A](tpe: Global.Type, args: List[A], top: Boolean)(rec: (A, Boolean) => Formatted): Formatted
    Definition Classes
      SplainFormatting
50.  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
      @inline()
51.  def formattedDiff(left: Formatted, right: Formatted): String
    Definition Classes
      SplainFormatting
52.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
53.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
54.  def hideImpError(error: Analyzer.ImplicitError): Boolean
    Definition Classes
      SplainFormatting
55.  def implicitMessage(param: Global.Symbol, annotationMsg: String): List[String]
    Definition Classes
      SplainFormatting
56.  def indent(lines: List[String], n: Int = 1, prefix: String = " "): collection.immutable.List[String]
    Definition Classes
      SplainFormatting
57.  def indentLine(line: String, n: Int = 1, prefix: String = " "): String
    Definition Classes
      SplainFormatting
58.  def indentTree(tree: List[(String, List[String], Int)], baseIndent: Int): List[String]
    Definition Classes
      SplainFormatting
59.  def isAux(tpe: Global.Type): Boolean
    Definition Classes
      SplainFormatting
60.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
61.  def isRefined(tpe: Global.Type): Boolean
    Definition Classes
      SplainFormatting
62.  def isSymbolic(tpe: Global.Type): Boolean
    Definition Classes
      SplainFormatting
63.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
64.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
65.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
66.  def pathPrefix: (List[String]) => String
    Definition Classes
      SplainFormatting
67.  def qualifiedName(path: List[String], name: String): String
    Definition Classes
      SplainFormatting
68.  def sanitizePath(path: List[String]): List[String]
    Definition Classes
      SplainFormatting
69.  def showFormatted(tpe: Formatted): String
    Definition Classes
      SplainFormatting
70.  def showFormattedL(tpe: Formatted, break: Boolean): TypeRepr
    Definition Classes
      SplainFormatting
71.  val showFormattedLCache: FormatCache[(Formatted, Boolean), TypeRepr]
    Definition Classes
      SplainFormatting
72.  def showFormattedLImpl(tpe: Formatted, break: Boolean): TypeRepr
    Definition Classes
      SplainFormatting
73.  def showFuncParams(args: List[String]): String
    Definition Classes
      SplainFormatting
74.  def showRefined(parents: List[String], decls: List[String]): String
    Definition Classes
      SplainFormatting
75.  def showTuple(args: List[String]): String
    Definition Classes
      SplainFormatting
76.  def showType(tpe: Global.Type): String
    Definition Classes
      SplainFormatting
77.  def showTypeApply(cons: String, args: 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
78.  def showTypeBreakL(tpe: Global.Type): List[String]
    Definition Classes
      SplainFormatting
79.  val specialFormatters: List[Analyzer.SpecialFormatter]
    Definition Classes
      SplainFormatting
80.  def splainFoundReqMsg(found: Global.Type, req: Global.Type): String
81.  def splitChains(errors: List[Analyzer.ImplicitError]): List[List[Analyzer.ImplicitError]]
    Definition Classes
      SplainFormatting
82.  def stripModules(path: List[String], name: String): (Option[Int]) => String
    Definition Classes
      SplainFormatting
83.  def stripType(tpe: Global.Type): (List[String], String)
    Definition Classes
      SplainFormatting
84.  def symbolPath(sym: Global.Symbol): List[String]
    Definition Classes
      SplainFormatting
85.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
86.  def toString(): String
    Definition Classes
      AnyRef → Any
87.  def truncateDecls(decls: List[Formatted]): Boolean
    Definition Classes
      SplainFormatting
88.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
89.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
90.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()
91.  def wrapParens(expr: String, top: Boolean): String
    Definition Classes
      SplainFormatting
92.  def wrapParensRepr(tpe: TypeRepr, top: Boolean): TypeRepr
    Definition Classes
      SplainFormatting
93.  object ByNameFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters
94.  object FunctionFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters
95.  object Refined
    Definition Classes
      SplainFormatters
96.  object RefinedFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters
97.  object TupleFormatter extends Analyzer.SpecialFormatter
    Definition Classes
      SplainFormatters

### Deprecated Value Members

1.  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