trait SplainDiagnostics extends SplainFormatting
- Alphabetic
- By Inheritance
- SplainDiagnostics
- SplainFormatting
- SplainFormatters
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- trait SpecialFormatter extends AnyRef
- Definition Classes
- SplainFormatters
- case class TypeParts(sym: Global.Symbol, tt: Global.Type) extends Product with Serializable
- Definition Classes
- SplainFormatting
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- 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
- 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()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bracket[A](params: List[A]): String
- Definition Classes
- SplainFormatting
- 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
- val breakInfixLength: Int
- Definition Classes
- SplainFormatting
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ctorNames(tpe: Global.Type): List[String]
- Definition Classes
- SplainFormatting
- def dealias(tpe: Global.Type): Global.Type
- Definition Classes
- SplainFormatting
- def decideBreak(flat: FlatType, broken: => BrokenType): TypeRepr
- Definition Classes
- SplainFormatting
- def deepestLevel(chain: List[Analyzer.ImplicitError]): Int
- Definition Classes
- SplainFormatting
- 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
- 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
- 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
- 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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def extractArgs(tpe: Global.Type): collection.immutable.List[Global.Type]
- Definition Classes
- SplainFormatting
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- 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
- def formatAuxSimple(tpe: Global.Type): (List[String], String)
- Definition Classes
- SplainFormatting
- def formatDiff(left: Global.Type, right: Global.Type, top: Boolean): Formatted
- Definition Classes
- SplainFormatting
- val formatDiffCache: FormatCache[(Global.Type, Global.Type, Boolean), Formatted]
- Definition Classes
- SplainFormatting
- def formatDiffImpl(found: Global.Type, req: Global.Type, top: Boolean): Formatted
- Definition Classes
- SplainFormatting
- def formatDiffInfix(left: Global.Type, right: Global.Type, top: Boolean): Formatted
- Definition Classes
- SplainFormatting
- def formatDiffSimple(left: Global.Type, right: Global.Type): Formatted
- Definition Classes
- SplainFormatting
- def formatDiffSpecial(left: Global.Type, right: Global.Type, top: Boolean): Option[Formatted]
- Definition Classes
- SplainFormatting
- def formatFunction(args: List[String]): String
- Definition Classes
- SplainFormatting
- def formatImplicitChain(chain: List[Analyzer.ImplicitError]): List[String]
- Definition Classes
- SplainFormatting
- def formatImplicitChainFlat(chain: List[Analyzer.ImplicitError]): List[String]
- Definition Classes
- SplainFormatting
- def formatImplicitChainTreeCompact(chain: List[Analyzer.ImplicitError]): Option[List[String]]
- Definition Classes
- SplainFormatting
- def formatImplicitChainTreeFull(chain: List[Analyzer.ImplicitError]): List[String]
- Definition Classes
- SplainFormatting
- def formatImplicitError(param: Global.Symbol, errors: List[Analyzer.ImplicitError], annotationMsg: String): String
- Definition Classes
- SplainFormatting
- def formatIndentTree(chain: List[Analyzer.ImplicitError], baseIndent: Int): List[String]
- Definition Classes
- SplainFormatting
- def formatInfix[A](path: List[String], simple: String, left: A, right: A, top: Boolean)(rec: (A, Boolean) => Formatted): Formatted
- Definition Classes
- SplainFormatting
- def formatNestedImplicit(err: Analyzer.ImplicitError): (String, List[String], Int)
- Definition Classes
- SplainFormatting
- 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 asf
.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
- def formatNonConfBounds(err: NonconformantBounds): List[String]
- Definition Classes
- SplainFormatting
- def formatNormalSimple(tpe: Global.Type): (List[String], String)
- Definition Classes
- SplainFormatting
- def formatRefinement(sym: Global.Symbol): String
- Definition Classes
- SplainFormatting
- def formatSimpleType(tpe: Global.Type): (List[String], String)
- Definition Classes
- SplainFormatting
- 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
- def formatType(tpe: Global.Type, top: Boolean): Formatted
- Definition Classes
- SplainFormatting → SplainFormatters
- val formatTypeCache: FormatCache[(Global.Type, Boolean), Formatted]
- Definition Classes
- SplainFormatting
- def formatTypeImpl(tpe: Global.Type, top: Boolean): Formatted
- Definition Classes
- SplainFormatting
- def formatWithInfix[A](tpe: Global.Type, args: List[A], top: Boolean)(rec: (A, Boolean) => Formatted): Formatted
- Definition Classes
- SplainFormatting
- 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()
- def formattedDiff(left: Formatted, right: Formatted): String
- Definition Classes
- SplainFormatting
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hideImpError(error: Analyzer.ImplicitError): Boolean
- Definition Classes
- SplainFormatting
- def implicitMessage(param: Global.Symbol, annotationMsg: String): List[String]
- Definition Classes
- SplainFormatting
- def indent(lines: List[String], n: Int = 1, prefix: String = " "): collection.immutable.List[String]
- Definition Classes
- SplainFormatting
- def indentLine(line: String, n: Int = 1, prefix: String = " "): String
- Definition Classes
- SplainFormatting
- def indentTree(tree: List[(String, List[String], Int)], baseIndent: Int): List[String]
- Definition Classes
- SplainFormatting
- def isAux(tpe: Global.Type): Boolean
- Definition Classes
- SplainFormatting
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isRefined(tpe: Global.Type): Boolean
- Definition Classes
- SplainFormatting
- def isSymbolic(tpe: Global.Type): Boolean
- Definition Classes
- SplainFormatting
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def pathPrefix: (List[String]) => String
- Definition Classes
- SplainFormatting
- def qualifiedName(path: List[String], name: String): String
- Definition Classes
- SplainFormatting
- def sanitizePath(path: List[String]): List[String]
- Definition Classes
- SplainFormatting
- def showFormatted(tpe: Formatted): String
- Definition Classes
- SplainFormatting
- def showFormattedL(tpe: Formatted, break: Boolean): TypeRepr
- Definition Classes
- SplainFormatting
- val showFormattedLCache: FormatCache[(Formatted, Boolean), TypeRepr]
- Definition Classes
- SplainFormatting
- def showFormattedLImpl(tpe: Formatted, break: Boolean): TypeRepr
- Definition Classes
- SplainFormatting
- def showFuncParams(args: List[String]): String
- Definition Classes
- SplainFormatting
- def showRefined(parents: List[String], decls: List[String]): String
- Definition Classes
- SplainFormatting
- def showTuple(args: List[String]): String
- Definition Classes
- SplainFormatting
- def showType(tpe: Global.Type): String
- Definition Classes
- SplainFormatting
- 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
- def showTypeBreakL(tpe: Global.Type): List[String]
- Definition Classes
- SplainFormatting
- val specialFormatters: List[Analyzer.SpecialFormatter]
- Definition Classes
- SplainFormatting
- def splainFoundReqMsg(found: Global.Type, req: Global.Type): String
- def splitChains(errors: List[Analyzer.ImplicitError]): List[List[Analyzer.ImplicitError]]
- Definition Classes
- SplainFormatting
- def stripModules(path: List[String], name: String): (Option[Int]) => String
- Definition Classes
- SplainFormatting
- def stripType(tpe: Global.Type): (List[String], String)
- Definition Classes
- SplainFormatting
- def symbolPath(sym: Global.Symbol): List[String]
- Definition Classes
- SplainFormatting
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def truncateDecls(decls: List[Formatted]): Boolean
- Definition Classes
- SplainFormatting
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def wrapParens(expr: String, top: Boolean): String
- Definition Classes
- SplainFormatting
- def wrapParensRepr(tpe: TypeRepr, top: Boolean): TypeRepr
- Definition Classes
- SplainFormatting
- object ByNameFormatter extends Analyzer.SpecialFormatter
- Definition Classes
- SplainFormatters
- object FunctionFormatter extends Analyzer.SpecialFormatter
- Definition Classes
- SplainFormatters
- object Refined
- Definition Classes
- SplainFormatters
- object RefinedFormatter extends Analyzer.SpecialFormatter
- Definition Classes
- SplainFormatters
- object TupleFormatter extends Analyzer.SpecialFormatter
- Definition Classes
- SplainFormatters
Deprecated Value Members
- 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.
The Scala compiler and reflection APIs.