1 package dotty.tools
2 package dotc
3 package reporting
4 package diagnostic
5 
6 import dotc.core._
7 import Contexts.Context
8 import Decorators._
9 import Symbols._
10 import Names._
11 import NameOps._
12 import Types._
13 import util.SourcePosition
14 import config.Settings.Setting
15 import interfaces.Diagnostic.{ERROR, INFO, WARNING}
16 import dotc.parsing.Scanners.Token
17 import dotc.parsing.Tokens
18 import printing.Highlighting._
19 import printing.Formatting
20 import ErrorMessageID._
21 import Denotations.SingleDenotation
22 import dotty.tools.dotc.ast.Trees
23 import dotty.tools.dotc.config.ScalaVersion
24 import dotty.tools.dotc.core.Flags._
25 import dotty.tools.dotc.core.SymDenotations.SymDenotation
26 import scala.util.control.NonFatal
27 
28 object messages {
29 
30   // `MessageContainer`s to be consumed by `Reporter` ---------------------- //
31   class Error(
32     msgFn: => Message,
33     pos: SourcePosition
34   ) extends MessageContainer(msgFn, pos, ERROR)
35 
36   class Warning(
37     msgFn: => Message,
38     pos: SourcePosition
39   ) extends MessageContainer(msgFn, pos, WARNING) {
40     def toError: Error = new Error(msgFn, pos)
41   }
42 
43   class Info(
44     msgFn: => Message,
45     pos: SourcePosition
46   ) extends MessageContainer(msgFn, pos, INFO)
47 
48   abstract class ConditionalWarning(
49     msgFn: => Message,
50     pos: SourcePosition
51   ) extends Warning(msgFn, pos) {
52     def enablingOption(implicit ctx: Context): Setting[Boolean]
53   }
54 
55   class FeatureWarning(
56     msgFn: => Message,
57     pos: SourcePosition
58   ) extends ConditionalWarning(msgFn, pos) {
59     def enablingOption(implicit ctx: Context) = ctx.settings.feature
60   }
61 
62   class UncheckedWarning(
63     msgFn: => Message,
64     pos: SourcePosition
65   ) extends ConditionalWarning(msgFn, pos) {
66     def enablingOption(implicit ctx: Context) = ctx.settings.unchecked
67   }
68 
69   class DeprecationWarning(
70     msgFn: => Message,
71     pos: SourcePosition
72   ) extends ConditionalWarning(msgFn, pos) {
73     def enablingOption(implicit ctx: Context) = ctx.settings.deprecation
74   }
75 
76   class MigrationWarning(
77     msgFn: => Message,
78     pos: SourcePosition
79   ) extends ConditionalWarning(msgFn, pos) {
80     def enablingOption(implicit ctx: Context) = ctx.settings.migration
81   }
82 
83   /**  Messages
84     *  ========
85     *  The role of messages is to provide the necessary details for a simple to
86     *  understand diagnostic event. Each message can be turned into a message
87     *  container (one of the above) by calling the appropriate method on them.
88     *  For instance:
89     *
90     *  ```scala
91     *  EmptyCatchBlock(tree).error(pos)   // res: Error
92     *  EmptyCatchBlock(tree).warning(pos) // res: Warning
93     *  ```
94     */
95   import ast.Trees._
96   import ast.untpd
97   import ast.tpd
98 
99   /** Helper methods for messages */
100   def implicitClassRestrictionsText(implicit ctx: Context) =
101     hl"""|${NoColor("For a full list of restrictions on implicit classes visit")}
102          |${Blue("http://docs.scala-lang.org/overviews/core/implicit-classes.html")}"""
103 
104 
105   // Syntax Errors ---------------------------------------------------------- //
106   abstract class EmptyCatchOrFinallyBlock(tryBody: untpd.Tree, errNo: ErrorMessageID)(implicit ctx: Context)
107   extends Message(EmptyCatchOrFinallyBlockID) {
108     val explanation = {
109       val tryString = tryBody match {
110         case Block(Nil, untpd.EmptyTree) => "{}"
111         case _ => tryBody.show
112       }
113 
114       val code1 =
115         s"""|import scala.util.control.NonFatal
116             |
117             |try $tryString catch {
118             |  case NonFatal(e) => ???
119             |}""".stripMargin
120 
121       val code2 =
122         s"""|try $tryString finally {
123             |  // perform your cleanup here!
124             |}""".stripMargin
125 
126       hl"""|A ${"try"} expression should be followed by some mechanism to handle any exceptions
127            |thrown. Typically a ${"catch"} expression follows the ${"try"} and pattern matches
128            |on any expected exceptions. For example:
129            |
130            |$code1
131            |
132            |It is also possible to follow a ${"try"} immediately by a ${"finally"} - letting the
133            |exception propagate - but still allowing for some clean up in ${"finally"}:
134            |
135            |$code2
136            |
137            |It is recommended to use the ${"NonFatal"} extractor to catch all exceptions as it
138            |correctly handles transfer functions like ${"return"}."""
139     }
140   }
141 
142   case class EmptyCatchBlock(tryBody: untpd.Tree)(implicit ctx: Context)
143   extends EmptyCatchOrFinallyBlock(tryBody, EmptyCatchBlockID) {
144     val kind = "Syntax"
145     val msg =
146       hl"""|The ${"catch"} block does not contain a valid expression, try
147            |adding a case like - `${"case e: Exception =>"}` to the block"""
148   }
149 
150   case class EmptyCatchAndFinallyBlock(tryBody: untpd.Tree)(implicit ctx: Context)
151   extends EmptyCatchOrFinallyBlock(tryBody, EmptyCatchAndFinallyBlockID) {
152     val kind = "Syntax"
153     val msg =
154       hl"""|A ${"try"} without ${"catch"} or ${"finally"} is equivalent to putting
155            |its body in a block; no exceptions are handled."""
156   }
157 
158   case class DeprecatedWithOperator()(implicit ctx: Context)
159   extends Message(DeprecatedWithOperatorID) {
160     val kind = "Syntax"
161     val msg =
162       hl"""${"with"} as a type operator has been deprecated; use `&' instead"""
163     val explanation =
164       hl"""|Dotty introduces intersection types - `&' types. These replace the
165            |use of the ${"with"} keyword. There are a few differences in
166            |semantics between intersection types and using `${"with"}'."""
167   }
168 
169   case class CaseClassMissingParamList(cdef: untpd.TypeDef)(implicit ctx: Context)
170   extends Message(CaseClassMissingParamListID) {
171     val kind = "Syntax"
172     val msg =
173       hl"""|A ${"case class"} must have at least one parameter list"""
174 
175     val explanation =
176       hl"""|${cdef.name} must have at least one parameter list, if you would rather
177            |have a singleton representation of ${cdef.name}, use a "${"case object"}".
178            |Or, add an explicit `()' as a parameter list to ${cdef.name}."""
179   }
180 
181   case class AnonymousFunctionMissingParamType(param: untpd.ValDef,
182                                                args: List[untpd.Tree],
183                                                tree: untpd.Function,
184                                                pt: Type)
185                                               (implicit ctx: Context)
186   extends Message(AnonymousFunctionMissingParamTypeID) {
187     val kind = "Syntax"
188 
189     val msg = {
190       val ofFun =
191         if (MethodType.syntheticParamNames(args.length + 1) contains param.name)
192           i" of expanded function:\n$tree"
193         else
194           ""
195 
196       i"""missing parameter type
197          |
198          |The argument types of an anonymous function must be fully known. (SLS 8.5)
199          |Expected type: $pt
200          |Missing type for parameter ${param.name}$ofFun"""
201     }
202 
203     val explanation =
204       hl"""|Anonymous functions must define a type. For example, if you define a function like this one:
205            |
206            |${"val f = { case x: Int => x + 1 }"}
207            |
208            |Make sure you give it a type of what you expect to match and help the type inference system:
209            |
210            |${"val f: Any => Int = { case x: Int => x + 1 }"} """
211   }
212 
213   case class WildcardOnTypeArgumentNotAllowedOnNew()(implicit ctx: Context)
214   extends Message(WildcardOnTypeArgumentNotAllowedOnNewID) {
215     val kind = "syntax"
216     val msg = "type argument must be fully defined"
217 
218     val code1 =
219       """
220         |object TyperDemo {
221         |  class Team[A]
222         |  val team = new Team[_]
223         |}
224       """.stripMargin
225 
226     val code2 =
227       """
228         |object TyperDemo {
229         |  class Team[A]
230         |  val team = new Team[Int]
231         |}
232       """.stripMargin
233 
234     val explanation =
235       hl"""|Wildcard on arguments is not allowed when declaring a new type.
236            |
237            |Given the following example:
238            |
239            |$code1
240            |
241            |You must complete all the type parameters, for instance:
242            |
243            |$code2 """
244   }
245 
246 
247   // Type Errors ------------------------------------------------------------ //
248   case class DuplicateBind(bind: untpd.Bind, tree: untpd.CaseDef)(implicit ctx: Context)
249   extends Message(DuplicateBindID) {
250     val kind = "Naming"
251     val msg = em"duplicate pattern variable: `${bind.name}`"
252 
253     val explanation = {
254       val pat = tree.pat.show
255       val guard = tree.guard match {
256         case untpd.EmptyTree => ""
257         case guard => s"if ${guard.show}"
258       }
259 
260       val body = tree.body match {
261         case Block(Nil, untpd.EmptyTree) => ""
262         case body => s" ${body.show}"
263       }
264 
265       val caseDef = s"case $pat$guard => $body"
266 
267       hl"""|For each ${"case"} bound variable names have to be unique. In:
268            |
269            |$caseDef
270            |
271            |`${bind.name}` is not unique. Rename one of the bound variables!"""
272     }
273   }
274 
275   case class MissingIdent(tree: untpd.Ident, treeKind: String, name: String)(implicit ctx: Context)
276   extends Message(MissingIdentID) {
277     val kind = "Unbound Identifier"
278     val msg = em"not found: $treeKind$name"
279 
280     val explanation = {
281       hl"""|The identifier for `$treeKind$name` is not bound, that is,
282            |no declaration for this identifier can be found.
283            |That can happen for instance if $name or its declaration has either been
284            |misspelt, or if you're forgetting an import"""
285     }
286   }
287 
288   case class TypeMismatch(found: Type, expected: Type, whyNoMatch: String = "", implicitFailure: String = "")(implicit ctx: Context)
289   extends Message(TypeMismatchID) {
290     val kind = "Type Mismatch"
291     val msg = {
292       val (where, printCtx) = Formatting.disambiguateTypes(found, expected)
293       val (fnd, exp) = Formatting.typeDiff(found, expected)(printCtx)
294       s"""|found:    $fnd
295           |required: $exp
296           |
297           |$where""".stripMargin + whyNoMatch + implicitFailure
298     }
299 
300     val explanation = ""
301   }
302 
303   case class NotAMember(site: Type, name: Name, selected: String)(implicit ctx: Context)
304   extends Message(NotAMemberID) {
305     val kind = "Member Not Found"
306 
307     //println(i"site = $site, decls = ${site.decls}, source = ${site.widen.typeSymbol.sourceFile}") //DEBUG
308 
309     val msg = {
310       import core.Flags._
311       val maxDist = 3
312       val decls = site.decls.toList.flatMap { sym =>
313         if (sym.flagsUNSAFE.is(Synthetic | PrivateOrLocal) || sym.isConstructor) Nil
314         else List((sym.name.show, sym))
315       }
316 
317       // Calculate Levenshtein distance
318       def distance(n1: Iterable[_], n2: Iterable[_]) =
319         n1.foldLeft(List.range(0, n2.size)) { (prev, x) =>
320           (prev zip prev.tail zip n2).scanLeft(prev.head + 1) {
321             case (h, ((d, v), y)) => math.min(
322               math.min(h + 1, v + 1),
323               if (x == y) d else d + 1
324             )
325           }
326         }.last
327 
328       // Count number of wrong characters
329       def incorrectChars(x: (String, Int, Symbol)): (String, Symbol, Int) = {
330         val (currName, _, sym) = x
331         val matching = name.show.zip(currName).foldLeft(0) {
332           case (acc, (x,y)) => if (x != y) acc + 1 else acc
333         }
334         (currName, sym, matching)
335       }
336 
337       // Get closest match in `site`
338       val closest =
339         decls
340         .map { case (n, sym) => (n, distance(n, name.show), sym) }
341         .collect { case (n, dist, sym) if dist <= maxDist => (n, dist, sym) }
342         .groupBy(_._2).toList
343         .sortBy(_._1)
344         .headOption.map(_._2).getOrElse(Nil)
345         .map(incorrectChars).toList
346         .sortBy(_._3)
347         .take(1).map { case (n, sym, _) => (n, sym) }
348 
349       val siteName = site match {
350         case site: NamedType => site.name.show
351         case site => i"$site"
352       }
353 
354       val closeMember = closest match {
355         case (n, sym) :: Nil => hl""" - did you mean `${s"$siteName.$n"}`?"""
356         case Nil => ""
357         case _ => assert(
358           false,
359           "Could not single out one distinct member to match on input with"
360         )
361       }
362 
363       ex"$selected `$name` is not a member of ${site.widen}$closeMember"
364     }
365 
366     val explanation = ""
367   }
368 
369   case class EarlyDefinitionsNotSupported()(implicit ctx: Context)
370   extends Message(EarlyDefinitionsNotSupportedID) {
371     val kind = "Syntax"
372     val msg = "early definitions are not supported; use trait parameters instead"
373 
374     val explanation = {
375       val code1 =
376         """|trait Logging {
377            |  val f: File
378            |  f.open()
379            |  onExit(f.close())
380            |  def log(msg: String) = f.write(msg)
381            |}
382            |
383            |class B extends Logging {
384            |  val f = new File("log.data") // triggers a NullPointerException
385            |}
386            |
387            |// early definition gets around the NullPointerException
388            |class C extends {
389            |  val f = new File("log.data")
390            |} with Logging""".stripMargin
391 
392       val code2 =
393         """|trait Logging(f: File) {
394            |  f.open()
395            |  onExit(f.close())
396            |  def log(msg: String) = f.write(msg)
397            |}
398            |
399            |class C extends Logging(new File("log.data"))""".stripMargin
400 
401       hl"""|Earlier versions of Scala did not support trait parameters and "early
402            |definitions" (also known as "early initializers") were used as an alternative.
403            |
404            |Example of old syntax:
405            |
406            |$code1
407            |
408            |The above code can now be written as:
409            |
410            |$code2
411            |"""
412     }
413   }
414 
415   case class TopLevelImplicitClass(cdef: untpd.TypeDef)(implicit ctx: Context)
416   extends Message(TopLevelImplicitClassID) {
417     val kind = "Syntax"
418     val msg = hl"""An ${"implicit class"} may not be top-level"""
419 
420     val explanation = {
421       val TypeDef(name, impl @ Template(constr0, parents, self, _)) = cdef
422       val exampleArgs =
423         if(constr0.vparamss.isEmpty) "..."
424         else constr0.vparamss(0).map(_.withMods(untpd.Modifiers()).show).mkString(", ")
425       def defHasBody[T] = impl.body.exists(!_.isEmpty)
426       val exampleBody = if (defHasBody) "{\n ...\n }" else ""
427       hl"""|There may not be any method, member or object in scope with the same name as
428            |the implicit class and a case class automatically gets a companion object with
429            |the same name created by the compiler which would cause a naming conflict if it
430            |were allowed.
431            |
432            |""" + implicitClassRestrictionsText + hl"""|
433            |
434            |To resolve the conflict declare ${cdef.name} inside of an ${"object"} then import the class
435            |from the object at the use site if needed, for example:
436            |
437            |object Implicits {
438            |  implicit class ${cdef.name}($exampleArgs)$exampleBody
439            |}
440            |
441            |// At the use site:
442            |import Implicits.${cdef.name}"""
443     }
444   }
445 
446   case class ImplicitCaseClass(cdef: untpd.TypeDef)(implicit ctx: Context)
447   extends Message(ImplicitCaseClassID) {
448     val kind = "Syntax"
449     val msg = hl"""A ${"case class"} may not be defined as ${"implicit"}"""
450 
451     val explanation =
452       hl"""|implicit classes may not be case classes. Instead use a plain class:
453            |
454            |implicit class ${cdef.name}...
455            |
456            |""" + implicitClassRestrictionsText
457   }
458 
459   case class ImplicitClassPrimaryConstructorArity()(implicit ctx: Context)
460   extends Message(ImplicitClassPrimaryConstructorArityID){
461     val kind = "Syntax"
462     val msg = "Implicit classes must accept exactly one primary constructor parameter"
463     val explanation = {
464       val example = "implicit class RichDate(date: java.util.Date)"
465       hl"""Implicit classes may only take one non-implicit argument in their constructor. For example:
466           |
467           | $example
468           |
469           |While it’s possible to create an implicit class with more than one non-implicit argument,
470           |such classes aren’t used during implicit lookup.
471           |""" + implicitClassRestrictionsText
472     }
473   }
474 
475   case class ObjectMayNotHaveSelfType(mdef: untpd.ModuleDef)(implicit ctx: Context)
476   extends Message(ObjectMayNotHaveSelfTypeID) {
477     val kind = "Syntax"
478     val msg = hl"""${"object"}s must not have a self ${"type"}"""
479 
480     val explanation = {
481       val untpd.ModuleDef(name, tmpl) = mdef
482       val ValDef(_, selfTpt, _) = tmpl.self
483       hl"""|${"object"}s must not have a self ${"type"}:
484            |
485            |Consider these alternative solutions:
486            |  - Create a trait or a class instead of an object
487            |  - Let the object extend a trait containing the self type:
488            |
489            |    object $name extends ${selfTpt.show}"""
490     }
491   }
492 
493   case class TupleTooLong(ts: List[untpd.Tree])(implicit ctx: Context)
494   extends Message(TupleTooLongID) {
495     import Definitions.MaxTupleArity
496     val kind = "Syntax"
497     val msg = hl"""A ${"tuple"} cannot have more than ${MaxTupleArity} members"""
498 
499     val explanation = {
500       val members = ts.map(_.showSummary).grouped(MaxTupleArity)
501       val nestedRepresentation = members.map(_.mkString(", ")).mkString(")(")
502       hl"""|This restriction will be removed in the future.
503            |Currently it is possible to use nested tuples when more than $MaxTupleArity are needed, for example:
504            |
505            |((${nestedRepresentation}))"""
506     }
507   }
508 
509   case class RepeatedModifier(modifier: String)(implicit ctx:Context)
510   extends Message(RepeatedModifierID) {
511     val kind = "Syntax"
512     val msg = hl"""repeated modifier $modifier"""
513 
514     val explanation = {
515       val code1 = hl"""private private val Origin = Point(0, 0)"""
516       val code2 = hl"""private final val Origin = Point(0, 0)"""
517       hl"""This happens when you accidentally specify the same modifier twice.
518            |
519            |Example:
520            |
521            |$code1
522            |
523            |instead of
524            |
525            |$code2
526            |
527            |"""
528     }
529   }
530 
531   case class InterpolatedStringError()(implicit ctx:Context)
532   extends Message(InterpolatedStringErrorID) {
533     val kind = "Syntax"
534     val msg = "error in interpolated string: identifier or block expected"
535     val explanation = {
536       val code1 = "s\"$new Point(0, 0)\""
537       val code2 = "s\"${new Point(0, 0)}\""
538       hl"""|This usually happens when you forget to place your expressions inside curly braces.
539            |
540            |$code1
541            |
542            |should be written as
543            |
544            |$code2
545            |"""
546     }
547   }
548 
549   case class UnboundPlaceholderParameter()(implicit ctx:Context)
550   extends Message(UnboundPlaceholderParameterID) {
551     val kind = "Syntax"
552     val msg = "unbound placeholder parameter; incorrect use of `_`"
553     val explanation =
554       hl"""|The `_` placeholder syntax was used where it could not be bound.
555            |Consider explicitly writing the variable binding.
556            |
557            |This can be done by replacing `_` with a variable (eg. `x`)
558            |and adding ${"x =>"} where applicable.
559            |
560            |Example before:
561            |
562            |${"{ _ }"}
563            |
564            |Example after:
565            |
566            |${"x => { x }"}
567            |
568            |Another common occurrence for this error is defining a val with `_`:
569            |
570            |${"val a = _"}
571            |
572            |But this val definition isn't very useful, it can never be assigned
573            |another value. And thus will always remain uninitialized.
574            |Consider replacing the ${"val"} with ${"var"}:
575            |
576            |${"var a = _"}
577            |
578            |Note that this use of `_` is not placeholder syntax,
579            |but an uninitialized var definition.
580            |Only fields can be left uninitialized in this manner; local variables
581            |must be initialized.
582            |"""
583   }
584 
585   case class IllegalStartSimpleExpr(illegalToken: String)(implicit ctx: Context)
586   extends Message(IllegalStartSimpleExprID) {
587     val kind = "Syntax"
588     val msg = "illegal start of simple expression"
589     val explanation = {
590       hl"""|An expression yields a value. In the case of the simple expression, this error
591            |commonly occurs when there's a missing parenthesis or brace. The reason being
592            |that a simple expression is one of the following:
593            |
594            |- Block
595            |- Expression in parenthesis
596            |- Identifier
597            |- Object creation
598            |- Literal
599            |
600            |which cannot start with ${Red(illegalToken)}."""
601     }
602   }
603 
604   case class MissingReturnType()(implicit ctx:Context)
605   extends Message(MissingReturnTypeID) {
606     val kind = "Syntax"
607     val msg = "missing return type"
608     val explanation =
609       hl"""|An abstract declaration must have a return type. For example:
610            |
611            |trait Shape {
612            |  def area: Double // abstract declaration returning a ${"Double"}
613            |}"""
614   }
615 
616   case class MissingReturnTypeWithReturnStatement(method: Symbol)(implicit ctx: Context)
617   extends Message(MissingReturnTypeWithReturnStatementID) {
618     val kind = "Syntax"
619     val msg = hl"$method has a return statement; it needs a result type"
620     val explanation =
621       hl"""|If a method contains a ${"return"} statement, it must have an
622            |explicit return type. For example:
623            |
624            |${"def good: Int /* explicit return type */ = return 1"}"""
625   }
626 
627   case class YieldOrDoExpectedInForComprehension()(implicit ctx: Context)
628   extends Message(YieldOrDoExpectedInForComprehensionID) {
629     val kind = "Syntax"
630     val msg = hl"${"yield"} or ${"do"} expected"
631 
632     val explanation =
633       hl"""|When the enumerators in a for comprehension are not placed in parentheses or
634            |braces, a ${"do"} or ${"yield"} statement is required after the enumerators
635            |section of the comprehension.
636            |
637            |You can save some keystrokes by omitting the parentheses and writing
638            |
639            |${"val numbers = for i <- 1 to 3 yield i"}
640            |
641            |  instead of
642            |
643            |${"val numbers = for (i <- 1 to 3) yield i"}
644            |
645            |but the ${"yield"} keyword is still required.
646            |
647            |For comprehensions that simply perform a side effect without yielding anything
648            |can also be written without parentheses but a ${"do"} keyword has to be
649            |included. For example,
650            |
651            |${"for (i <- 1 to 3) println(i)"}
652            |
653            |can be written as
654            |
655            |${"for i <- 1 to 3 do println(i) // notice the 'do' keyword"}
656            |
657            |"""
658   }
659 
660   case class ProperDefinitionNotFound()(implicit ctx: Context)
661   extends Message(ProperDefinitionNotFoundID) {
662     val kind = "Definition Not Found"
663     val msg = hl"""Proper definition was not found in ${"@usecase"}"""
664 
665     val explanation = {
666       val noUsecase =
667         "def map[B, That](f: A => B)(implicit bf: CanBuildFrom[List[A], B, That]): That"
668 
669       val usecase =
670         """|/** Map from List[A] => List[B]
671            |  *
672            |  * @usecase def map[B](f: A => B): List[B]
673            |  */
674            |def map[B, That](f: A => B)(implicit bf: CanBuildFrom[List[A], B, That]): That
675            |""".stripMargin
676 
677       hl"""|Usecases are only supported for ${"def"}s. They exist because with Scala's
678            |advanced type-system, we sometimes end up with seemingly scary signatures.
679            |The usage of these methods, however, needs not be - for instance the `map`
680            |function
681            |
682            |${"List(1, 2, 3).map(2 * _) // res: List(2, 4, 6)"}
683            |
684            |is easy to understand and use - but has a rather bulky signature:
685            |
686            |$noUsecase
687            |
688            |to mitigate this and ease the usage of such functions we have the ${"@usecase"}
689            |annotation for docstrings. Which can be used like this:
690            |
691            |$usecase
692            |
693            |When creating the docs, the signature of the method is substituted by the
694            |usecase and the compiler makes sure that it is valid. Because of this, you're
695            |only allowed to use ${"def"}s when defining usecases."""
696     }
697   }
698 
699   case class ByNameParameterNotSupported()(implicit ctx: Context)
700   extends Message(ByNameParameterNotSupportedID) {
701     val kind = "Syntax"
702     val msg = "By-name parameter type not allowed here."
703 
704     val explanation =
705       hl"""|By-name parameters act like functions that are only evaluated when referenced,
706            |allowing for lazy evaluation of a parameter.
707            |
708            |An example of using a by-name parameter would look like:
709            |${"def func(f: => Boolean) = f // 'f' is evaluated when referenced within the function"}
710            |
711            |An example of the syntax of passing an actual function as a parameter:
712            |${"def func(f: (Boolean => Boolean)) = f(true)"}
713            |
714            |or:
715            |
716            |${"def func(f: Boolean => Boolean) = f(true)"}
717            |
718            |And the usage could be as such:
719            |${"func(bool => // do something...)"}
720            |"""
721   }
722 
723   case class WrongNumberOfTypeArgs(fntpe: Type, expectedArgs: List[ParamInfo], actual: List[untpd.Tree])(implicit ctx: Context)
724   extends Message(WrongNumberOfTypeArgsID) {
725     val kind = "Syntax"
726 
727     private val expectedCount = expectedArgs.length
728     private val actualCount = actual.length
729     private val msgPrefix = if (actualCount > expectedCount) "Too many" else "Not enough"
730 
731     //TODO add def simpleParamName to ParamInfo
732     private val expectedArgString = expectedArgs
733       .map(_.paramName.unexpandedName.show)
734       .mkString("[", ", ", "]")
735 
736     private val actualArgString = actual.map(_.show).mkString("[", ", ", "]")
737 
738     private val prettyName =
739       try
740         fntpe.termSymbol match {
741           case NoSymbol => fntpe.show
742           case symbol   => symbol.showFullName
743         }
744       catch {
745         case NonFatal(ex) => fntpe.show
746       }
747 
748     val msg =
749       hl"""|${NoColor(msgPrefix)} type arguments for $prettyName$expectedArgString
750            |expected: $expectedArgString
751            |actual:   ${NoColor(actualArgString)}""".stripMargin
752 
753     val explanation = {
754       val tooManyTypeParams =
755         """|val tuple2: (Int, String) = (1, "one")
756            |val list: List[(Int, String)] = List(tuple2)""".stripMargin
757 
758       if (actualCount > expectedCount)
759         hl"""|You have supplied too many type parameters
760              |
761              |For example List takes a single type parameter (List[A])
762              |If you need to hold more types in a list then you need to combine them
763              |into another data type that can contain the number of types you need,
764              |In this example one solution would be to use a Tuple:
765              |
766              |${tooManyTypeParams}"""
767       else
768         hl"""|You have not supplied enough type parameters
769              |If you specify one type parameter then you need to specify every type parameter."""
770     }
771   }
772 
773   case class IllegalVariableInPatternAlternative()(implicit ctx: Context)
774   extends Message(IllegalVariableInPatternAlternativeID) {
775     val kind = "Syntax"
776     val msg = "Variables are not allowed in alternative patterns"
777     val explanation = {
778       val varInAlternative =
779         """|def g(pair: (Int,Int)): Int = pair match {
780            |  case (1, n) | (n, 1) => n
781            |  case _ => 0
782            |}""".stripMargin
783 
784       val fixedVarInAlternative =
785         """|def g(pair: (Int,Int)): Int = pair match {
786            |  case (1, n) => n
787            |  case (n, 1) => n
788            |  case _ => 0
789            |}""".stripMargin
790 
791       hl"""|Variables are not allowed within alternate pattern matches. You can workaround
792            |this issue by adding additional cases for each alternative. For example, the
793            |illegal function:
794            |
795            |$varInAlternative
796            |could be implemented by moving each alternative into a separate case:
797            |
798            |$fixedVarInAlternative"""
799     }
800   }
801 
802   case class IdentifierExpected(identifier: String)(implicit ctx: Context)
803   extends Message(IdentifierExpectedID) {
804     val kind = "Syntax"
805     val msg = "identifier expected"
806     val explanation = {
807       val wrongIdentifier = s"def foo: $identifier = {...}"
808       val validIdentifier = s"def foo = {...}"
809       hl"""|An identifier expected, but `$identifier` found. This could be because
810            |`$identifier` is not a valid identifier. As a workaround, the compiler could
811            |infer the type for you. For example, instead of:
812            |
813            |$wrongIdentifier
814            |
815            |Write your code like:
816            |
817            |$validIdentifier
818            |
819            |"""
820     }
821   }
822 
823   case class AuxConstructorNeedsNonImplicitParameter()(implicit ctx:Context)
824   extends Message(AuxConstructorNeedsNonImplicitParameterID) {
825     val kind = "Syntax"
826     val msg = "auxiliary constructor needs non-implicit parameter list"
827     val explanation =
828       hl"""|Only the primary constructor is allowed an ${"implicit"} parameter list;
829            |auxiliary constructors need non-implicit parameter lists. When a primary
830            |constructor has an implicit argslist, auxiliary constructors that call the
831            |primary constructor must specify the implicit value.
832            |
833            |To resolve this issue check for:
834            | - forgotten parenthesis on ${"this"} (${"def this() = { ... }"})
835            | - auxiliary constructors specify the implicit value
836            |"""
837   }
838 
839   case class IncorrectRepeatedParameterSyntax()(implicit ctx: Context)
840   extends Message(IncorrectRepeatedParameterSyntaxID) {
841     val kind = "Syntax"
842     val msg = "'*' expected"
843     val explanation =
844       hl"""|Expected * in '_*' operator.
845            |
846            |The '_*' operator can be used to supply a sequence-based argument
847            |to a method with a variable-length or repeated parameter. It is used
848            |to expand the sequence to a variable number of arguments, such that:
849            |func(args: _*) would expand to func(arg1, arg2 ... argN).
850            |
851            |Below is an example of how a method with a variable-length
852            |parameter can be declared and used.
853            |
854            |Squares the arguments of a variable-length parameter:
855            |${"def square(args: Int*) = args.map(a => a * a)"}
856            |
857            |Usage:
858            |${"square(1, 2, 3) // res0: List[Int] = List(1, 4, 9)"}
859            |
860            |Secondary Usage with '_*':
861            |${"val ints = List(2, 3, 4)  // ints: List[Int] = List(2, 3, 4)"}
862            |${"square(ints: _*)          // res1: List[Int] = List(4, 9, 16)"}
863            |""".stripMargin
864   }
865 
866   case class IllegalLiteral()(implicit ctx: Context)
867   extends Message(IllegalLiteralID) {
868     val kind = "Syntax"
869     val msg = "illegal literal"
870     val explanation =
871       hl"""|Available literals can be divided into several groups:
872            | - Integer literals: 0, 21, 0xFFFFFFFF, -42L
873            | - Floating Point Literals: 0.0, 1e30f, 3.14159f, 1.0e-100, .1
874            | - Boolean Literals: true, false
875            | - Character Literals: 'a', '\u0041', '\n'
876            | - String Literals: "Hello, World!"
877            | - null
878            |"""
879   }
880 
881   case class PatternMatchExhaustivity(uncovered: String)(implicit ctx: Context)
882   extends Message(PatternMatchExhaustivityID) {
883     val kind = "Pattern Match Exhaustivity"
884     val msg =
885       hl"""|match may not be exhaustive.
886            |
887            |It would fail on: $uncovered"""
888 
889 
890     val explanation =
891       hl"""|There are several ways to make the match exhaustive:
892            | - Add missing cases as shown in the warning
893            | - If an extractor always return 'Some(...)', write 'Some[X]' for its return type
894            | - Add a 'case _ => ...' at the end to match all remaining cases
895            |"""
896   }
897 
898   case class UncheckedTypePattern(msg: String)(implicit ctx: Context)
899     extends Message(UncheckedTypePatternID) {
900     val kind = "Pattern Match Exhaustivity"
901 
902     val explanation =
903       hl"""|Type arguments and type refinements are erased during compile time, thus it's
904            |impossible to check them at run-time.
905            |
906            |You can either replace the type arguments by `_` or use `@unchecked`.
907            |"""
908   }
909 
910   case class MatchCaseUnreachable()(implicit ctx: Context)
911   extends Message(MatchCaseUnreachableID) {
912     val kind = s"""Match ${hl"case"} Unreachable"""
913     val msg = "unreachable code"
914     val explanation = ""
915   }
916 
917   case class SeqWildcardPatternPos()(implicit ctx: Context)
918   extends Message(SeqWildcardPatternPosID) {
919     val kind = "Syntax"
920     val msg = "`_*' can be used only for last argument"
921     val explanation = {
922       val code =
923         """def sumOfTheFirstTwo(list: List[Int]): Int = list match {
924           |  case List(first, second, x:_*) => first + second
925           |  case _ => 0
926           |}"""
927       hl"""|Sequence wildcard pattern is expected at the end of an argument list.
928            |This pattern matches any remaining elements in a sequence.
929            |Consider the following example:
930            |
931            |$code
932            |
933            |Calling:
934            |
935            |${"sumOfTheFirstTwo(List(1, 2, 10))"}
936            |
937            |would give 3 as a result"""
938     }
939   }
940 
941   case class IllegalStartOfSimplePattern()(implicit ctx: Context)
942   extends Message(IllegalStartOfSimplePatternID) {
943     val kind = "Syntax"
944     val msg = "illegal start of simple pattern"
945     val explanation = {
946       val sipCode =
947         """def f(x: Int, y: Int) = x match {
948           |  case `y` => ...
949           |}
950         """
951       val constructorPatternsCode =
952         """case class Person(name: String, age: Int)
953           |
954           |def test(p: Person) = p match {
955           |  case Person(name, age) => ...
956           |}
957         """
958       val tupplePatternsCode =
959         """def swap(tuple: (String, Int)): (Int, String) = tuple match {
960           |  case (text, number) => (number, text)
961           |}
962         """
963       val patternSequencesCode =
964         """def getSecondValue(list: List[Int]): Int = list match {
965           |  case List(_, second, x:_*) => second
966           |  case _ => 0
967           |}"""
968       hl"""|Simple patterns can be divided into several groups:
969            |- Variable Patterns: ${"case x => ..."}.
970            |  It matches any value, and binds the variable name to that value.
971            |  A special case is the wild-card pattern _ which is treated as if it was a fresh
972            |  variable on each occurrence.
973            |
974            |- Typed Patterns: ${"case x: Int => ..."} or ${"case _: Int => ..."}.
975            |  This pattern matches any value matched by the specified type; it binds the variable
976            |  name to that value.
977            |
978            |- Literal Patterns: ${"case 123 => ..."} or ${"case 'A' => ..."}.
979            |  This type of pattern matches any value that is equal to the specified literal.
980            |
981            |- Stable Identifier Patterns:
982            |
983            |  $sipCode
984            |
985            |  the match succeeds only if the x argument and the y argument of f are equal.
986            |
987            |- Constructor Patterns:
988            |
989            |  $constructorPatternsCode
990            |
991            |  The pattern binds all object's fields to the variable names (name and age, in this
992            |  case).
993            |
994            |- Tuple Patterns:
995            |
996            |  $tupplePatternsCode
997            |
998            |  Calling:
999            |
1000            |  ${"""swap(("Luftballons", 99)"""}
1001            |
1002            |  would give ${"""(99, "Luftballons")"""} as a result.
1003            |
1004            |- Pattern Sequences:
1005            |
1006            |  $patternSequencesCode
1007            |
1008            |  Calling:
1009            |
1010            |  ${"getSecondValue(List(1, 10, 2))"}
1011            |
1012            |  would give 10 as a result.
1013            |  This pattern is possible because a companion object for the List class has a method
1014            |  with the following signature:
1015            |
1016            |  ${"def unapplySeq[A](x: List[A]): Some[List[A]]"}
1017            |"""
1018     }
1019   }
1020 
1021   case class PkgDuplicateSymbol(existing: Symbol)(implicit ctx: Context)
1022   extends Message(PkgDuplicateSymbolID) {
1023     val kind = "Duplicate Symbol"
1024     val msg = hl"trying to define package with same name as `$existing`"
1025     val explanation = ""
1026   }
1027 
1028   case class ExistentialTypesNoLongerSupported()(implicit ctx: Context)
1029   extends Message(ExistentialTypesNoLongerSupportedID) {
1030     val kind = "Syntax"
1031     val msg =
1032       hl"""|Existential types are no longer supported -
1033            |use a wildcard or dependent type instead"""
1034     val explanation =
1035       hl"""|The use of existential types is no longer supported.
1036            |
1037            |You should use a wildcard or dependent type instead.
1038            |
1039            |For example:
1040            |
1041            |Instead of using ${"forSome"} to specify a type variable
1042            |
1043            |${"List[T forSome { type T }]"}
1044            |
1045            |Try using a wildcard type variable
1046            |
1047            |${"List[_]"}
1048            |"""
1049   }
1050 
1051   case class UnboundWildcardType()(implicit ctx: Context)
1052   extends Message(UnboundWildcardTypeID) {
1053     val kind = "Syntax"
1054     val msg = "Unbound wildcard type"
1055     val explanation =
1056       hl"""|The wildcard type syntax (`_`) was used where it could not be bound.
1057            |Replace `_` with a non-wildcard type. If the type doesn't matter,
1058            |try replacing `_` with ${"Any"}.
1059            |
1060            |Examples:
1061            |
1062            |- Parameter lists
1063            |
1064            |  Instead of:
1065            |    ${"def foo(x: _) = ..."}
1066            |
1067            |  Use ${"Any"} if the type doesn't matter:
1068            |    ${"def foo(x: Any) = ..."}
1069            |
1070            |- Type arguments
1071            |
1072            |  Instead of:
1073            |    ${"val foo = List[_](1, 2)"}
1074            |
1075            |  Use:
1076            |    ${"val foo = List[Int](1, 2)"}
1077            |
1078            |- Type bounds
1079            |
1080            |  Instead of:
1081            |    ${"def foo[T <: _](x: T) = ..."}
1082            |
1083            |  Remove the bounds if the type doesn't matter:
1084            |    ${"def foo[T](x: T) = ..."}
1085            |
1086            |- ${"val"} and ${"def"} types
1087            |
1088            |  Instead of:
1089            |    ${"val foo: _ = 3"}
1090            |
1091            |  Use:
1092            |    ${"val foo: Int = 3"}
1093            |"""
1094   }
1095 
1096   case class DanglingThisInPath()(implicit ctx: Context) extends Message(DanglingThisInPathID) {
1097     val kind = "Syntax"
1098     val msg = hl"""Expected an additional member selection after the keyword ${"this"}"""
1099 
1100     val contextCode =
1101       """  trait Outer {
1102         |    val member: Int
1103         |    type Member
1104         |    trait Inner {
1105         |      ...
1106         |    }
1107         |  }"""
1108 
1109     val importCode =
1110       """  import Outer.this.member
1111         |  //               ^^^^^^^"""
1112 
1113     val typeCode =
1114       """  type T = Outer.this.Member
1115         |  //                 ^^^^^^^"""
1116 
1117     val explanation =
1118       hl"""|Paths of imports and type selections must not end with the keyword ${"this"}.
1119            |
1120            |Maybe you forgot to select a member of ${"this"}? As an example, in the
1121            |following context:
1122            |${contextCode}
1123            |
1124            |- this is a valid import expression using a path
1125            |${importCode}
1126            |
1127            |- this is a valid type using a path
1128            |${typeCode}
1129            |"""
1130   }
1131 
1132   case class OverridesNothing(member: Symbol)(implicit ctx: Context)
1133   extends Message(OverridesNothingID) {
1134     val kind = "Reference"
1135     val msg = hl"""${member} overrides nothing"""
1136 
1137     val explanation =
1138       hl"""|There must be a field or method with the name `${member.name}` in a super
1139            |class of `${member.owner}` to override it. Did you misspell it?
1140            |Are you extending the right classes?
1141            |"""
1142   }
1143 
1144   case class OverridesNothingButNameExists(member: Symbol, existing: List[Denotations.SingleDenotation])(implicit ctx: Context)
1145   extends Message(OverridesNothingButNameExistsID) {
1146     val kind = "Reference"
1147     val msg = hl"""${member} has a different signature than the overridden declaration"""
1148 
1149     val existingDecl = existing.map(_.showDcl).mkString("  \n")
1150 
1151     val explanation =
1152       hl"""|There must be a non-final field or method with the name `${member.name}` and the
1153            |same parameter list in a super class of `${member.owner}` to override it.
1154            |
1155            |  ${member.showDcl}
1156            |
1157            |The super classes of `${member.owner}` contain the following members
1158            |named `${member.name}`:
1159            |  ${existingDecl}
1160            |"""
1161   }
1162 
1163   case class ForwardReferenceExtendsOverDefinition(value: Symbol, definition: Symbol)(implicit ctx: Context)
1164   extends Message(ForwardReferenceExtendsOverDefinitionID) {
1165     val kind = "Reference"
1166     val msg = hl"`${definition.name}` is a forward reference extending over the definition of `${value.name}`"
1167 
1168     val explanation =
1169       hl"""|`${definition.name}` is used before you define it, and the definition of `${value.name}`
1170            |appears between that use and the definition of `${definition.name}`.
1171            |
1172            |Forward references are allowed only, if there are no value definitions between
1173            |the reference and the referred method definition.
1174            |
1175            |Define `${definition.name}` before it is used,
1176            |or move the definition of `${value.name}` so it does not appear between
1177            |the declaration of `${definition.name}` and its use,
1178            |or define `${value.name}` as lazy.
1179            |""".stripMargin
1180   }
1181 
1182   case class ExpectedTokenButFound(expected: Token, found: Token)(implicit ctx: Context)
1183   extends Message(ExpectedTokenButFoundID) {
1184     val kind = "Syntax"
1185 
1186     private val expectedText =
1187       if (Tokens.isIdentifier(expected)) "an identifier"
1188       else Tokens.showToken(expected)
1189 
1190     private val foundText = Tokens.showToken(found)
1191 
1192     val msg = hl"""${expectedText} expected, but ${foundText} found"""
1193 
1194     private val ifKeyword =
1195       if (Tokens.isIdentifier(expected) && Tokens.isKeyword(found))
1196         s"""
1197            |If you necessarily want to use $foundText as identifier, you may put it in backticks.""".stripMargin
1198       else
1199         ""
1200     val explanation = s"$ifKeyword"
1201   }
1202 
1203   case class MixedLeftAndRightAssociativeOps(op1: Name, op2: Name, op2LeftAssoc: Boolean)(implicit ctx: Context)
1204   extends Message(MixedLeftAndRightAssociativeOpsID) {
1205     val kind = "Syntax"
1206     val op1Asso = if (op2LeftAssoc) "which is right-associative" else "which is left-associative"
1207     val op2Asso = if (op2LeftAssoc) "which is left-associative" else "which is right-associative"
1208     val msg = s"`${op1}` (${op1Asso}) and `${op2}` ($op2Asso) have same precedence and may not be mixed"
1209     val explanation =
1210       s"""|The operators ${op1} and ${op2} are used as infix operators in the same expression,
1211           |but they bind to different sides:
1212           |${op1} is applied to the operand to its ${if (op2LeftAssoc) "right" else "left"}
1213           |${op2} is applied to the operand to its ${if (op2LeftAssoc) "left" else "right"}
1214           |As both have the same precedence the compiler can't decide which to apply first.
1215           |
1216           |You may use parenthesis to make the application order explicit,
1217           |or use method application syntax `operand1.${op1}(operand2)`.
1218           |
1219           |Operators ending in a colon `:` are right-associative. All other operators are left-associative.
1220           |
1221           |Infix operator precedence is determined by the operator's first character. Characters are listed
1222           |below in increasing order of precedence, with characters on the same line having the same precedence.
1223           |  (all letters)
1224           |  |
1225           |  ^
1226           |  &
1227           |  = !
1228           |  < >
1229           |  :
1230           |  + -
1231           |  * / %
1232           |  (all other special characters)
1233           |Operators starting with a letter have lowest precedence, followed by operators starting with `|`, etc.
1234           |""".stripMargin
1235   }
1236 
1237   case class CantInstantiateAbstractClassOrTrait(cls: Symbol, isTrait: Boolean)(implicit ctx: Context)
1238   extends Message(CantInstantiateAbstractClassOrTraitID) {
1239     val kind = "Usage"
1240     private val traitOrAbstract = if (isTrait) hl"a trait" else hl"abstract"
1241     val msg = hl"""${cls.name} is ${traitOrAbstract}; it cannot be instantiated"""
1242     val explanation =
1243       hl"""|Abstract classes and traits need to be extended by a concrete class or object
1244            |to make their functionality accessible.
1245            |
1246            |You may want to create an anonymous class extending ${cls.name} with
1247            |  ${s"class ${cls.name} { }"}
1248            |
1249            |or add a companion object with
1250            |  ${s"object ${cls.name} extends ${cls.name}"}
1251            |
1252            |You need to implement any abstract members in both cases.
1253            |""".stripMargin
1254   }
1255 
1256   case class OverloadedOrRecursiveMethodNeedsResultType(tree: Names.TermName)(implicit ctx: Context)
1257   extends Message(OverloadedOrRecursiveMethodNeedsResultTypeID) {
1258     val kind = "Syntax"
1259     val msg = hl"""overloaded or recursive method ${tree} needs return type"""
1260     val explanation =
1261       hl"""Case 1: ${tree} is overloaded
1262           |If there are multiple methods named `${tree.name}` and at least one definition of
1263           |it calls another, you need to specify the calling method's return type.
1264           |
1265           |Case 2: ${tree} is recursive
1266           |If `${tree.name}` calls itself on any path, you need to specify its return type.
1267           |""".stripMargin
1268   }
1269 
1270   case class RecursiveValueNeedsResultType(tree: Names.TermName)(implicit ctx: Context)
1271   extends Message(RecursiveValueNeedsResultTypeID) {
1272     val kind = "Syntax"
1273     val msg = hl"""recursive value ${tree.name} needs type"""
1274     val explanation =
1275       hl"""The definition of `${tree.name}` is recursive and you need to specify its type.
1276           |""".stripMargin
1277   }
1278 
1279   case class CyclicReferenceInvolving(denot: SymDenotation)(implicit ctx: Context)
1280   extends Message(CyclicReferenceInvolvingID) {
1281     val kind = "Syntax"
1282     val msg = hl"""cyclic reference involving $denot"""
1283     val explanation =
1284       hl"""|$denot is declared as part of a cycle which makes it impossible for the
1285            |compiler to decide upon ${denot.name}'s type.
1286            |""".stripMargin
1287   }
1288 
1289   case class CyclicReferenceInvolvingImplicit(cycleSym: Symbol)(implicit ctx: Context)
1290   extends Message(CyclicReferenceInvolvingImplicitID) {
1291     val kind = "Syntax"
1292     val msg = hl"""cyclic reference involving implicit $cycleSym"""
1293     val explanation =
1294       hl"""|This happens when the right hand-side of $cycleSym's definition involves an implicit search.
1295            |To avoid this error, give `${cycleSym.name}` an explicit type.
1296            |""".stripMargin
1297   }
1298 
1299   case class SuperQualMustBeParent(qual: untpd.Ident, cls: Symbols.ClassSymbol)(implicit ctx: Context)
1300   extends Message(SuperQualMustBeParentID) {
1301 
1302     val msg = hl"""|$qual does not name a parent of $cls"""
1303     val kind = "Reference"
1304 
1305     private val parents: Seq[String] = (cls.info.parents map (_.typeSymbol.name.show)).sorted
1306 
1307     val explanation =
1308       hl"""|When a qualifier ${"T"} is used in a ${"super"} prefix of the form ${"C.super[T]"},
1309            |${"T"} must be a parent type of ${"C"}.
1310            |
1311            |In this case, the parents of $cls are:
1312            |${parents.mkString("  - ", "\n  - ", "")}
1313            |""".stripMargin
1314   }
1315 
1316   case class VarArgsParamMustComeLast()(implicit ctx: Context)
1317   extends Message(IncorrectRepeatedParameterSyntaxID) {
1318     val msg = "varargs parameter must come last"
1319     val kind = "Syntax"
1320     val explanation =
1321       hl"""|The varargs field must be the last field in the method signature.
1322            |Attempting to define a field in a method signature after a varargs field is an error.
1323            |"""
1324   }
1325 
1326   case class AmbiguousImport(name: Names.Name, newPrec: Int, prevPrec: Int, prevCtx: Context)(implicit ctx: Context)
1327     extends Message(AmbiguousImportID) {
1328 
1329     import typer.Typer.BindingPrec
1330 
1331     /** A string which explains how something was bound; Depending on `prec` this is either
1332       *      imported by <tree>
1333       *  or  defined in <symbol>
1334       */
1335     private def bindingString(prec: Int, whereFound: Context, qualifier: String = "") = {
1336       val howVisible = prec match {
1337         case BindingPrec.definition => "defined"
1338         case BindingPrec.namedImport => "imported by name"
1339         case BindingPrec.wildImport => "imported"
1340         case BindingPrec.packageClause => "found"
1341       }
1342       if (BindingPrec.isImportPrec(prec)) {
1343         ex"""$howVisible$qualifier by ${hl"${whereFound.importInfo}"}"""
1344       } else
1345         ex"""$howVisible$qualifier in ${hl"${whereFound.owner}"}"""
1346     }
1347 
1348 
1349     val msg =
1350       i"""|reference to `${hl"$name"}` is ambiguous
1351           |it is both ${bindingString(newPrec, ctx)}
1352           |and ${bindingString(prevPrec, prevCtx, " subsequently")}"""
1353 
1354     val kind = "Reference"
1355 
1356     val explanation =
1357       hl"""|The compiler can't decide which of the possible choices you
1358            |are referencing with $name.
1359            |Note:
1360            |- Definitions take precedence over imports
1361            |- Named imports take precedence over wildcard imports
1362            |- You may replace a name when imported using
1363            |  ${"import"} scala.{ $name => ${name.show + "Tick"} }
1364            |"""
1365   }
1366 
1367   case class MethodDoesNotTakeParameters(tree: tpd.Tree, methPartType: Types.Type)(err: typer.ErrorReporting.Errors)(implicit ctx: Context)
1368   extends Message(MethodDoesNotTakeParametersId) {
1369     private val more = tree match {
1370       case Apply(_, _) => " more"
1371       case _ => ""
1372     }
1373 
1374     val msg = hl"${err.refStr(methPartType)} does not take$more parameters"
1375 
1376     val kind = "Reference"
1377 
1378     private val noParameters = if (methPartType.widenSingleton.isInstanceOf[ExprType])
1379       hl"""|As ${err.refStr(methPartType)} is defined without parenthesis, you may
1380            |not use any at call-site, either.
1381            |"""
1382     else
1383       ""
1384 
1385     val explanation =
1386       s"""|You have specified more parameter lists as defined in the method definition(s).
1387           |$noParameters""".stripMargin
1388 
1389   }
1390 
1391   case class AmbiguousOverload(tree: tpd.Tree, alts: List[SingleDenotation], pt: Type)(
1392     err: typer.ErrorReporting.Errors)(
1393     implicit ctx: Context)
1394   extends Message(AmbiguousOverloadID) {
1395 
1396     private val all = if (alts.length == 2) "both" else "all"
1397     val msg =
1398       s"""|Ambiguous overload. The ${err.overloadedAltsStr(alts)}
1399           |$all match ${err.expectedTypeStr(pt)}""".stripMargin
1400     val kind = "Reference"
1401     val explanation =
1402       hl"""|There are ${alts.length} methods that could be referenced as the compiler knows too little
1403            |about the expected type.
1404            |You may specify the expected type e.g. by
1405            |- assigning it to a value with a specified type, or
1406            |- adding a type ascription as in `${"instance.myMethod: String => Int"}`
1407            |"""
1408   }
1409 
1410   case class ReassignmentToVal(name: Names.Name)(implicit ctx: Context)
1411     extends Message(ReassignmentToValID) {
1412     val kind = "Reference"
1413     val msg = hl"""reassignment to val `$name`"""
1414     val explanation =
1415       hl"""|You can not assign a new value to `$name` as values can't be changed.
1416            |Keep in mind that every statement has a value, so you may e.g. use
1417            |  ${"val"} $name ${"= if (condition) 2 else 5"}
1418            |In case you need a reassignable name, you can declare it as
1419            |variable
1420            |  ${"var"} $name ${"="} ...
1421            |""".stripMargin
1422   }
1423 
1424   case class TypeDoesNotTakeParameters(tpe: Types.Type, params: List[Trees.Tree[Trees.Untyped]])(implicit ctx: Context)
1425     extends Message(TypeDoesNotTakeParametersID) {
1426     val kind = "Reference"
1427     val msg = hl"$tpe does not take type parameters"
1428 
1429     private val ps =
1430       if (params.size == 1) s"a type parameter ${params.head}"
1431       else s"type parameters ${params.map(_.show).mkString(", ")}"
1432 
1433     val explanation =
1434       i"""You specified ${NoColor(ps)} for ${hl"$tpe"}, which is not
1435          |declared to take any.
1436          |"""
1437   }
1438 
1439   case class ParameterizedTypeLacksArguments(psym: Symbol)(implicit ctx: Context)
1440     extends Message(ParameterizedTypeLacksArgumentsID) {
1441     val msg = hl"parameterized $psym lacks argument list"
1442     val kind = "Reference"
1443     val explanation =
1444       hl"""The $psym is declared with non-implicit parameters, you may not leave
1445           |out the parameter list when extending it.
1446           |"""
1447   }
1448 
1449   case class VarValParametersMayNotBeCallByName(name: Names.TermName, mutable: Boolean)(implicit ctx: Context)
1450     extends Message(VarValParametersMayNotBeCallByNameID) {
1451     val msg = s"${if (mutable) "`var'" else "`val'"} parameters may not be call-by-name"
1452     val kind = "Syntax"
1453     val explanation =
1454       hl"""${"var"} and ${"val"} parameters of classes and traits may no be call-by-name. In case you
1455           |want the parameter to be evaluated on demand, consider making it just a parameter
1456           |and a ${"def"} in the class such as
1457           |  ${s"class MyClass(${name}Tick: => String) {"}
1458           |  ${s"  def $name() = ${name}Tick"}
1459           |  ${"}"}
1460           |"""
1461   }
1462 
1463   case class MissingTypeParameterFor(tpe: Type)(implicit ctx: Context)
1464     extends Message(MissingTypeParameterForID) {
1465     val msg = hl"missing type parameter for ${tpe}"
1466     val kind = "Syntax"
1467     val explanation = ""
1468   }
1469 
1470   case class DoesNotConformToBound(tpe: Type, which: String, bound: Type)(
1471     err: typer.ErrorReporting.Errors)(implicit ctx: Context)
1472     extends Message(DoesNotConformToBoundID) {
1473     val msg = hl"Type argument ${tpe} does not conform to $which bound $bound ${err.whyNoMatchStr(tpe, bound)}"
1474     val kind = "Type Mismatch"
1475     val explanation = ""
1476   }
1477 
1478   case class DoesNotConformToSelfType(category: String, selfType: Type, cls: Symbol,
1479                                       otherSelf: Type, relation: String, other: Symbol)(
1480     implicit ctx: Context)
1481     extends Message(DoesNotConformToSelfTypeID) {
1482     val msg = hl"""$category: self type $selfType of $cls does not conform to self type $otherSelf
1483                   |of $relation $other"""
1484     val kind = "Type Mismatch"
1485     val explanation =
1486       hl"""You mixed in $other which requires self type $otherSelf, but $cls has self type
1487           |$selfType and does not inherit from $otherSelf.
1488           |
1489           |Note: Self types are indicated with the notation
1490           |  ${s"class "}$other ${"{ this: "}$otherSelf${" => "}
1491         """
1492   }
1493 
1494   case class DoesNotConformToSelfTypeCantBeInstantiated(tp: Type, selfType: Type)(
1495     implicit ctx: Context)
1496     extends Message(DoesNotConformToSelfTypeCantBeInstantiatedID) {
1497     val msg = hl"""$tp does not conform to its self type $selfType; cannot be instantiated"""
1498     val kind = "Type Mismatch"
1499     val explanation =
1500       hl"""To create an instance of $tp it needs to inherit $selfType in some way.
1501           |
1502           |Note: Self types are indicated with the notation
1503           |  ${s"class "}$tp ${"{ this: "}$selfType${" => "}
1504           |"""
1505   }
1506 
1507   case class AbstractMemberMayNotHaveModifier(sym: Symbol, flag: FlagSet)(
1508     implicit ctx: Context)
1509     extends Message(AbstractMemberMayNotHaveModifierID) {
1510     val msg = hl"""${"abstract"} $sym may not have `$flag' modifier"""
1511     val kind = "Syntax"
1512     val explanation = ""
1513   }
1514 
1515   case class TopLevelCantBeImplicit(sym: Symbol)(
1516     implicit ctx: Context)
1517     extends Message(TopLevelCantBeImplicitID) {
1518     val msg = hl"""${"implicit"} modifier cannot be used for top-level definitions"""
1519     val kind = "Syntax"
1520     val explanation = ""
1521   }
1522 
1523   case class TypesAndTraitsCantBeImplicit(sym: Symbol)(
1524     implicit ctx: Context)
1525     extends Message(TypesAndTraitsCantBeImplicitID) {
1526     val msg = hl"""${"implicit"} modifier cannot be used for types or traits"""
1527     val kind = "Syntax"
1528     val explanation = ""
1529   }
1530 
1531   case class OnlyClassesCanBeAbstract(sym: Symbol)(
1532     implicit ctx: Context)
1533     extends Message(OnlyClassesCanBeAbstractID) {
1534     val msg = hl"""${"abstract"} modifier can be used only for classes; it should be omitted for abstract members"""
1535     val kind = "Syntax"
1536     val explanation = ""
1537   }
1538 
1539   case class AbstractOverrideOnlyInTraits(sym: Symbol)(
1540     implicit ctx: Context)
1541     extends Message(AbstractOverrideOnlyInTraitsID) {
1542     val msg = hl"""${"abstract override"} modifier only allowed for members of traits"""
1543     val kind = "Syntax"
1544     val explanation = ""
1545   }
1546 
1547   case class TraitsMayNotBeFinal(sym: Symbol)(
1548     implicit ctx: Context)
1549     extends Message(TraitsMayNotBeFinalID) {
1550     val msg = hl"""$sym may not be ${"final"}"""
1551     val kind = "Syntax"
1552     val explanation =
1553       "A trait can never be final since it is abstract and must be extended to be useful."
1554   }
1555 
1556   case class NativeMembersMayNotHaveImplementation(sym: Symbol)(
1557     implicit ctx: Context)
1558     extends Message(NativeMembersMayNotHaveImplementationID) {
1559     val msg = hl"""${"@native"} members may not have an implementation"""
1560     val kind = "Syntax"
1561     val explanation = ""
1562   }
1563 
1564   case class OnlyClassesCanHaveDeclaredButUndefinedMembers(sym: Symbol)(
1565     implicit ctx: Context)
1566     extends Message(OnlyClassesCanHaveDeclaredButUndefinedMembersID) {
1567 
1568     private val varNote =
1569       if (sym.is(Mutable)) "Note that variables need to be initialized to be defined."
1570       else ""
1571     val msg = hl"""only classes can have declared but undefined members"""
1572     val kind = "Syntax"
1573     val explanation = s"$varNote"
1574   }
1575 
1576   case class CannotExtendAnyVal(sym: Symbol)(implicit ctx: Context)
1577     extends Message(CannotExtendAnyValID) {
1578     val msg = hl"""$sym cannot extend ${"AnyVal"}"""
1579     val kind = "Syntax"
1580     val explanation =
1581       hl"""Only classes (not traits) are allowed to extend ${"AnyVal"}, but traits may extend
1582           |${"Any"} to become ${Green("\"universal traits\"")} which may only have ${"def"} members.
1583           |Universal traits can be mixed into classes that extend ${"AnyVal"}.
1584           |"""
1585   }
1586 
1587   case class CannotHaveSameNameAs(sym: Symbol, cls: Symbol, reason: CannotHaveSameNameAs.Reason)(implicit ctx: Context)
1588     extends Message(CannotHaveSameNameAsID) {
1589     import CannotHaveSameNameAs._
1590     def reasonMessage: String = reason match {
1591       case CannotBeOverridden => "class definitions cannot be overridden"
1592       case DefinedInSelf(self) =>
1593         s"""cannot define ${sym.showKind} member with the same name as a ${cls.showKind} member in self reference ${self.name}.
1594            |(Note: this can be resolved by using another name)
1595            |""".stripMargin
1596     }
1597 
1598     val msg = hl"""$sym cannot have the same name as ${cls.showLocated} -- """ + reasonMessage
1599     val kind = "Syntax"
1600     val explanation = ""
1601   }
1602   object CannotHaveSameNameAs {
1603     sealed trait Reason
1604     case object CannotBeOverridden extends Reason
1605     case class DefinedInSelf(self: tpd.ValDef) extends Reason
1606   }
1607 
1608   case class ValueClassesMayNotDefineInner(valueClass: Symbol, inner: Symbol)(implicit ctx: Context)
1609     extends Message(ValueClassesMayNotDefineInnerID) {
1610     val msg = hl"""value classes may not define an inner class"""
1611     val kind = "Syntax"
1612     val explanation = ""
1613   }
1614 
1615   case class ValueClassesMayNotDefineNonParameterField(valueClass: Symbol, field: Symbol)(implicit ctx: Context)
1616     extends Message(ValueClassesMayNotDefineNonParameterFieldID) {
1617     val msg = hl"""value classes may not define non-parameter field"""
1618     val kind = "Syntax"
1619     val explanation = ""
1620   }
1621 
1622   case class ValueClassesMayNotDefineASecondaryConstructor(valueClass: Symbol, constructor: Symbol)(implicit ctx: Context)
1623     extends Message(ValueClassesMayNotDefineASecondaryConstructorID) {
1624     val msg = hl"""value classes may not define a secondary constructor"""
1625     val kind = "Syntax"
1626     val explanation = ""
1627   }
1628 
1629   case class ValueClassesMayNotContainInitalization(valueClass: Symbol)(implicit ctx: Context)
1630     extends Message(ValueClassesMayNotContainInitalizationID) {
1631     val msg = hl"""value classes may not contain initialization statements"""
1632     val kind = "Syntax"
1633     val explanation = ""
1634   }
1635 
1636   case class ValueClassesMayNotBeAbstract(valueClass: Symbol)(implicit ctx: Context)
1637     extends Message(ValueClassesMayNotBeAbstractID) {
1638     val msg = hl"""value classes may not be ${"abstract"}"""
1639     val kind = "Syntax"
1640     val explanation = ""
1641   }
1642 
1643   case class ValueClassesMayNotBeContainted(valueClass: Symbol)(implicit ctx: Context)
1644     extends Message(ValueClassesMayNotBeContaintedID) {
1645     private val localOrMember = if (valueClass.owner.isTerm) "local class" else "member of another class"
1646     val msg = s"""value classes may not be a $localOrMember"""
1647     val kind = "Syntax"
1648     val explanation = ""
1649   }
1650 
1651   case class ValueClassesMayNotWrapItself(valueClass: Symbol)(implicit ctx: Context)
1652     extends Message(ValueClassesMayNotWrapItselfID) {
1653     val msg = """a value class may not wrap itself"""
1654     val kind = "Syntax"
1655     val explanation = ""
1656   }
1657 
1658   case class ValueClassParameterMayNotBeAVar(valueClass: Symbol, param: Symbol)(implicit ctx: Context)
1659     extends Message(ValueClassParameterMayNotBeAVarID) {
1660     val msg = hl"""a value class parameter may not be a ${"var"}"""
1661     val kind = "Syntax"
1662     val explanation =
1663       hl"""A value class must have exactly one ${"val"} parameter.
1664           |"""
1665   }
1666 
1667   case class ValueClassNeedsOneValParam(valueClass: Symbol)(implicit ctx: Context)
1668     extends Message(ValueClassNeedsExactlyOneValParamID) {
1669     val msg = hl"""value class needs one ${"val"} parameter"""
1670     val kind = "Syntax"
1671     val explanation = ""
1672   }
1673 
1674   case class OnlyCaseClassOrCaseObjectAllowed()(implicit ctx: Context)
1675     extends Message(OnlyCaseClassOrCaseObjectAllowedID) {
1676     val msg = "only `case class` or `case object` allowed"
1677     val kind = "Syntax"
1678     val explanation = ""
1679   }
1680 
1681   case class ExpectedClassOrObjectDef()(implicit ctx: Context)
1682     extends Message(ExpectedClassOrObjectDefID) {
1683     val kind = "Syntax"
1684     val msg = "expected class or object definition"
1685     val explanation = ""
1686   }
1687 
1688   case class SuperCallsNotAllowedInline(symbol: Symbol)(implicit ctx: Context)
1689     extends Message(SuperCallsNotAllowedInlineID) {
1690     val kind = "Syntax"
1691     val msg = s"super call not allowed in inline $symbol"
1692     val explanation = "Method inlining prohibits calling superclass methods, as it may lead to confusion about which super is being called."
1693   }
1694 
1695   case class ModifiersNotAllowed(flags: FlagSet, printableType: Option[String])(implicit ctx: Context)
1696     extends Message(ModifiersNotAllowedID) {
1697     val kind = "Syntax"
1698     val msg = s"modifier(s) `$flags' not allowed for ${printableType.getOrElse("combination")}"
1699     val explanation = {
1700       val first = "sealed def y: Int = 1"
1701       val second = "sealed lazy class z"
1702       hl"""You tried to use a modifier that is inapplicable for the type of item under modification
1703          |
1704          |  Please see the official Scala Language Specification section on modifiers:
1705          |  https://www.scala-lang.org/files/archive/spec/2.11/05-classes-and-objects.html#modifiers
1706          |
1707          |Consider the following example:
1708          |$first
1709          |In this instance, the modifier 'sealed' is not applicable to the item type 'def' (method)
1710          |$second
1711          |In this instance, the modifier combination is not supported
1712         """
1713     }
1714   }
1715 
1716   case class ImplicitFunctionTypeNeedsNonEmptyParameterList()(implicit ctx: Context)
1717     extends Message(ImplicitFunctionTypeNeedsNonEmptyParameterListID) {
1718     val kind = "Syntax"
1719     val msg = "implicit function type needs non-empty parameter list"
1720     val explanation = {
1721       val code1 = "type Transactional[T] = implicit Transaction => T"
1722       val code2 = "val cl: implicit A => B"
1723       hl"""It is not allowed to leave implicit function parameter list empty.
1724          |Possible ways to define implicit function type:
1725          |
1726          |$code1
1727          |
1728          |or
1729          |
1730          |$code2""".stripMargin
1731     }
1732   }
1733 
1734   case class WrongNumberOfParameters(expected: Int)(implicit ctx: Context)
1735     extends Message(WrongNumberOfParametersID) {
1736     val kind = "Syntax"
1737     val msg = s"wrong number of parameters, expected: $expected"
1738     val explanation = ""
1739   }
1740 
1741   case class DuplicatePrivateProtectedQualifier()(implicit ctx: Context)
1742     extends Message(DuplicatePrivateProtectedQualifierID) {
1743     val kind = "Syntax"
1744     val msg = "duplicate private/protected qualifier"
1745     val explanation =
1746       hl"It is not allowed to combine `private` and `protected` modifiers even if they are qualified to different scopes"
1747   }
1748 
1749   case class ExpectedStartOfTopLevelDefinition()(implicit ctx: Context)
1750     extends Message(ExpectedStartOfTopLevelDefinitionID) {
1751     val kind = "Syntax"
1752     val msg = "expected start of definition"
1753     val explanation =
1754       hl"you have to provide either ${"class"}, ${"trait"}, ${"object"}, or ${"enum"} definitions after qualifiers"
1755   }
1756 
1757   case class NoReturnFromInline(owner: Symbol)(implicit ctx: Context)
1758     extends Message(NoReturnFromInlineID) {
1759     val kind = "Syntax"
1760     val msg = hl"no explicit ${"return"} allowed from inline $owner"
1761     val explanation =
1762       hl"""Methods marked with ${"@inline"} may not use ${"return"} statements.
1763           |Instead, you should rely on the last expression's value being
1764           |returned from a method.
1765           |"""
1766   }
1767 
1768   case class ReturnOutsideMethodDefinition(owner: Symbol)(implicit ctx: Context)
1769     extends Message(ReturnOutsideMethodDefinitionID) {
1770     val kind = "Syntax"
1771     val msg = hl"${"return"} outside method definition"
1772     val explanation =
1773       hl"""You used ${"return"} in ${owner}.
1774           |${"return"} is a keyword and may only be used within method declarations.
1775           |"""
1776   }
1777 
1778   case class ExtendFinalClass(clazz:Symbol, finalClazz: Symbol)(implicit ctx: Context)
1779     extends Message(ExtendFinalClassID) {
1780     val kind = "Syntax"
1781     val msg = hl"$clazz cannot extend ${"final"} $finalClazz"
1782     val explanation =
1783       hl"""A class marked with the ${"final"} keyword cannot be extended"""
1784   }
1785 
1786   case class EnumCaseDefinitionInNonEnumOwner(owner: Symbol)(implicit ctx: Context)
1787     extends Message(EnumCaseDefinitionInNonEnumOwnerID) {
1788       val kind = "Syntax"
1789       val msg = em"case not allowed here, since owner ${owner} is not an ${"enum"} object"
1790       val explanation =
1791         hl"""${"enum"} cases are only allowed within the companion ${"object"} of an ${"enum class"}.
1792             |If you want to create an ${"enum"} case, make sure the corresponding ${"enum class"} exists
1793             |and has the ${"enum"} keyword."""
1794   }
1795 
1796   case class ExpectedTypeBoundOrEquals(found: Token)(implicit ctx: Context)
1797     extends Message(ExpectedTypeBoundOrEqualsID) {
1798     val kind = "Syntax"
1799     val msg = hl"${"="}, ${">:"}, or ${"<:"} expected, but ${Tokens.showToken(found)} found"
1800 
1801     val explanation =
1802       hl"""Type parameters and abstract types may be constrained by a type bound.
1803            |Such type bounds limit the concrete values of the type variables and possibly
1804            |reveal more information about the members of such types.
1805            |
1806            |A lower type bound ${"B >: A"} expresses that the type variable ${"B"}
1807            |refers to a supertype of type ${"A"}.
1808            |
1809            |An upper type bound ${"T <: A"} declares that type variable ${"T"}
1810            |refers to a subtype of type ${"A"}.
1811            |"""
1812   }
1813 
1814   case class ClassAndCompanionNameClash(cls: Symbol, other: Symbol)(implicit ctx: Context)
1815     extends Message(ClassAndCompanionNameClashID) {
1816     val kind = "Naming"
1817     val msg = hl"Name clash: both ${cls.owner} and its companion object defines ${cls.name.stripModuleClassSuffix}"
1818     val explanation = {
1819       val kind = if (cls.owner.is(Flags.Trait)) "trait" else "class"
1820 
1821       hl"""|A $kind and its companion object cannot both define a ${"class"}, ${"trait"} or ${"object"} with the same name:
1822            |  - ${cls.owner} defines ${cls}
1823            |  - ${other.owner} defines ${other}"""
1824       }
1825   }
1826 
1827   case class TailrecNotApplicable(method: Symbol)(implicit ctx: Context)
1828     extends Message(TailrecNotApplicableID) {
1829     val kind = "Syntax"
1830     val msg = hl"TailRec optimisation not applicable, $method is neither ${"private"} nor ${"final"}."
1831     val explanation =
1832       hl"A method annotated ${"@tailrec"} must be declared ${"private"} or ${"final"} so it can't be overridden."
1833   }
1834 
1835   case class FailureToEliminateExistential(tp: Type, tp1: Type, tp2: Type, boundSyms: List[Symbol])(implicit ctx: Context)
1836     extends Message(FailureToEliminateExistentialID) {
1837     val kind = "Compatibility"
1838     val msg = "Failure to eliminate existential type. Proceed at own risk."
1839     val explanation = {
1840       val originalType = ctx.dclsText(boundSyms, "; ").show
1841       hl"""original type    : $tp forSome ${originalType}
1842           |reduces to       : $tp1
1843           |type used instead: $tp2"""
1844     }
1845   }
1846 
1847   case class OnlyFunctionsCanBeFollowedByUnderscore(pt: Type)(implicit ctx: Context)
1848     extends Message(OnlyFunctionsCanBeFollowedByUnderscoreID) {
1849     val kind = "Syntax"
1850     val msg = hl"Not a function: $pt: cannot be followed by ${"_"}"
1851     val explanation =
1852       hl"""The syntax ${"x _"} is no longer supported if ${"x"} is not a function.
1853           |To convert to a function value, you need to explicitly write ${"() => x"}"""
1854   }
1855 
1856   case class MissingEmptyArgumentList(method: Symbol)(implicit ctx: Context)
1857     extends Message(MissingEmptyArgumentListID) {
1858     val kind = "Syntax"
1859     val msg = hl"$method must be called with ${"()"} argument"
1860     val explanation = {
1861       val codeExample =
1862         """def next(): T = ...
1863           |next     // is expanded to next()"""
1864 
1865       hl"""Previously an empty argument list () was implicitly inserted when calling a nullary method without arguments. E.g.
1866           |
1867           |$codeExample
1868           |
1869           |In Dotty, this idiom is an error. The application syntax has to follow exactly the parameter syntax.
1870           |Excluded from this rule are methods that are defined in Java or that override methods defined in Java."""
1871     }
1872   }
1873 
1874   case class DuplicateNamedTypeParameter(name: Name)(implicit ctx: Context)
1875     extends Message(DuplicateNamedTypeParameterID) {
1876     val kind = "Syntax"
1877     val msg = hl"Type parameter $name was defined multiple times."
1878     val explanation = ""
1879   }
1880 
1881   case class UndefinedNamedTypeParameter(undefinedName: Name, definedNames: List[Name])(implicit ctx: Context)
1882     extends Message(UndefinedNamedTypeParameterID) {
1883     val kind = "Syntax"
1884     val msg = hl"Type parameter $undefinedName is undefined. Expected one of ${definedNames.map(_.show).mkString(", ")}."
1885     val explanation = ""
1886   }
1887 
1888   case class IllegalStartOfStatement(isModifier: Boolean)(implicit ctx: Context) extends Message(IllegalStartOfStatementID) {
1889     val kind = "Syntax"
1890     val msg = {
1891       val addendum = if (isModifier) ": no modifiers allowed here" else ""
1892       "Illegal start of statement" + addendum
1893     }
1894     val explanation = "A statement is either an import, a definition or an expression."
1895   }
1896 
1897   case class TraitIsExpected(symbol: Symbol)(implicit ctx: Context) extends Message(TraitIsExpectedID) {
1898     val kind = "Syntax"
1899     val msg = hl"$symbol is not a trait"
1900     val explanation = {
1901       val errorCodeExample =
1902         """class A
1903           |class B
1904           |
1905           |val a = new A with B // will fail with a compile error - class B is not a trait""".stripMargin
1906       val codeExample =
1907         """class A
1908           |trait B
1909           |
1910           |val a = new A with B // compiles normally""".stripMargin
1911 
1912       hl"""Only traits can be mixed into classes using a ${"with"} keyword.
1913           |Consider the following example:
1914           |
1915           |$errorCodeExample
1916           |
1917           |The example mentioned above would fail because B is not a trait.
1918           |But if you make B a trait it will be compiled without any errors:
1919           |
1920           |$codeExample
1921           |"""
1922     }
1923   }
1924 
1925   case class TraitRedefinedFinalMethodFromAnyRef(method: Symbol)(implicit ctx: Context) extends Message(TraitRedefinedFinalMethodFromAnyRefID) {
1926     val kind = "Syntax"
1927     val msg = hl"Traits cannot redefine final $method from ${"class AnyRef"}."
1928     val explanation = ""
1929   }
1930 
1931   case class PackageNameAlreadyDefined(pkg: Symbol)(implicit ctx: Context) extends Message(PackageNameAlreadyDefinedID) {
1932     val msg = hl"${pkg} is already defined, cannot be a ${"package"}"
1933     val kind = "Naming"
1934     val explanation =
1935       hl"An ${"object"} cannot have the same name as an existing ${"package"}. Rename either one of them."
1936   }
1937 
1938   case class UnapplyInvalidNumberOfArguments(qual: untpd.Tree, argTypes: List[Type])(implicit ctx: Context)
1939     extends Message(UnapplyInvalidNumberOfArgumentsID) {
1940     val kind = "Syntax"
1941     val msg = hl"Wrong number of argument patterns for $qual; expected: ($argTypes%, %)"
1942     val explanation =
1943       hl"""The Unapply method of $qual was used with incorrect number of arguments.
1944           |Expected usage would be something like:
1945           |case $qual(${argTypes.map(_ => '_')}%, %) => ...
1946           |
1947         |where subsequent arguments would have following types: ($argTypes%, %).
1948         |""".stripMargin
1949   }
1950 
1951   case class StaticFieldsOnlyAllowedInObjects(member: Symbol)(implicit ctx: Context) extends Message(StaticFieldsOnlyAllowedInObjectsID) {
1952     val msg = hl"${"@static"} $member in ${member.owner} must be defined inside an ${"object"}."
1953     val kind = "Syntax"
1954     val explanation =
1955       hl"${"@static"} members are only allowed inside objects."
1956   }
1957 
1958   case class CyclicInheritance(symbol: Symbol, addendum: String)(implicit ctx: Context) extends Message(CyclicInheritanceID) {
1959     val kind = "Syntax"
1960     val msg = hl"Cyclic inheritance: $symbol extends itself$addendum"
1961     val explanation = {
1962       val codeExample = "class A extends A"
1963 
1964       hl"""Cyclic inheritance is prohibited in Dotty.
1965           |Consider the following example:
1966           |
1967           |$codeExample
1968           |
1969           |The example mentioned above would fail because this type of inheritance hierarchy
1970           |creates a "cycle" where a not yet defined class A extends itself which makes
1971           |impossible to instantiate an object of this class"""
1972     }
1973   }
1974 
1975   case class BadSymbolicReference(denot: SymDenotation)(implicit ctx: Context) extends Message(BadSymbolicReferenceID) {
1976     val kind = "Reference"
1977 
1978     val msg = {
1979       val denotationOwner = denot.owner
1980       val denotationName = ctx.fresh.setSetting(ctx.settings.YdebugNames, true).nameString(denot.name)
1981       val file = denot.symbol.associatedFile
1982       val (location, src) =
1983         if (file != null) (s" in $file", file.toString)
1984         else ("", "the signature")
1985 
1986       hl"""Bad symbolic reference. A signature$location
1987           |refers to $denotationName in ${denotationOwner.showKind} ${denotationOwner.showFullName} which is not available.
1988           |It may be completely missing from the current classpath, or the version on
1989           |the classpath might be incompatible with the version used when compiling $src."""
1990     }
1991 
1992     val explanation = ""
1993   }
1994 
1995   case class UnableToExtendSealedClass(pclazz: Symbol)(implicit ctx: Context) extends Message(UnableToExtendSealedClassID) {
1996     val kind = "Syntax"
1997     val msg = hl"Cannot extend ${"sealed"} $pclazz in a different source file"
1998     val explanation = "A sealed class or trait can only be extended in the same file as its declaration"
1999   }
2000 
2001   case class SymbolHasUnparsableVersionNumber(symbol: Symbol, migrationMessage: String)(implicit ctx: Context)
2002   extends Message(SymbolHasUnparsableVersionNumberID) {
2003     val kind = "Syntax"
2004     val msg = hl"${symbol.showLocated} has an unparsable version number: $migrationMessage"
2005     val explanation =
2006       hl"""$migrationMessage
2007           |
2008           |The ${symbol.showLocated} is marked with ${"@migration"} indicating it has changed semantics
2009           |between versions and the ${"-Xmigration"} settings is used to warn about constructs
2010           |whose behavior may have changed since version change."""
2011   }
2012 
2013   case class SymbolChangedSemanticsInVersion(
2014     symbol: Symbol,
2015     migrationVersion: ScalaVersion
2016   )(implicit ctx: Context) extends Message(SymbolChangedSemanticsInVersionID) {
2017     val kind = "Syntax"
2018     val msg = hl"${symbol.showLocated} has changed semantics in version $migrationVersion"
2019     val explanation = {
2020       hl"""The ${symbol.showLocated} is marked with ${"@migration"} indicating it has changed semantics
2021           |between versions and the ${"-Xmigration"} settings is used to warn about constructs
2022           |whose behavior may have changed since version change."""
2023     }
2024   }
2025 
2026   case class UnableToEmitSwitch(tooFewCases: Boolean)(implicit ctx: Context)
2027   extends Message(UnableToEmitSwitchID) {
2028     val kind = "Syntax"
2029     val tooFewStr = if (tooFewCases) " since there are not enough cases" else ""
2030     val msg = hl"Could not emit switch for ${"@switch"} annotated match$tooFewStr"
2031     val explanation = {
2032       val codeExample =
2033         """val ConstantB = 'B'
2034           |final val ConstantC = 'C'
2035           |def tokenMe(ch: Char) = (ch: @switch) match {
2036           |  case '\t' | '\n' => 1
2037           |  case 'A'         => 2
2038           |  case ConstantB   => 3  // a non-literal may prevent switch generation: this would not compile
2039           |  case ConstantC   => 4  // a constant value is allowed
2040           |  case _           => 5
2041           |}""".stripMargin
2042 
2043       hl"""If annotated with ${"@switch"}, the compiler will verify that the match has been compiled to a
2044           |tableswitch or lookupswitch and issue an error if it instead compiles into a series of conditional
2045           |expressions. Example usage:
2046           |
2047           |$codeExample
2048           |
2049           |The compiler will not apply the optimisation if:
2050           |- the matched value is not of type ${"Int"}, ${"Byte"}, ${"Short"} or ${"Char"}
2051           |- the matched value is not a constant literal
2052           |- there are less than three cases"""
2053     }
2054   }
2055 
2056   case class MissingCompanionForStatic(member: Symbol)(implicit ctx: Context) extends Message(MissingCompanionForStaticID) {
2057     val msg = hl"${member.owner} does not have a companion class"
2058     val kind = "Syntax"
2059     val explanation =
2060       hl"An object that contains ${"@static"} members must have a companion class."
2061   }
2062 
2063   case class PolymorphicMethodMissingTypeInParent(rsym: Symbol, parentSym: Symbol)(implicit ctx: Context)
2064   extends Message(PolymorphicMethodMissingTypeInParentID) {
2065     val kind = "Syntax"
2066     val msg = hl"polymorphic refinement $rsym without matching type in parent $parentSym is no longer allowed"
2067     val explanation =
2068       hl"""Polymorphic $rsym is not allowed in the structural refinement of $parentSym because
2069           |$rsym does not override any method in $parentSym. Structural refinement does not allow for
2070           |polymorphic methods."""
2071   }
2072 
2073   case class ParamsNoInline(owner: Symbol)(implicit ctx: Context)
2074     extends Message(ParamsNoInlineID) {
2075     val kind = "Syntax"
2076     val msg = hl"""${"inline"} modifier cannot be used for a ${owner.showKind} parameter"""
2077     val explanation = ""
2078   }
2079 
2080   case class JavaSymbolIsNotAValue(symbol: Symbol)(implicit ctx: Context) extends Message(JavaSymbolIsNotAValueID) {
2081     val kind = "Type Mismatch"
2082     val msg = {
2083       val kind =
2084         if (symbol is Package) hl"$symbol"
2085         else hl"Java defined ${"class " + symbol.name}"
2086 
2087       s"$kind is not a value"
2088     }
2089     val explanation = ""
2090   }
2091 }
Line Stmt Id Pos Tree Symbol Code
40 49572 1065 - 1068 Select dotty.tools.dotc.reporting.diagnostic.messages.Warning.pos Warning.this.pos
40 49571 1058 - 1063 Select dotty.tools.dotc.reporting.diagnostic.messages.Warning.msgFn Warning.this.msgFn
40 49573 1048 - 1069 Apply dotty.tools.dotc.reporting.diagnostic.messages.Error.<init> new messages.this.Error(Warning.this.msgFn, Warning.this.pos)
59 49574 1535 - 1555 Select dotty.tools.dotc.config.ScalaSettings.feature Contexts.this.Context.toBase(ctx).settings.feature
66 49575 1727 - 1749 Select dotty.tools.dotc.config.ScalaSettings.unchecked Contexts.this.Context.toBase(ctx).settings.unchecked
73 49576 1923 - 1947 Select dotty.tools.dotc.config.ScalaSettings.deprecation Contexts.this.Context.toBase(ctx).settings.deprecation
80 49577 2119 - 2141 Select dotty.tools.dotc.config.ScalaSettings.migration Contexts.this.Context.toBase(ctx).settings.migration
101 49578 2751 - 2916 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", "\n |", "")).hl(printing.Highlighting.NoColor.apply("For a full list of restrictions on implicit classes visit"), printing.Highlighting.Blue.apply("http://docs.scala-lang.org/overviews/core/implicit-classes.html"))(ctx)
109 49579 3203 - 3210 Select dotty.tools.dotc.reporting.diagnostic.messages.EmptyCatchOrFinallyBlock.tryBody EmptyCatchOrFinallyBlock.this.tryBody
110 49580 3263 - 3267 Literal <nosymbol> "{}"
111 49581 3294 - 3294 Select dotty.tools.dotc.reporting.diagnostic.messages.EmptyCatchOrFinallyBlock.ctx EmptyCatchOrFinallyBlock.this.ctx
111 49582 3286 - 3298 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show EmptyCatchOrFinallyBlock.this.tryBody.show(EmptyCatchOrFinallyBlock.this.ctx)
115 49583 3334 - 3480 Apply scala.StringContext.s scala.StringContext.apply("|import scala.util.control.NonFatal\n |\n |try ", " catch {\n | case NonFatal(e) => ???\n |}").s(tryString)
119 49584 3334 - 3492 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("|import scala.util.control.NonFatal\n |\n |try ", " catch {\n | case NonFatal(e) => ???\n |}").s(tryString)).stripMargin
122 49585 3520 - 3612 Apply scala.StringContext.s scala.StringContext.apply("|try ", " finally {\n | // perform your cleanup here!\n |}").s(tryString)
124 49586 3520 - 3624 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("|try ", " finally {\n | // perform your cleanup here!\n |}").s(tryString)).stripMargin
126 49597 3632 - 4309 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|A ", " expression should be followed by some mechanism to handle any exceptions\n |thrown. Typically a ", " expression follows the ", " and pattern matches\n |on any expected exceptions. For example:\n |\n |", "\n |\n |It is also possible to follow a ", " immediately by a ", " - letting the\n |exception propagate - but still allowing for some clean up in ", ":\n |\n |", "\n |\n |It is recommended to use the ", " extractor to catch all exceptions as it\n |correctly handles transfer functions like ", ".")).hl("try", "catch", "try", code1, "try", "finally", "finally", code2, "NonFatal", "return")(EmptyCatchOrFinallyBlock.this.ctx)
126 49588 3642 - 3647 Literal <nosymbol> "try"
126 49596 3632 - 3632 Select dotty.tools.dotc.reporting.diagnostic.messages.EmptyCatchOrFinallyBlock.ctx EmptyCatchOrFinallyBlock.this.ctx
126 49587 3632 - 4309 Apply scala.StringContext.apply scala.StringContext.apply("|A ", " expression should be followed by some mechanism to handle any exceptions\n |thrown. Typically a ", " expression follows the ", " and pattern matches\n |on any expected exceptions. For example:\n |\n |", "\n |\n |It is also possible to follow a ", " immediately by a ", " - letting the\n |exception propagate - but still allowing for some clean up in ", ":\n |\n |", "\n |\n |It is recommended to use the ", " extractor to catch all exceptions as it\n |correctly handles transfer functions like ", ".")
127 49590 3790 - 3795 Literal <nosymbol> "try"
127 49589 3756 - 3763 Literal <nosymbol> "catch"
132 49592 3987 - 3996 Literal <nosymbol> "finally"
132 49591 3961 - 3966 Literal <nosymbol> "try"
133 49593 4088 - 4097 Literal <nosymbol> "finally"
137 49594 4188 - 4198 Literal <nosymbol> "NonFatal"
138 49595 4296 - 4304 Literal <nosymbol> "return"
144 49598 4474 - 4482 Literal <nosymbol> "Syntax"
146 49599 4503 - 4647 Apply scala.StringContext.apply scala.StringContext.apply("|The ", " block does not contain a valid expression, try\n |adding a case like - `", "` to the block")
146 49600 4515 - 4522 Literal <nosymbol> "catch"
146 49603 4503 - 4647 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|The ", " block does not contain a valid expression, try\n |adding a case like - `", "` to the block")).hl("catch", "case e: Exception =>")(EmptyCatchBlock.this.ctx)
146 49602 4503 - 4503 Select dotty.tools.dotc.reporting.diagnostic.messages.EmptyCatchBlock.ctx EmptyCatchBlock.this.ctx
147 49601 4607 - 4629 Literal <nosymbol> "case e: Exception =>"
152 49604 4826 - 4834 Literal <nosymbol> "Syntax"
154 49608 4896 - 4905 Literal <nosymbol> "finally"
154 49607 4882 - 4889 Literal <nosymbol> "catch"
154 49610 4855 - 4994 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|A ", " without ", " or ", " is equivalent to putting\n |its body in a block; no exceptions are handled.")).hl("try", "catch", "finally")(EmptyCatchAndFinallyBlock.this.ctx)
154 49606 4865 - 4870 Literal <nosymbol> "try"
154 49609 4855 - 4855 Select dotty.tools.dotc.reporting.diagnostic.messages.EmptyCatchAndFinallyBlock.ctx EmptyCatchAndFinallyBlock.this.ctx
154 49605 4855 - 4994 Apply scala.StringContext.apply scala.StringContext.apply("|A ", " without ", " or ", " is equivalent to putting\n |its body in a block; no exceptions are handled.")
160 49611 5122 - 5130 Literal <nosymbol> "Syntax"
162 49613 5158 - 5164 Literal <nosymbol> "with"
162 49615 5151 - 5224 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " as a type operator has been deprecated; use `&\' instead")).hl("with")(DeprecatedWithOperator.this.ctx)
162 49612 5151 - 5224 Apply scala.StringContext.apply scala.StringContext.apply("", " as a type operator has been deprecated; use `&\' instead")
162 49614 5151 - 5151 Select dotty.tools.dotc.reporting.diagnostic.messages.DeprecatedWithOperator.ctx DeprecatedWithOperator.this.ctx
164 49616 5253 - 5473 Apply scala.StringContext.apply scala.StringContext.apply("|Dotty introduces intersection types - `&\' types. These replace the\n |use of the ", " keyword. There are a few differences in\n |semantics between intersection types and using `", "\'.")
164 49619 5253 - 5253 Select dotty.tools.dotc.reporting.diagnostic.messages.DeprecatedWithOperator.ctx DeprecatedWithOperator.this.ctx
164 49620 5253 - 5473 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Dotty introduces intersection types - `&\' types. These replace the\n |use of the ", " keyword. There are a few differences in\n |semantics between intersection types and using `", "\'.")).hl("with", "with")(DeprecatedWithOperator.this.ctx)
165 49617 5351 - 5357 Literal <nosymbol> "with"
166 49618 5461 - 5467 Literal <nosymbol> "with"
171 49621 5626 - 5634 Literal <nosymbol> "Syntax"
173 49625 5655 - 5719 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|A ", " must have at least one parameter list")).hl("case class")(CaseClassMissingParamList.this.ctx)
173 49622 5655 - 5719 Apply scala.StringContext.apply scala.StringContext.apply("|A ", " must have at least one parameter list")
173 49624 5655 - 5655 Select dotty.tools.dotc.reporting.diagnostic.messages.CaseClassMissingParamList.ctx CaseClassMissingParamList.this.ctx
173 49623 5665 - 5677 Literal <nosymbol> "case class"
176 49626 5749 - 5990 Apply scala.StringContext.apply scala.StringContext.apply("|", " must have at least one parameter list, if you would rather\n |have a singleton representation of ", ", use a \"", "\".\n |Or, add an explicit `()\' as a parameter list to ", ".")
176 49631 5749 - 5749 Select dotty.tools.dotc.reporting.diagnostic.messages.CaseClassMissingParamList.ctx CaseClassMissingParamList.this.ctx
176 49627 5757 - 5766 Select dotty.tools.dotc.ast.Trees.TypeDef.name CaseClassMissingParamList.this.cdef.name
176 49632 5749 - 5990 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", " must have at least one parameter list, if you would rather\n |have a singleton representation of ", ", use a \"", "\".\n |Or, add an explicit `()\' as a parameter list to ", ".")).hl(CaseClassMissingParamList.this.cdef.name, CaseClassMissingParamList.this.cdef.name, "case object", CaseClassMissingParamList.this.cdef.name)(CaseClassMissingParamList.this.ctx)
177 49628 5876 - 5885 Select dotty.tools.dotc.ast.Trees.TypeDef.name CaseClassMissingParamList.this.cdef.name
177 49629 5897 - 5910 Literal <nosymbol> "case object"
178 49630 5976 - 5985 Select dotty.tools.dotc.ast.Trees.TypeDef.name CaseClassMissingParamList.this.cdef.name
187 49633 6403 - 6411 Literal <nosymbol> "Syntax"
191 49634 6490 - 6505 Apply scala.Int.+ AnonymousFunctionMissingParamType.this.args.length.+(1)
191 49636 6459 - 6526 Apply scala.collection.LinearSeqOptimized.contains dotc.core.Types.MethodType.syntheticParamNames(AnonymousFunctionMissingParamType.this.args.length.+(1)).contains[dotty.tools.dotc.core.Names.TermName](AnonymousFunctionMissingParamType.this.param.name)
191 49635 6516 - 6526 Select dotty.tools.dotc.ast.Trees.ValDef.name AnonymousFunctionMissingParamType.this.param.name
192 49637 6538 - 6570 Apply scala.StringContext.apply scala.StringContext.apply(" of expanded function:\\n", "")
192 49640 6538 - 6570 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.i dotc.core.Decorators.StringInterpolators(scala.StringContext.apply(" of expanded function:\\n", "")).i(AnonymousFunctionMissingParamType.this.tree)(AnonymousFunctionMissingParamType.this.ctx)
192 49639 6538 - 6538 Select dotty.tools.dotc.reporting.diagnostic.messages.AnonymousFunctionMissingParamType.ctx AnonymousFunctionMissingParamType.this.ctx
192 49638 6565 - 6569 Select dotty.tools.dotc.reporting.diagnostic.messages.AnonymousFunctionMissingParamType.tree AnonymousFunctionMissingParamType.this.tree
192 49641 6538 - 6570 Block dotty.tools.dotc.core.Decorators.StringInterpolators.i dotc.core.Decorators.StringInterpolators(scala.StringContext.apply(" of expanded function:\\n", "")).i(AnonymousFunctionMissingParamType.this.tree)(AnonymousFunctionMissingParamType.this.ctx)
194 49643 6594 - 6596 Block <nosymbol> ""
194 49642 6594 - 6596 Literal <nosymbol> ""
196 49648 6604 - 6815 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.i dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("missing parameter type\n |\n |The argument types of an anonymous function must be fully known. (SLS 8.5)\n |Expected type: ", "\n |Missing type for parameter ", "", "")).i(AnonymousFunctionMissingParamType.this.pt, AnonymousFunctionMissingParamType.this.param.name, ofFun)(AnonymousFunctionMissingParamType.this.ctx)
196 49644 6604 - 6815 Apply scala.StringContext.apply scala.StringContext.apply("missing parameter type\n |\n |The argument types of an anonymous function must be fully known. (SLS 8.5)\n |Expected type: ", "\n |Missing type for parameter ", "", "")
196 49647 6604 - 6604 Select dotty.tools.dotc.reporting.diagnostic.messages.AnonymousFunctionMissingParamType.ctx AnonymousFunctionMissingParamType.this.ctx
199 49645 6753 - 6755 Select dotty.tools.dotc.reporting.diagnostic.messages.AnonymousFunctionMissingParamType.pt AnonymousFunctionMissingParamType.this.pt
200 49646 6795 - 6805 Select dotty.tools.dotc.ast.Trees.ValDef.name AnonymousFunctionMissingParamType.this.param.name
204 49652 6851 - 6851 Select dotty.tools.dotc.reporting.diagnostic.messages.AnonymousFunctionMissingParamType.ctx AnonymousFunctionMissingParamType.this.ctx
204 49649 6851 - 7209 Apply scala.StringContext.apply scala.StringContext.apply("|Anonymous functions must define a type. For example, if you define a function like this one:\n |\n |", "\n |\n |Make sure you give it a type of what you expect to match and help the type inference system:\n |\n |", " ")
204 49653 6851 - 7209 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Anonymous functions must define a type. For example, if you define a function like this one:\n |\n |", "\n |\n |Make sure you give it a type of what you expect to match and help the type inference system:\n |\n |", " ")).hl("val f = { case x: Int => x + 1 }", "val f: Any => Int = { case x: Int => x + 1 }")(AnonymousFunctionMissingParamType.this.ctx)
206 49650 6977 - 7011 Literal <nosymbol> "val f = { case x: Int => x + 1 }"
210 49651 7158 - 7204 Literal <nosymbol> "val f: Any => Int = { case x: Int => x + 1 }"
215 49654 7367 - 7375 Literal <nosymbol> "syntax"
216 49655 7390 - 7427 Literal <nosymbol> "type argument must be fully defined"
219 49656 7451 - 7562 Literal <nosymbol> "\n |object TyperDemo {\n | class Team[A]\n | val team = new Team[_]\n |}\n "
224 49657 7451 - 7574 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("\n |object TyperDemo {\n | class Team[A]\n | val team = new Team[_]\n |}\n ").stripMargin
227 49658 7598 - 7711 Literal <nosymbol> "\n |object TyperDemo {\n | class Team[A]\n | val team = new Team[Int]\n |}\n "
232 49659 7598 - 7723 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("\n |object TyperDemo {\n | class Team[A]\n | val team = new Team[Int]\n |}\n ").stripMargin
235 49664 7753 - 8026 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Wildcard on arguments is not allowed when declaring a new type.\n |\n |Given the following example:\n |\n |", "\n |\n |You must complete all the type parameters, for instance:\n |\n |", " ")).hl(WildcardOnTypeArgumentNotAllowedOnNew.this.code1, WildcardOnTypeArgumentNotAllowedOnNew.this.code2)(WildcardOnTypeArgumentNotAllowedOnNew.this.ctx)
235 49660 7753 - 8026 Apply scala.StringContext.apply scala.StringContext.apply("|Wildcard on arguments is not allowed when declaring a new type.\n |\n |Given the following example:\n |\n |", "\n |\n |You must complete all the type parameters, for instance:\n |\n |", " ")
235 49663 7753 - 7753 Select dotty.tools.dotc.reporting.diagnostic.messages.WildcardOnTypeArgumentNotAllowedOnNew.ctx WildcardOnTypeArgumentNotAllowedOnNew.this.ctx
239 49661 7903 - 7908 Select dotty.tools.dotc.reporting.diagnostic.messages.WildcardOnTypeArgumentNotAllowedOnNew.code1 WildcardOnTypeArgumentNotAllowedOnNew.this.code1
243 49662 8017 - 8022 Select dotty.tools.dotc.reporting.diagnostic.messages.WildcardOnTypeArgumentNotAllowedOnNew.code2 WildcardOnTypeArgumentNotAllowedOnNew.this.code2
250 49665 8255 - 8263 Literal <nosymbol> "Naming"
251 49667 8312 - 8321 Select dotty.tools.dotc.ast.Trees.Bind.name DuplicateBind.this.bind.name
251 49666 8278 - 8324 Apply scala.StringContext.apply scala.StringContext.apply("duplicate pattern variable: `", "`")
251 49669 8278 - 8324 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.em dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("duplicate pattern variable: `", "`")).em(DuplicateBind.this.bind.name)(DuplicateBind.this.ctx)
251 49668 8278 - 8278 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicateBind.ctx DuplicateBind.this.ctx
254 49670 8375 - 8375 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicateBind.ctx DuplicateBind.this.ctx
254 49671 8366 - 8379 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show DuplicateBind.this.tree.pat.show(DuplicateBind.this.ctx)
255 49672 8398 - 8408 Select dotty.tools.dotc.ast.Trees.CaseDef.guard DuplicateBind.this.tree.guard
256 49673 8449 - 8451 Literal <nosymbol> ""
257 49676 8487 - 8487 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicateBind.ctx DuplicateBind.this.ctx
257 49675 8492 - 8493 Literal <nosymbol> ""
257 49678 8474 - 8493 Apply scala.StringContext.s scala.StringContext.apply("if ", "").s(guard.show(DuplicateBind.this.ctx))
257 49674 8476 - 8480 Literal <nosymbol> "if "
257 49677 8481 - 8491 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show guard.show(DuplicateBind.this.ctx)
260 49679 8520 - 8529 Select dotty.tools.dotc.ast.Trees.CaseDef.body DuplicateBind.this.tree.body
261 49680 8582 - 8584 Literal <nosymbol> ""
262 49685 8606 - 8622 Apply scala.StringContext.s scala.StringContext.apply(" ", "").s(body.show(DuplicateBind.this.ctx))
262 49682 8621 - 8622 Literal <nosymbol> ""
262 49681 8608 - 8610 Literal <nosymbol> " "
262 49684 8611 - 8620 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show body.show(DuplicateBind.this.ctx)
262 49683 8616 - 8616 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicateBind.ctx DuplicateBind.this.ctx
265 49686 8652 - 8679 Apply scala.StringContext.s scala.StringContext.apply("case ", "", " => ", "").s(pat, guard, body)
267 49688 8704 - 8710 Literal <nosymbol> "case"
267 49691 8687 - 8882 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|For each ", " bound variable names have to be unique. In:\n |\n |", "\n |\n |`", "` is not unique. Rename one of the bound variables!")).hl("case", caseDef, DuplicateBind.this.bind.name)(DuplicateBind.this.ctx)
267 49690 8687 - 8687 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicateBind.ctx DuplicateBind.this.ctx
267 49687 8687 - 8882 Apply scala.StringContext.apply scala.StringContext.apply("|For each ", " bound variable names have to be unique. In:\n |\n |", "\n |\n |`", "` is not unique. Rename one of the bound variables!")
271 49689 8818 - 8827 Select dotty.tools.dotc.ast.Trees.Bind.name DuplicateBind.this.bind.name
277 49692 9045 - 9065 Literal <nosymbol> "Unbound Identifier"
278 49694 9095 - 9103 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingIdent.treeKind MissingIdent.this.treeKind
278 49697 9080 - 9109 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.em dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("not found: ", "", "")).em(MissingIdent.this.treeKind, MissingIdent.this.name)(MissingIdent.this.ctx)
278 49693 9080 - 9109 Apply scala.StringContext.apply scala.StringContext.apply("not found: ", "", "")
278 49696 9080 - 9080 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingIdent.ctx MissingIdent.this.ctx
278 49695 9104 - 9108 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingIdent.name MissingIdent.this.name
281 49703 9141 - 9410 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|The identifier for `", "", "` is not bound, that is,\n |no declaration for this identifier can be found.\n |That can happen for instance if ", " or its declaration has either been\n |misspelt, or if you\'re forgetting an import")).hl(MissingIdent.this.treeKind, MissingIdent.this.name, MissingIdent.this.name)(MissingIdent.this.ctx)
281 49700 9177 - 9181 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingIdent.name MissingIdent.this.name
281 49699 9168 - 9176 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingIdent.treeKind MissingIdent.this.treeKind
281 49702 9141 - 9141 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingIdent.ctx MissingIdent.this.ctx
281 49698 9141 - 9410 Apply scala.StringContext.apply scala.StringContext.apply("|The identifier for `", "", "` is not bound, that is,\n |no declaration for this identifier can be found.\n |That can happen for instance if ", " or its declaration has either been\n |misspelt, or if you\'re forgetting an import")
283 49701 9312 - 9316 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingIdent.name MissingIdent.this.name
290 49704 9606 - 9621 Literal <nosymbol> "Type Mismatch"
292 49706 9656 - 9656 Select scala.Tuple2._2 x$1._2
292 49705 9649 - 9649 Select scala.Tuple2._1 x$1._1
293 49708 9730 - 9730 Select scala.Tuple2._2 x$2._2
293 49707 9725 - 9725 Select scala.Tuple2._1 x$2._1
294 49709 9790 - 9868 Apply scala.StringContext.s scala.StringContext.apply("|found: ", "\n |required: ", "\n |\n |", "").s(fnd, exp, where)
297 49712 9790 - 9911 Apply java.lang.String.+ scala.Predef.augmentString(scala.StringContext.apply("|found: ", "\n |required: ", "\n |\n |", "").s(fnd, exp, where)).stripMargin.+(TypeMismatch.this.whyNoMatch).+(TypeMismatch.this.implicitFailure)
297 49711 9896 - 9911 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeMismatch.implicitFailure TypeMismatch.this.implicitFailure
297 49710 9883 - 9893 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeMismatch.whyNoMatch TypeMismatch.this.whyNoMatch
300 49713 9941 - 9943 Literal <nosymbol> ""
305 49714 10087 - 10105 Literal <nosymbol> "Member Not Found"
311 49715 10278 - 10279 Literal <nosymbol> 3
312 49733 10298 - 10465 ApplyToImplicitArgs scala.collection.immutable.List.flatMap NotAMember.this.site.decls(NotAMember.this.ctx).toList(NotAMember.this.ctx).flatMap[(String, dotty.tools.dotc.core.Symbols.Symbol), List[(String, dotty.tools.dotc.core.Symbols.Symbol)]](((sym: dotty.tools.dotc.core.Symbols.Symbol) => if (dotc.core.Symbols.toDenot(sym)(NotAMember.this.ctx).flagsUNSAFE.is(core.Flags.Synthetic.|(core.Flags.PrivateOrLocal)).||(dotc.core.Symbols.toDenot(sym)(NotAMember.this.ctx).isConstructor)) scala.collection.immutable.Nil else scala.collection.immutable.List.apply[(String, dotty.tools.dotc.core.Symbols.Symbol)](scala.Tuple2.apply[String, dotty.tools.dotc.core.Symbols.Symbol](sym.name(NotAMember.this.ctx).show(NotAMember.this.ctx), sym))))(immutable.this.List.canBuildFrom[(String, dotty.tools.dotc.core.Symbols.Symbol)])
312 49717 10309 - 10309 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
312 49732 10324 - 10324 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[(String, dotty.tools.dotc.core.Symbols.Symbol)]
312 49716 10303 - 10303 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
313 49718 10345 - 10345 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
313 49721 10395 - 10395 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
313 49724 10414 - 10417 Select scala.collection.immutable.Nil scala.collection.immutable.Nil
313 49720 10364 - 10390 Apply dotty.tools.dotc.core.Flags.FlagSet.| core.Flags.Synthetic.|(core.Flags.PrivateOrLocal)
313 49723 10345 - 10412 Apply scala.Boolean.|| dotc.core.Symbols.toDenot(sym)(NotAMember.this.ctx).flagsUNSAFE.is(core.Flags.Synthetic.|(core.Flags.PrivateOrLocal)).||(dotc.core.Symbols.toDenot(sym)(NotAMember.this.ctx).isConstructor)
313 49722 10395 - 10412 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.isConstructor dotc.core.Symbols.toDenot(sym)(NotAMember.this.ctx).isConstructor
313 49725 10414 - 10417 Block scala.collection.immutable.Nil scala.collection.immutable.Nil
313 49719 10376 - 10390 Select dotty.tools.dotc.core.Flags.PrivateOrLocal core.Flags.PrivateOrLocal
314 49727 10446 - 10446 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
314 49730 10431 - 10457 Apply scala.collection.immutable.List.apply scala.collection.immutable.List.apply[(String, dotty.tools.dotc.core.Symbols.Symbol)](scala.Tuple2.apply[String, dotty.tools.dotc.core.Symbols.Symbol](sym.name(NotAMember.this.ctx).show(NotAMember.this.ctx), sym))
314 49726 10441 - 10441 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
314 49729 10436 - 10456 Apply scala.Tuple2.apply scala.Tuple2.apply[String, dotty.tools.dotc.core.Symbols.Symbol](sym.name(NotAMember.this.ctx).show(NotAMember.this.ctx), sym)
314 49731 10431 - 10457 Block scala.collection.immutable.List.apply scala.collection.immutable.List.apply[(String, dotty.tools.dotc.core.Symbols.Symbol)](scala.Tuple2.apply[String, dotty.tools.dotc.core.Symbols.Symbol](sym.name(NotAMember.this.ctx).show(NotAMember.this.ctx), sym))
314 49728 10437 - 10450 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show sym.name(NotAMember.this.ctx).show(NotAMember.this.ctx)
319 49736 10592 - 10592 Select scala.math.Numeric.IntIsIntegral math.this.Numeric.IntIsIntegral
319 49735 10596 - 10603 Select scala.collection.TraversableOnce.size n2.size
319 49734 10593 - 10594 Literal <nosymbol> 0
319 49737 10582 - 10604 ApplyToImplicitArgs scala.collection.generic.GenTraversableFactory.range scala.collection.immutable.List.range[Int](0, n2.size)(math.this.Numeric.IntIsIntegral)
320 49739 10637 - 10637 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[(Int, Int)]
320 49751 10632 - 10834 ApplyToImplicitArgs scala.collection.TraversableLike.scanLeft prev.zip[Int, Int, List[(Int, Int)]](prev.tail)(immutable.this.List.canBuildFrom[(Int, Int)]).zip[(Int, Int), _$2, List[((Int, Int), _$2)]](n2)(immutable.this.List.canBuildFrom[((Int, Int), _$2)]).scanLeft[Int, List[Int]](prev.head.+(1))(((x0$1: Int, x1$1: ((Int, Int), _$2)) => scala.Tuple2.apply[Int, ((Int, Int), _$2)](x0$1, x1$1) match { case (_1: Int, _2: ((Int, Int), _$2))(Int, ((Int, Int), _$2))((h @ _), (_1: (Int, Int), _2: _$2)((Int, Int), _$2)((_1: Int, _2: Int)(Int, Int)((d @ _), (v @ _)), (y @ _))) => scala.math.`package`.min(scala.math.`package`.min(h.+(1), v.+(1)), if (x.==(y)) d else d.+(1)) }))(immutable.this.List.canBuildFrom[Int])
320 49741 10668 - 10681 Apply scala.Int.+ prev.head.+(1)
320 49750 10683 - 10683 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[Int]
320 49738 10641 - 10650 Select scala.collection.TraversableLike.tail prev.tail
320 49740 10651 - 10651 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[((Int, Int), _$2)]
321 49749 10722 - 10822 Apply scala.math.min scala.math.`package`.min(scala.math.`package`.min(h.+(1), v.+(1)), if (x.==(y)) d else d.+(1))
322 49742 10755 - 10760 Apply scala.Int.+ h.+(1)
322 49744 10746 - 10768 Apply scala.math.min scala.math.`package`.min(h.+(1), v.+(1))
322 49743 10762 - 10767 Apply scala.Int.+ v.+(1)
323 49745 10788 - 10794 Apply scala.Any.== x.==(y)
323 49748 10803 - 10808 Block scala.Int.+ d.+(1)
323 49747 10803 - 10808 Apply scala.Int.+ d.+(1)
323 49746 10796 - 10797 Ident dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.d d
326 49752 10570 - 10849 Select scala.collection.LinearSeqOptimized.last n1.foldLeft[List[Int]](scala.collection.immutable.List.range[Int](0, n2.size)(math.this.Numeric.IntIsIntegral))(((prev: List[Int], x: Any) => prev.zip[Int, Int, List[(Int, Int)]](prev.tail)(immutable.this.List.canBuildFrom[(Int, Int)]).zip[(Int, Int), _$2, List[((Int, Int), _$2)]](n2)(immutable.this.List.canBuildFrom[((Int, Int), _$2)]).scanLeft[Int, List[Int]](prev.head.+(1))(((x0$1: Int, x1$1: ((Int, Int), _$2)) => scala.Tuple2.apply[Int, ((Int, Int), _$2)](x0$1, x1$1) match { case (_1: Int, _2: ((Int, Int), _$2))(Int, ((Int, Int), _$2))((h @ _), (_1: (Int, Int), _2: _$2)((Int, Int), _$2)((_1: Int, _2: Int)(Int, Int)((d @ _), (v @ _)), (y @ _))) => scala.math.`package`.min(scala.math.`package`.min(h.+(1), v.+(1)), if (x.==(y)) d else d.+(1)) }))(immutable.this.List.canBuildFrom[Int]))).last
330 49754 10997 - 10997 Select scala.Tuple2._2 x$3._2
330 49753 10984 - 10984 Select scala.Tuple2._1 x$3._1
331 49757 11043 - 11051 ApplyImplicitView scala.LowPriorityImplicits.wrapString scala.Predef.wrapString(currName)
331 49759 11062 - 11063 Literal <nosymbol> 0
331 49756 11029 - 11038 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show NotAMember.this.name.show(NotAMember.this.ctx)
331 49755 11034 - 11034 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
331 49764 11029 - 11136 Apply scala.collection.TraversableOnce.foldLeft scala.Predef.augmentString(NotAMember.this.name.show(NotAMember.this.ctx)).zip[Char, Char, scala.collection.immutable.IndexedSeq[(Char, Char)]](scala.Predef.wrapString(currName))(scala.Predef.fallbackStringCanBuildFrom[(Char, Char)]).foldLeft[Int](0)(((x0$2: Int, x1$2: (Char, Char)) => scala.Tuple2.apply[Int, (Char, Char)](x0$2, x1$2) match { case (_1: Int, _2: (Char, Char))(Int, (Char, Char))((acc @ _), (_1: Char, _2: Char)(Char, Char)((x @ _), (y @ _))) => if (x.!=(y)) acc.+(1) else acc }))
331 49758 11042 - 11042 TypeApply scala.LowPriorityImplicits.fallbackStringCanBuildFrom scala.Predef.fallbackStringCanBuildFrom[(Char, Char)]
332 49763 11123 - 11126 Ident dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.acc acc
332 49760 11102 - 11108 Apply scala.Char.!= x.!=(y)
332 49762 11110 - 11117 Block scala.Int.+ acc.+(1)
332 49761 11110 - 11117 Apply scala.Int.+ acc.+(1)
334 49765 11145 - 11170 Apply scala.Tuple3.apply scala.Tuple3.apply[String, dotty.tools.dotc.core.Symbols.Symbol, Int](currName, sym, matching)
340 49772 11264 - 11264 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]
340 49766 11296 - 11297 ApplyImplicitView scala.LowPriorityImplicits.wrapString scala.Predef.wrapString(n)
340 49769 11299 - 11308 ApplyImplicitView scala.LowPriorityImplicits.wrapString scala.Predef.wrapString(NotAMember.this.name.show(NotAMember.this.ctx))
340 49768 11299 - 11308 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show NotAMember.this.name.show(NotAMember.this.ctx)
340 49771 11283 - 11315 Apply scala.Tuple3.apply scala.Tuple3.apply[String, Int, dotty.tools.dotc.core.Symbols.Symbol](n, distance(scala.Predef.wrapString(n), scala.Predef.wrapString(NotAMember.this.name.show(NotAMember.this.ctx))), sym)
340 49767 11304 - 11304 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
340 49770 11287 - 11309 Apply dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.distance distance(scala.Predef.wrapString(n), scala.Predef.wrapString(NotAMember.this.name.show(NotAMember.this.ctx)))
341 49775 11335 - 11335 Apply dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.$anonfun.<init> new $anonfun()
341 49774 11379 - 11393 Apply scala.Tuple3.apply scala.Tuple3.apply[String, Int, dotty.tools.dotc.core.Symbols.Symbol](n, dist, sym)
341 49773 11360 - 11375 Apply scala.Int.<= dist.<=(maxDist)
341 49776 11335 - 11335 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]
342 49777 11413 - 11417 Select scala.Tuple3._2 x$4._2
343 49778 11442 - 11446 Select scala.Tuple2._1 x$5._1
343 49779 11441 - 11441 Select scala.math.Ordering.Int math.this.Ordering.Int
344 49781 11488 - 11491 Select scala.collection.immutable.Nil scala.collection.immutable.Nil
344 49780 11472 - 11476 Select scala.Tuple2._2 x$6._2
345 49783 11505 - 11505 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[(String, dotty.tools.dotc.core.Symbols.Symbol, Int)]
345 49782 11506 - 11520 Apply dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.incorrectChars incorrectChars(x)
346 49784 11545 - 11549 Select scala.Tuple3._3 x$7._3
346 49785 11544 - 11544 Select scala.math.Ordering.Int math.this.Ordering.Int
347 49787 11594 - 11602 Apply scala.Tuple2.apply scala.Tuple2.apply[String, dotty.tools.dotc.core.Symbols.Symbol](n, sym)
347 49786 11565 - 11566 Literal <nosymbol> 1
347 49789 11245 - 11604 ApplyToImplicitArgs scala.collection.immutable.List.map decls.map[(String, Int, dotty.tools.dotc.core.Symbols.Symbol), List[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]](((x0$3: (String, dotty.tools.dotc.core.Symbols.Symbol)) => x0$3 match { case (_1: String, _2: dotty.tools.dotc.core.Symbols.Symbol)(String, dotty.tools.dotc.core.Symbols.Symbol)((n @ _), (sym @ _)) => scala.Tuple3.apply[String, Int, dotty.tools.dotc.core.Symbols.Symbol](n, distance(scala.Predef.wrapString(n), scala.Predef.wrapString(NotAMember.this.name.show(NotAMember.this.ctx))), sym) }))(immutable.this.List.canBuildFrom[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]).collect[(String, Int, dotty.tools.dotc.core.Symbols.Symbol), List[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]](({ @SerialVersionUID(value = 0) final <synthetic> class $anonfun extends scala.runtime.AbstractPartialFunction[(String, Int, dotty.tools.dotc.core.Symbols.Symbol),(String, Int, dotty.tools.dotc.core.Symbols.Symbol)] with Serializable { def <init>(): <$anon: ((String, Int, dotty.tools.dotc.core.Symbols.Symbol)) => (String, Int, dotty.tools.dotc.core.Symbols.Symbol)> = { $anonfun.super.<init>(); () }; final override def applyOrElse[A1 <: (String, Int, dotty.tools.dotc.core.Symbols.Symbol), B1 >: (String, Int, dotty.tools.dotc.core.Symbols.Symbol)](x1: A1, default: A1 => B1): B1 = ((x1.asInstanceOf[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]: (String, Int, dotty.tools.dotc.core.Symbols.Symbol)): (String, Int, dotty.tools.dotc.core.Symbols.Symbol) @unchecked) match { case (_1: String, _2: Int, _3: dotty.tools.dotc.core.Symbols.Symbol)(String, Int, dotty.tools.dotc.core.Symbols.Symbol)((n @ _), (dist @ _), (sym @ _)) if dist.<=(maxDist) => scala.Tuple3.apply[String, Int, dotty.tools.dotc.core.Symbols.Symbol](n, dist, sym) case (defaultCase$ @ _) => default.apply(x1) }; final def isDefinedAt(x1: (String, Int, dotty.tools.dotc.core.Symbols.Symbol)): Boolean = ((x1.asInstanceOf[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]: (String, Int, dotty.tools.dotc.core.Symbols.Symbol)): (String, Int, dotty.tools.dotc.core.Symbols.Symbol) @unchecked) match { case (_1: String, _2: Int, _3: dotty.tools.dotc.core.Symbols.Symbol)(String, Int, dotty.tools.dotc.core.Symbols.Symbol)((n @ _), (dist @ _), (sym @ _)) if dist.<=(maxDist) => true case (defaultCase$ @ _) => false } }; new $anonfun() }: PartialFunction[(String, Int, dotty.tools.dotc.core.Symbols.Symbol),(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]))(immutable.this.List.canBuildFrom[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]).groupBy[Int](((x$4: (String, Int, dotty.tools.dotc.core.Symbols.Symbol)) => x$4._2)).toList.sortBy[Int](((x$5: (Int, List[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)])) => x$5._1))(math.this.Ordering.Int).headOption.map[List[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]](((x$6: (Int, List[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)])) => x$6._2)).getOrElse[List[(String, Int, dotty.tools.dotc.core.Symbols.Symbol)]](scala.collection.immutable.Nil).map[(String, dotty.tools.dotc.core.Symbols.Symbol, Int), List[(String, dotty.tools.dotc.core.Symbols.Symbol, Int)]]({ ((x: (String, Int, dotty.tools.dotc.core.Symbols.Symbol)) => incorrectChars(x)) })(immutable.this.List.canBuildFrom[(String, dotty.tools.dotc.core.Symbols.Symbol, Int)]).toList.sortBy[Int](((x$7: (String, dotty.tools.dotc.core.Symbols.Symbol, Int)) => x$7._3))(math.this.Ordering.Int).take(1).map[(String, dotty.tools.dotc.core.Symbols.Symbol), List[(String, dotty.tools.dotc.core.Symbols.Symbol)]](((x0$4: (String, dotty.tools.dotc.core.Symbols.Symbol, Int)) => x0$4 match { case (_1: String, _2: dotty.tools.dotc.core.Symbols.Symbol, _3: Int)(String, dotty.tools.dotc.core.Symbols.Symbol, Int)((n @ _), (sym @ _), _) => scala.Tuple2.apply[String, dotty.tools.dotc.core.Symbols.Symbol](n, sym) }))(immutable.this.List.canBuildFrom[(String, dotty.tools.dotc.core.Symbols.Symbol)])
347 49788 11572 - 11572 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[(String, dotty.tools.dotc.core.Symbols.Symbol)]
349 49790 11627 - 11631 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.site NotAMember.this.site
350 49793 11672 - 11686 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show site.name(NotAMember.this.ctx).show(NotAMember.this.ctx)
350 49792 11682 - 11682 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
350 49791 11677 - 11677 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
351 49796 11708 - 11716 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.i dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).i(site)(NotAMember.this.ctx)
351 49795 11708 - 11708 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
351 49794 11708 - 11716 Apply scala.StringContext.apply scala.StringContext.apply("", "")
355 49799 11798 - 11798 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
355 49798 11822 - 11837 Apply scala.StringContext.s scala.StringContext.apply("", ".", "").s(siteName, n)
355 49800 11798 - 11843 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply(" - did you mean `", "`?")).hl(scala.StringContext.apply("", ".", "").s(siteName, n))(NotAMember.this.ctx)
355 49797 11798 - 11843 Apply scala.StringContext.apply scala.StringContext.apply(" - did you mean `", "`?")
356 49801 11864 - 11866 Literal <nosymbol> ""
357 49802 11885 - 11995 Apply scala.Predef.assert scala.Predef.assert(false, "Could not single out one distinct member to match on input with")
363 49805 12026 - 12030 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.name NotAMember.this.name
363 49808 12011 - 12011 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
363 49804 12015 - 12023 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.selected NotAMember.this.selected
363 49807 12053 - 12063 ApplyToImplicitArgs dotty.tools.dotc.core.Types.Type.widen NotAMember.this.site.widen(NotAMember.this.ctx)
363 49809 12011 - 12077 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.ex dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " `", "` is not a member of ", "", "")).ex(NotAMember.this.selected, NotAMember.this.name, NotAMember.this.site.widen(NotAMember.this.ctx), closeMember)(NotAMember.this.ctx)
363 49803 12011 - 12077 Apply scala.StringContext.apply scala.StringContext.apply("", " `", "` is not a member of ", "", "")
363 49806 12058 - 12058 Select dotty.tools.dotc.reporting.diagnostic.messages.NotAMember.ctx NotAMember.this.ctx
366 49810 12107 - 12109 Literal <nosymbol> ""
371 49811 12249 - 12257 Literal <nosymbol> "Syntax"
372 49812 12272 - 12339 Literal <nosymbol> "early definitions are not supported; use trait parameters instead"
376 49813 12391 - 12883 Literal <nosymbol> "|trait Logging {\n | val f: File\n | f.open()\n | onExit(f.close())\n | def log(msg: String) = f.write(msg)\n |}\n |\n |class B extends Logging {\n | val f = new File(\"log.data\") // triggers a NullPointerException\n |}\n |\n |// early definition gets around the NullPointerException\n |class C extends {\n | val f = new File(\"log.data\")\n |} with Logging"
390 49814 12391 - 12895 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("|trait Logging {\n | val f: File\n | f.open()\n | onExit(f.close())\n | def log(msg: String) = f.write(msg)\n |}\n |\n |class B extends Logging {\n | val f = new File(\"log.data\") // triggers a NullPointerException\n |}\n |\n |// early definition gets around the NullPointerException\n |class C extends {\n | val f = new File(\"log.data\")\n |} with Logging").stripMargin
393 49815 12923 - 13144 Literal <nosymbol> "|trait Logging(f: File) {\n | f.open()\n | onExit(f.close())\n | def log(msg: String) = f.write(msg)\n |}\n |\n |class C extends Logging(new File(\"log.data\"))"
399 49816 12923 - 13156 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("|trait Logging(f: File) {\n | f.open()\n | onExit(f.close())\n | def log(msg: String) = f.write(msg)\n |}\n |\n |class C extends Logging(new File(\"log.data\"))").stripMargin
401 49817 13164 - 13521 Apply scala.StringContext.apply scala.StringContext.apply("|Earlier versions of Scala did not support trait parameters and \"early\n |definitions\" (also known as \"early initializers\") were used as an alternative.\n |\n |Example of old syntax:\n |\n |", "\n |\n |The above code can now be written as:\n |\n |", "\n |")
401 49819 13164 - 13521 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Earlier versions of Scala did not support trait parameters and \"early\n |definitions\" (also known as \"early initializers\") were used as an alternative.\n |\n |Example of old syntax:\n |\n |", "\n |\n |The above code can now be written as:\n |\n |", "\n |")).hl(code1, code2)(EarlyDefinitionsNotSupported.this.ctx)
401 49818 13164 - 13164 Select dotty.tools.dotc.reporting.diagnostic.messages.EarlyDefinitionsNotSupported.ctx EarlyDefinitionsNotSupported.this.ctx
417 49820 13672 - 13680 Literal <nosymbol> "Syntax"
418 49823 13695 - 13695 Select dotty.tools.dotc.reporting.diagnostic.messages.TopLevelImplicitClass.ctx TopLevelImplicitClass.this.ctx
418 49822 13705 - 13721 Literal <nosymbol> "implicit class"
418 49824 13695 - 13746 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("An ", " may not be top-level")).hl("implicit class")(TopLevelImplicitClass.this.ctx)
418 49821 13695 - 13746 Apply scala.StringContext.apply scala.StringContext.apply("An ", " may not be top-level")
421 49826 13796 - 13796 Select scala.Tuple5._2 x$8._2
421 49829 13830 - 13830 Select scala.Tuple5._5 x$8._5
421 49828 13821 - 13821 Select scala.Tuple5._4 x$8._4
421 49825 13790 - 13790 Select scala.Tuple5._1 x$8._1
421 49827 13812 - 13812 Select scala.Tuple5._3 x$8._3
423 49832 13908 - 13913 Block <nosymbol> "..."
423 49831 13908 - 13913 Literal <nosymbol> "..."
423 49830 13882 - 13906 Select scala.collection.SeqLike.isEmpty constr0.vparamss.isEmpty
424 49834 13927 - 14001 Block scala.collection.TraversableOnce.mkString constr0.vparamss.apply(0).map[String, List[String]](((x$9: dotty.tools.dotc.ast.Trees.ValDef[dotty.tools.dotc.ast.Trees.Untyped]) => x$9.withMods(ast.untpd.Modifiers.apply(ast.untpd.Modifiers.apply$default$1, ast.untpd.Modifiers.apply$default$2, ast.untpd.Modifiers.apply$default$3, ast.untpd.Modifiers.apply$default$4)).show(TopLevelImplicitClass.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(", ")
424 49833 13927 - 14001 Apply scala.collection.TraversableOnce.mkString constr0.vparamss.apply(0).map[String, List[String]](((x$9: dotty.tools.dotc.ast.Trees.ValDef[dotty.tools.dotc.ast.Trees.Untyped]) => x$9.withMods(ast.untpd.Modifiers.apply(ast.untpd.Modifiers.apply$default$1, ast.untpd.Modifiers.apply$default$2, ast.untpd.Modifiers.apply$default$3, ast.untpd.Modifiers.apply$default$4)).show(TopLevelImplicitClass.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(", ")
425 49835 14033 - 14033 Select dotty.tools.dotc.reporting.diagnostic.messages.TopLevelImplicitClass.ctx TopLevelImplicitClass.this.ctx
425 49837 14028 - 14056 Apply scala.collection.LinearSeqOptimized.exists impl.body(TopLevelImplicitClass.this.ctx).exists(((x$10: dotty.tools.dotc.ast.Trees.Tree[dotty.tools.dotc.ast.Trees.Untyped]) => x$10.isEmpty.unary_!))
425 49836 14045 - 14055 Select scala.Boolean.unary_! x$10.isEmpty.unary_!
426 49841 14116 - 14118 Literal <nosymbol> ""
426 49840 14097 - 14110 Block <nosymbol> "{\n ...\n }"
426 49842 14116 - 14118 Block <nosymbol> ""
426 49839 14097 - 14110 Literal <nosymbol> "{\n ...\n }"
426 49838 14085 - 14095 TypeApply dotty.tools.dotc.reporting.diagnostic.messages.TopLevelImplicitClass.defHasBody defHasBody[Nothing]
427 49844 14125 - 14125 Select dotty.tools.dotc.reporting.diagnostic.messages.TopLevelImplicitClass.ctx TopLevelImplicitClass.this.ctx
427 49843 14125 - 14445 Apply scala.StringContext.apply scala.StringContext.apply("|There may not be any method, member or object in scope with the same name as\n |the implicit class and a case class automatically gets a companion object with\n |the same name created by the compiler which would cause a naming conflict if it\n |were allowed.\n |\n |")
432 49853 14480 - 14887 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|\n |\n |To resolve the conflict declare ", " inside of an ", " then import the class\n |from the object at the use site if needed, for example:\n |\n |object Implicits {\n | implicit class ", "(", ")", "\n |}\n |\n |// At the use site:\n |import Implicits.", "")).hl(TopLevelImplicitClass.this.cdef.name, "object", TopLevelImplicitClass.this.cdef.name, exampleArgs, exampleBody, TopLevelImplicitClass.this.cdef.name)(TopLevelImplicitClass.this.ctx)
432 49852 14480 - 14480 Select dotty.tools.dotc.reporting.diagnostic.messages.TopLevelImplicitClass.ctx TopLevelImplicitClass.this.ctx
432 49846 14448 - 14477 ApplyToImplicitArgs dotty.tools.dotc.reporting.diagnostic.messages.implicitClassRestrictionsText messages.this.implicitClassRestrictionsText(TopLevelImplicitClass.this.ctx)
432 49854 14125 - 14887 Apply java.lang.String.+ dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|There may not be any method, member or object in scope with the same name as\n |the implicit class and a case class automatically gets a companion object with\n |the same name created by the compiler which would cause a naming conflict if it\n |were allowed.\n |\n |")).hl()(TopLevelImplicitClass.this.ctx).+(messages.this.implicitClassRestrictionsText(TopLevelImplicitClass.this.ctx)).+(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|\n |\n |To resolve the conflict declare ", " inside of an ", " then import the class\n |from the object at the use site if needed, for example:\n |\n |object Implicits {\n | implicit class ", "(", ")", "\n |}\n |\n |// At the use site:\n |import Implicits.", "")).hl(TopLevelImplicitClass.this.cdef.name, "object", TopLevelImplicitClass.this.cdef.name, exampleArgs, exampleBody, TopLevelImplicitClass.this.cdef.name)(TopLevelImplicitClass.this.ctx))
432 49845 14448 - 14448 Select dotty.tools.dotc.reporting.diagnostic.messages.TopLevelImplicitClass.ctx TopLevelImplicitClass.this.ctx
432 49847 14480 - 14887 Apply scala.StringContext.apply scala.StringContext.apply("|\n |\n |To resolve the conflict declare ", " inside of an ", " then import the class\n |from the object at the use site if needed, for example:\n |\n |object Implicits {\n | implicit class ", "(", ")", "\n |}\n |\n |// At the use site:\n |import Implicits.", "")
434 49849 14572 - 14580 Literal <nosymbol> "object"
434 49848 14546 - 14555 Select dotty.tools.dotc.ast.Trees.TypeDef.name TopLevelImplicitClass.this.cdef.name
438 49850 14747 - 14756 Select dotty.tools.dotc.ast.Trees.TypeDef.name TopLevelImplicitClass.this.cdef.name
442 49851 14874 - 14883 Select dotty.tools.dotc.ast.Trees.TypeDef.name TopLevelImplicitClass.this.cdef.name
448 49855 15030 - 15038 Literal <nosymbol> "Syntax"
449 49859 15053 - 15053 Select dotty.tools.dotc.reporting.diagnostic.messages.ImplicitCaseClass.ctx ImplicitCaseClass.this.ctx
449 49858 15100 - 15110 Literal <nosymbol> "implicit"
449 49860 15053 - 15114 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("A ", " may not be defined as ", "")).hl("case class", "implicit")(ImplicitCaseClass.this.ctx)
449 49857 15062 - 15074 Literal <nosymbol> "case class"
449 49856 15053 - 15114 Apply scala.StringContext.apply scala.StringContext.apply("A ", " may not be defined as ", "")
452 49861 15144 - 15303 Apply scala.StringContext.apply scala.StringContext.apply("|implicit classes may not be case classes. Instead use a plain class:\n |\n |implicit class ", "...\n |\n |")
452 49863 15144 - 15144 Select dotty.tools.dotc.reporting.diagnostic.messages.ImplicitCaseClass.ctx ImplicitCaseClass.this.ctx
454 49862 15261 - 15270 Select dotty.tools.dotc.ast.Trees.TypeDef.name ImplicitCaseClass.this.cdef.name
456 49864 15306 - 15306 Select dotty.tools.dotc.reporting.diagnostic.messages.ImplicitCaseClass.ctx ImplicitCaseClass.this.ctx
456 49866 15144 - 15335 Apply java.lang.String.+ dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|implicit classes may not be case classes. Instead use a plain class:\n |\n |implicit class ", "...\n |\n |")).hl(ImplicitCaseClass.this.cdef.name)(ImplicitCaseClass.this.ctx).+(messages.this.implicitClassRestrictionsText(ImplicitCaseClass.this.ctx))
456 49865 15306 - 15335 ApplyToImplicitArgs dotty.tools.dotc.reporting.diagnostic.messages.implicitClassRestrictionsText messages.this.implicitClassRestrictionsText(ImplicitCaseClass.this.ctx)
461 49867 15490 - 15498 Literal <nosymbol> "Syntax"
462 49868 15513 - 15585 Literal <nosymbol> "Implicit classes must accept exactly one primary constructor parameter"
464 49869 15630 - 15677 Literal <nosymbol> "implicit class RichDate(date: java.util.Date)"
465 49871 15684 - 15684 Select dotty.tools.dotc.reporting.diagnostic.messages.ImplicitClassPrimaryConstructorArity.ctx ImplicitClassPrimaryConstructorArity.this.ctx
465 49870 15684 - 16001 Apply scala.StringContext.apply scala.StringContext.apply("Implicit classes may only take one non-implicit argument in their constructor. For example:\n |\n | ", "\n |\n |While it’s possible to create an implicit class with more than one non-implicit argument,\n |such classes aren’t used during implicit lookup.\n |")
471 49873 16004 - 16033 ApplyToImplicitArgs dotty.tools.dotc.reporting.diagnostic.messages.implicitClassRestrictionsText messages.this.implicitClassRestrictionsText(ImplicitClassPrimaryConstructorArity.this.ctx)
471 49872 16004 - 16004 Select dotty.tools.dotc.reporting.diagnostic.messages.ImplicitClassPrimaryConstructorArity.ctx ImplicitClassPrimaryConstructorArity.this.ctx
471 49874 15684 - 16033 Apply java.lang.String.+ dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Implicit classes may only take one non-implicit argument in their constructor. For example:\n |\n | ", "\n |\n |While it’s possible to create an implicit class with more than one non-implicit argument,\n |such classes aren’t used during implicit lookup.\n |")).hl(example)(ImplicitClassPrimaryConstructorArity.this.ctx).+(messages.this.implicitClassRestrictionsText(ImplicitClassPrimaryConstructorArity.this.ctx))
477 49875 16192 - 16200 Literal <nosymbol> "Syntax"
478 49877 16222 - 16230 Literal <nosymbol> "object"
478 49880 16215 - 16266 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "s must not have a self ", "")).hl("object", "type")(ObjectMayNotHaveSelfType.this.ctx)
478 49879 16215 - 16215 Select dotty.tools.dotc.reporting.diagnostic.messages.ObjectMayNotHaveSelfType.ctx ObjectMayNotHaveSelfType.this.ctx
478 49876 16215 - 16266 Apply scala.StringContext.apply scala.StringContext.apply("", "s must not have a self ", "")
478 49878 16256 - 16262 Literal <nosymbol> "type"
481 49882 16324 - 16324 Select scala.Tuple2._2 x$11._2
481 49881 16318 - 16318 Select scala.Tuple2._1 x$11._1
482 49883 16371 - 16380 Select dotty.tools.dotc.ast.Trees.Template.self tmpl.self
483 49886 16429 - 16435 Literal <nosymbol> "type"
483 49889 16387 - 16387 Select dotty.tools.dotc.reporting.diagnostic.messages.ObjectMayNotHaveSelfType.ctx ObjectMayNotHaveSelfType.this.ctx
483 49885 16395 - 16403 Literal <nosymbol> "object"
483 49884 16387 - 16704 Apply scala.StringContext.apply scala.StringContext.apply("|", "s must not have a self ", ":\n |\n |Consider these alternative solutions:\n | - Create a trait or a class instead of an object\n | - Let the object extend a trait containing the self type:\n |\n | object ", " extends ", "")
483 49890 16387 - 16704 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", "s must not have a self ", ":\n |\n |Consider these alternative solutions:\n | - Create a trait or a class instead of an object\n | - Let the object extend a trait containing the self type:\n |\n | object ", " extends ", "")).hl("object", "type", name, selfTpt.show(ObjectMayNotHaveSelfType.this.ctx))(ObjectMayNotHaveSelfType.this.ctx)
489 49888 16688 - 16700 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show selfTpt.show(ObjectMayNotHaveSelfType.this.ctx)
489 49887 16696 - 16696 Select dotty.tools.dotc.reporting.diagnostic.messages.ObjectMayNotHaveSelfType.ctx ObjectMayNotHaveSelfType.this.ctx
496 49891 16875 - 16883 Literal <nosymbol> "Syntax"
497 49895 16898 - 16898 Select dotty.tools.dotc.reporting.diagnostic.messages.TupleTooLong.ctx TupleTooLong.this.ctx
497 49894 16940 - 16953 Select dotty.tools.dotc.core.Definitions.MaxTupleArity dotc.core.Definitions.MaxTupleArity
497 49893 16907 - 16914 Literal <nosymbol> "tuple"
497 49896 16898 - 16965 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("A ", " cannot have more than ", " members")).hl("tuple", dotc.core.Definitions.MaxTupleArity)(TupleTooLong.this.ctx)
497 49892 16898 - 16965 Apply scala.StringContext.apply scala.StringContext.apply("A ", " cannot have more than ", " members")
500 49897 17020 - 17020 Select dotty.tools.dotc.reporting.diagnostic.messages.TupleTooLong.ctx TupleTooLong.this.ctx
500 49900 17041 - 17054 Select dotty.tools.dotc.core.Definitions.MaxTupleArity dotc.core.Definitions.MaxTupleArity
500 49899 17017 - 17017 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[String]
500 49898 17018 - 17031 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.showSummary x$12.showSummary(TupleTooLong.this.ctx)
500 49901 17011 - 17055 Apply scala.collection.IterableLike.grouped TupleTooLong.this.ts.map[String, List[String]](((x$12: dotty.tools.dotc.ast.untpd.Tree) => x$12.showSummary(TupleTooLong.this.ctx)))(immutable.this.List.canBuildFrom[String]).grouped(dotc.core.Definitions.MaxTupleArity)
501 49902 17089 - 17133 Apply scala.collection.TraversableOnce.mkString members.map[String](((x$13: List[String]) => x$13.mkString(", "))).mkString(")(")
502 49906 17140 - 17362 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|This restriction will be removed in the future.\n |Currently it is possible to use nested tuples when more than ", " are needed, for example:\n |\n |((", "))")).hl(dotc.core.Definitions.MaxTupleArity, nestedRepresentation)(TupleTooLong.this.ctx)
502 49903 17140 - 17362 Apply scala.StringContext.apply scala.StringContext.apply("|This restriction will be removed in the future.\n |Currently it is possible to use nested tuples when more than ", " are needed, for example:\n |\n |((", "))")
502 49905 17140 - 17140 Select dotty.tools.dotc.reporting.diagnostic.messages.TupleTooLong.ctx TupleTooLong.this.ctx
503 49904 17268 - 17281 Select dotty.tools.dotc.core.Definitions.MaxTupleArity dotc.core.Definitions.MaxTupleArity
511 49907 17499 - 17507 Literal <nosymbol> "Syntax"
512 49909 17546 - 17554 Select dotty.tools.dotc.reporting.diagnostic.messages.RepeatedModifier.modifier RepeatedModifier.this.modifier
512 49911 17522 - 17557 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("repeated modifier ", "")).hl(RepeatedModifier.this.modifier)(RepeatedModifier.this.ctx)
512 49908 17522 - 17557 Apply scala.StringContext.apply scala.StringContext.apply("repeated modifier ", "")
512 49910 17522 - 17522 Select dotty.tools.dotc.reporting.diagnostic.messages.RepeatedModifier.ctx RepeatedModifier.this.ctx
515 49913 17601 - 17601 Select dotty.tools.dotc.reporting.diagnostic.messages.RepeatedModifier.ctx RepeatedModifier.this.ctx
515 49912 17601 - 17649 Apply scala.StringContext.apply scala.StringContext.apply("private private val Origin = Point(0, 0)")
515 49914 17601 - 17649 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("private private val Origin = Point(0, 0)")).hl()(RepeatedModifier.this.ctx)
516 49915 17668 - 17714 Apply scala.StringContext.apply scala.StringContext.apply("private final val Origin = Point(0, 0)")
516 49917 17668 - 17714 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("private final val Origin = Point(0, 0)")).hl()(RepeatedModifier.this.ctx)
516 49916 17668 - 17668 Select dotty.tools.dotc.reporting.diagnostic.messages.RepeatedModifier.ctx RepeatedModifier.this.ctx
517 49918 17721 - 17956 Apply scala.StringContext.apply scala.StringContext.apply("This happens when you accidentally specify the same modifier twice.\n |\n |Example:\n |\n |", "\n |\n |instead of\n |\n |", "\n |\n |")
517 49920 17721 - 17956 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("This happens when you accidentally specify the same modifier twice.\n |\n |Example:\n |\n |", "\n |\n |instead of\n |\n |", "\n |\n |")).hl(code1, code2)(RepeatedModifier.this.ctx)
517 49919 17721 - 17721 Select dotty.tools.dotc.reporting.diagnostic.messages.RepeatedModifier.ctx RepeatedModifier.this.ctx
533 49921 18091 - 18099 Literal <nosymbol> "Syntax"
534 49922 18114 - 18174 Literal <nosymbol> "error in interpolated string: identifier or block expected"
536 49923 18217 - 18240 Literal <nosymbol> "s\"$new Point(0, 0)\""
537 49924 18259 - 18284 Literal <nosymbol> "s\"${new Point(0, 0)}\""
538 49927 18291 - 18506 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|This usually happens when you forget to place your expressions inside curly braces.\n |\n |", "\n |\n |should be written as\n |\n |", "\n |")).hl(code1, code2)(InterpolatedStringError.this.ctx)
538 49926 18291 - 18291 Select dotty.tools.dotc.reporting.diagnostic.messages.InterpolatedStringError.ctx InterpolatedStringError.this.ctx
538 49925 18291 - 18506 Apply scala.StringContext.apply scala.StringContext.apply("|This usually happens when you forget to place your expressions inside curly braces.\n |\n |", "\n |\n |should be written as\n |\n |", "\n |")
551 49928 18649 - 18657 Literal <nosymbol> "Syntax"
552 49929 18672 - 18725 Literal <nosymbol> "unbound placeholder parameter; incorrect use of `_`"
554 49939 18754 - 19834 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|The `_` placeholder syntax was used where it could not be bound.\n |Consider explicitly writing the variable binding.\n |\n |This can be done by replacing `_` with a variable (eg. `x`)\n |and adding ", " where applicable.\n |\n |Example before:\n |\n |", "\n |\n |Example after:\n |\n |", "\n |\n |Another common occurrence for this error is defining a val with `_`:\n |\n |", "\n |\n |But this val definition isn\'t very useful, it can never be assigned\n |another value. And thus will always remain uninitialized.\n |Consider replacing the ", " with ", ":\n |\n |", "\n |\n |Note that this use of `_` is not placeholder syntax,\n |but an uninitialized var definition.\n |Only fields can be left uninitialized in this manner; local variables\n |must be initialized.\n |")).hl("x =>", "{ _ }", "x => { x }", "val a = _", "val", "var", "var a = _")(UnboundPlaceholderParameter.this.ctx)
554 49930 18754 - 19834 Apply scala.StringContext.apply scala.StringContext.apply("|The `_` placeholder syntax was used where it could not be bound.\n |Consider explicitly writing the variable binding.\n |\n |This can be done by replacing `_` with a variable (eg. `x`)\n |and adding ", " where applicable.\n |\n |Example before:\n |\n |", "\n |\n |Example after:\n |\n |", "\n |\n |Another common occurrence for this error is defining a val with `_`:\n |\n |", "\n |\n |But this val definition isn\'t very useful, it can never be assigned\n |another value. And thus will always remain uninitialized.\n |Consider replacing the ", " with ", ":\n |\n |", "\n |\n |Note that this use of `_` is not placeholder syntax,\n |but an uninitialized var definition.\n |Only fields can be left uninitialized in this manner; local variables\n |must be initialized.\n |")
554 49938 18754 - 18754 Select dotty.tools.dotc.reporting.diagnostic.messages.UnboundPlaceholderParameter.ctx UnboundPlaceholderParameter.this.ctx
558 49931 18997 - 19003 Literal <nosymbol> "x =>"
562 49932 19091 - 19098 Literal <nosymbol> "{ _ }"
566 49933 19167 - 19179 Literal <nosymbol> "x => { x }"
570 49934 19302 - 19313 Literal <nosymbol> "val a = _"
574 49936 19529 - 19534 Literal <nosymbol> "var"
574 49935 19515 - 19520 Literal <nosymbol> "val"
576 49937 19564 - 19575 Literal <nosymbol> "var a = _"
587 49940 19982 - 19990 Literal <nosymbol> "Syntax"
588 49941 20005 - 20041 Literal <nosymbol> "illegal start of simple expression"
590 49942 20072 - 20532 Apply scala.StringContext.apply scala.StringContext.apply("|An expression yields a value. In the case of the simple expression, this error\n |commonly occurs when there\'s a missing parenthesis or brace. The reason being\n |that a simple expression is one of the following:\n |\n |- Block\n |- Expression in parenthesis\n |- Identifier\n |- Object creation\n |- Literal\n |\n |which cannot start with ", ".")
590 49945 20072 - 20072 Select dotty.tools.dotc.reporting.diagnostic.messages.IllegalStartSimpleExpr.ctx IllegalStartSimpleExpr.this.ctx
590 49946 20072 - 20532 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|An expression yields a value. In the case of the simple expression, this error\n |commonly occurs when there\'s a missing parenthesis or brace. The reason being\n |that a simple expression is one of the following:\n |\n |- Block\n |- Expression in parenthesis\n |- Identifier\n |- Object creation\n |- Literal\n |\n |which cannot start with ", ".")).hl(printing.Highlighting.Red.apply(IllegalStartSimpleExpr.this.illegalToken))(IllegalStartSimpleExpr.this.ctx)
600 49944 20510 - 20527 Apply dotty.tools.dotc.printing.Highlighting.Red.apply printing.Highlighting.Red.apply(IllegalStartSimpleExpr.this.illegalToken)
600 49943 20514 - 20526 Select dotty.tools.dotc.reporting.diagnostic.messages.IllegalStartSimpleExpr.illegalToken IllegalStartSimpleExpr.this.illegalToken
606 49947 20655 - 20663 Literal <nosymbol> "Syntax"
607 49948 20678 - 20699 Literal <nosymbol> "missing return type"
609 49949 20728 - 20930 Apply scala.StringContext.apply scala.StringContext.apply("|An abstract declaration must have a return type. For example:\n |\n |trait Shape {\n | def area: Double // abstract declaration returning a ", "\n |}")
609 49951 20728 - 20728 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingReturnType.ctx MissingReturnType.this.ctx
609 49952 20728 - 20930 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|An abstract declaration must have a return type. For example:\n |\n |trait Shape {\n | def area: Double // abstract declaration returning a ", "\n |}")).hl("Double")(MissingReturnType.this.ctx)
612 49950 20904 - 20912 Literal <nosymbol> "Double"
618 49953 21100 - 21108 Literal <nosymbol> "Syntax"
619 49957 21123 - 21181 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " has a return statement; it needs a result type")).hl(MissingReturnTypeWithReturnStatement.this.method)(MissingReturnTypeWithReturnStatement.this.ctx)
619 49954 21123 - 21181 Apply scala.StringContext.apply scala.StringContext.apply("", " has a return statement; it needs a result type")
619 49956 21123 - 21123 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingReturnTypeWithReturnStatement.ctx MissingReturnTypeWithReturnStatement.this.ctx
619 49955 21127 - 21133 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingReturnTypeWithReturnStatement.method MissingReturnTypeWithReturnStatement.this.method
621 49962 21210 - 21409 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|If a method contains a ", " statement, it must have an\n |explicit return type. For example:\n |\n |", "")).hl("return", "def good: Int /* explicit return type */ = return 1")(MissingReturnTypeWithReturnStatement.this.ctx)
621 49959 21241 - 21249 Literal <nosymbol> "return"
621 49958 21210 - 21409 Apply scala.StringContext.apply scala.StringContext.apply("|If a method contains a ", " statement, it must have an\n |explicit return type. For example:\n |\n |", "")
621 49961 21210 - 21210 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingReturnTypeWithReturnStatement.ctx MissingReturnTypeWithReturnStatement.this.ctx
624 49960 21352 - 21405 Literal <nosymbol> "def good: Int /* explicit return type */ = return 1"
629 49963 21563 - 21571 Literal <nosymbol> "Syntax"
630 49966 21605 - 21609 Literal <nosymbol> "do"
630 49965 21591 - 21598 Literal <nosymbol> "yield"
630 49968 21586 - 21620 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " or ", " expected")).hl("yield", "do")(YieldOrDoExpectedInForComprehension.this.ctx)
630 49967 21586 - 21586 Select dotty.tools.dotc.reporting.diagnostic.messages.YieldOrDoExpectedInForComprehension.ctx YieldOrDoExpectedInForComprehension.this.ctx
630 49964 21586 - 21620 Apply scala.StringContext.apply scala.StringContext.apply("", " or ", " expected")
633 49969 21650 - 22644 Apply scala.StringContext.apply scala.StringContext.apply("|When the enumerators in a for comprehension are not placed in parentheses or\n |braces, a ", " or ", " statement is required after the enumerators\n |section of the comprehension.\n |\n |You can save some keystrokes by omitting the parentheses and writing\n |\n |", "\n |\n | instead of\n |\n |", "\n |\n |but the ", " keyword is still required.\n |\n |For comprehensions that simply perform a side effect without yielding anything\n |can also be written without parentheses but a ", " keyword has to be\n |included. For example,\n |\n |", "\n |\n |can be written as\n |\n |", "\n |\n |")
633 49978 21650 - 21650 Select dotty.tools.dotc.reporting.diagnostic.messages.YieldOrDoExpectedInForComprehension.ctx YieldOrDoExpectedInForComprehension.this.ctx
633 49979 21650 - 22644 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|When the enumerators in a for comprehension are not placed in parentheses or\n |braces, a ", " or ", " statement is required after the enumerators\n |section of the comprehension.\n |\n |You can save some keystrokes by omitting the parentheses and writing\n |\n |", "\n |\n | instead of\n |\n |", "\n |\n |but the ", " keyword is still required.\n |\n |For comprehensions that simply perform a side effect without yielding anything\n |can also be written without parentheses but a ", " keyword has to be\n |included. For example,\n |\n |", "\n |\n |can be written as\n |\n |", "\n |\n |")).hl("do", "yield", "val numbers = for i <- 1 to 3 yield i", "val numbers = for (i <- 1 to 3) yield i", "yield", "do", "for (i <- 1 to 3) println(i)", "for i <- 1 to 3 do println(i) // notice the \'do\' keyword")(YieldOrDoExpectedInForComprehension.this.ctx)
634 49971 21768 - 21775 Literal <nosymbol> "yield"
634 49970 21757 - 21761 Literal <nosymbol> "do"
639 49972 21984 - 22023 Literal <nosymbol> "val numbers = for i <- 1 to 3 yield i"
643 49973 22090 - 22131 Literal <nosymbol> "val numbers = for (i <- 1 to 3) yield i"
645 49974 22168 - 22175 Literal <nosymbol> "yield"
648 49975 22368 - 22372 Literal <nosymbol> "do"
651 49976 22454 - 22484 Literal <nosymbol> "for (i <- 1 to 3) println(i)"
655 49977 22556 - 22614 Literal <nosymbol> "for i <- 1 to 3 do println(i) // notice the \'do\' keyword"
662 49980 22776 - 22798 Literal <nosymbol> "Definition Not Found"
663 49981 22813 - 22869 Apply scala.StringContext.apply scala.StringContext.apply("Proper definition was not found in ", "")
663 49984 22813 - 22869 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Proper definition was not found in ", "")).hl("@usecase")(ProperDefinitionNotFound.this.ctx)
663 49983 22813 - 22813 Select dotty.tools.dotc.reporting.diagnostic.messages.ProperDefinitionNotFound.ctx ProperDefinitionNotFound.this.ctx
663 49982 22855 - 22865 Literal <nosymbol> "@usecase"
667 49985 22925 - 23005 Literal <nosymbol> "def map[B, That](f: A => B)(implicit bf: CanBuildFrom[List[A], B, That]): That"
670 49986 23035 - 23266 Literal <nosymbol> "|/** Map from List[A] => List[B]\n | *\n | * @usecase def map[B](f: A => B): List[B]\n | */\n |def map[B, That](f: A => B)(implicit bf: CanBuildFrom[List[A], B, That]): That\n |"
675 49987 23035 - 23278 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("|/** Map from List[A] => List[B]\n | *\n | * @usecase def map[B](f: A => B): List[B]\n | */\n |def map[B, That](f: A => B)(implicit bf: CanBuildFrom[List[A], B, That]): That\n |").stripMargin
677 49993 23286 - 23286 Select dotty.tools.dotc.reporting.diagnostic.messages.ProperDefinitionNotFound.ctx ProperDefinitionNotFound.this.ctx
677 49989 23326 - 23331 Literal <nosymbol> "def"
677 49994 23286 - 24230 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Usecases are only supported for ", "s. They exist because with Scala\'s\n |advanced type-system, we sometimes end up with seemingly scary signatures.\n |The usage of these methods, however, needs not be - for instance the `map`\n |function\n |\n |", "\n |\n |is easy to understand and use - but has a rather bulky signature:\n |\n |", "\n |\n |to mitigate this and ease the usage of such functions we have the ", "\n |annotation for docstrings. Which can be used like this:\n |\n |", "\n |\n |When creating the docs, the signature of the method is substituted by the\n |usecase and the compiler makes sure that it is valid. Because of this, you\'re\n |only allowed to use ", "s when defining usecases.")).hl("def", "List(1, 2, 3).map(2 * _) // res: List(2, 4, 6)", noUsecase, "@usecase", usecase, "def")(ProperDefinitionNotFound.this.ctx)
677 49988 23286 - 24230 Apply scala.StringContext.apply scala.StringContext.apply("|Usecases are only supported for ", "s. They exist because with Scala\'s\n |advanced type-system, we sometimes end up with seemingly scary signatures.\n |The usage of these methods, however, needs not be - for instance the `map`\n |function\n |\n |", "\n |\n |is easy to understand and use - but has a rather bulky signature:\n |\n |", "\n |\n |to mitigate this and ease the usage of such functions we have the ", "\n |annotation for docstrings. Which can be used like this:\n |\n |", "\n |\n |When creating the docs, the signature of the method is substituted by the\n |usecase and the compiler makes sure that it is valid. Because of this, you\'re\n |only allowed to use ", "s when defining usecases.")
682 49990 23589 - 23637 Literal <nosymbol> "List(1, 2, 3).map(2 * _) // res: List(2, 4, 6)"
688 49991 23859 - 23869 Literal <nosymbol> "@usecase"
695 49992 24196 - 24201 Literal <nosymbol> "def"
701 49995 24374 - 24382 Literal <nosymbol> "Syntax"
702 49996 24397 - 24439 Literal <nosymbol> "By-name parameter type not allowed here."
705 50002 24469 - 24469 Select dotty.tools.dotc.reporting.diagnostic.messages.ByNameParameterNotSupported.ctx ByNameParameterNotSupported.this.ctx
705 50003 24469 - 25174 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|By-name parameters act like functions that are only evaluated when referenced,\n |allowing for lazy evaluation of a parameter.\n |\n |An example of using a by-name parameter would look like:\n |", "\n |\n |An example of the syntax of passing an actual function as a parameter:\n |", "\n |\n |or:\n |\n |", "\n |\n |And the usage could be as such:\n |", "\n |")).hl("def func(f: => Boolean) = f // \'f\' is evaluated when referenced within the function", "def func(f: (Boolean => Boolean)) = f(true)", "def func(f: Boolean => Boolean) = f(true)", "func(bool => // do something...)")(ByNameParameterNotSupported.this.ctx)
705 49997 24469 - 25174 Apply scala.StringContext.apply scala.StringContext.apply("|By-name parameters act like functions that are only evaluated when referenced,\n |allowing for lazy evaluation of a parameter.\n |\n |An example of using a by-name parameter would look like:\n |", "\n |\n |An example of the syntax of passing an actual function as a parameter:\n |", "\n |\n |or:\n |\n |", "\n |\n |And the usage could be as such:\n |", "\n |")
709 49998 24707 - 24792 Literal <nosymbol> "def func(f: => Boolean) = f // \'f\' is evaluated when referenced within the function"
712 49999 24904 - 24949 Literal <nosymbol> "def func(f: (Boolean => Boolean)) = f(true)"
716 50000 25007 - 25050 Literal <nosymbol> "def func(f: Boolean => Boolean) = f(true)"
719 50001 25123 - 25157 Literal <nosymbol> "func(bool => // do something...)"
725 50004 25368 - 25376 Literal <nosymbol> "Syntax"
727 50005 25410 - 25429 Select scala.collection.LinearSeqOptimized.length WrongNumberOfTypeArgs.this.expectedArgs.length
728 50006 25460 - 25473 Select scala.collection.LinearSeqOptimized.length WrongNumberOfTypeArgs.this.actual.length
729 50008 25506 - 25533 Apply scala.Int.> WrongNumberOfTypeArgs.this.actualCount.>(WrongNumberOfTypeArgs.this.expectedCount)
729 50011 25551 - 25563 Literal <nosymbol> "Not enough"
729 50007 25520 - 25533 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.expectedCount WrongNumberOfTypeArgs.this.expectedCount
729 50010 25535 - 25545 Block <nosymbol> "Too many"
729 50012 25551 - 25563 Block <nosymbol> "Not enough"
729 50009 25535 - 25545 Literal <nosymbol> "Too many"
734 50013 25649 - 25737 Apply scala.collection.TraversableOnce.mkString WrongNumberOfTypeArgs.this.expectedArgs.map[String, List[String]](((x$14: dotty.tools.dotc.core.ParamInfo) => dotc.core.NameOps.NameDecorator[x$14.ThisName](x$14.paramName(WrongNumberOfTypeArgs.this.ctx)).unexpandedName.show(WrongNumberOfTypeArgs.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString("[", ", ", "]")
736 50014 25773 - 25816 Apply scala.collection.TraversableOnce.mkString WrongNumberOfTypeArgs.this.actual.map[String, List[String]](((x$15: dotty.tools.dotc.ast.untpd.Tree) => x$15.show(WrongNumberOfTypeArgs.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString("[", ", ", "]")
740 50016 25865 - 25881 ApplyToImplicitArgs dotty.tools.dotc.core.Types.Type.termSymbol WrongNumberOfTypeArgs.this.fntpe.termSymbol(WrongNumberOfTypeArgs.this.ctx)
740 50021 25865 - 25984 Match <nosymbol> WrongNumberOfTypeArgs.this.fntpe.termSymbol(WrongNumberOfTypeArgs.this.ctx) match { case dotc.core.Symbols.NoSymbol => WrongNumberOfTypeArgs.this.fntpe.show(WrongNumberOfTypeArgs.this.ctx) case (symbol @ _) => symbol.showFullName(WrongNumberOfTypeArgs.this.ctx) }
740 50015 25871 - 25871 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.ctx WrongNumberOfTypeArgs.this.ctx
741 50017 25923 - 25923 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.ctx WrongNumberOfTypeArgs.this.ctx
741 50018 25917 - 25927 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show WrongNumberOfTypeArgs.this.fntpe.show(WrongNumberOfTypeArgs.this.ctx)
742 50020 25955 - 25974 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showFullName symbol.showFullName(WrongNumberOfTypeArgs.this.ctx)
742 50019 25962 - 25962 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.ctx WrongNumberOfTypeArgs.this.ctx
745 50023 26028 - 26038 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show WrongNumberOfTypeArgs.this.fntpe.show(WrongNumberOfTypeArgs.this.ctx)
745 50022 26034 - 26034 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.ctx WrongNumberOfTypeArgs.this.ctx
749 50032 26068 - 26068 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.ctx WrongNumberOfTypeArgs.this.ctx
749 50026 26076 - 26094 Apply dotty.tools.dotc.printing.Highlighting.NoColor.apply printing.Highlighting.NoColor.apply(WrongNumberOfTypeArgs.this.msgPrefix)
749 50025 26084 - 26093 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.msgPrefix WrongNumberOfTypeArgs.this.msgPrefix
749 50028 26127 - 26144 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.expectedArgString WrongNumberOfTypeArgs.this.expectedArgString
749 50027 26116 - 26126 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.prettyName WrongNumberOfTypeArgs.this.prettyName
749 50024 26068 - 26238 Apply scala.StringContext.apply scala.StringContext.apply("|", " type arguments for ", "", "\n |expected: ", "\n |actual: ", "")
749 50033 26068 - 26238 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", " type arguments for ", "", "\n |expected: ", "\n |actual: ", "")).hl(printing.Highlighting.NoColor.apply(WrongNumberOfTypeArgs.this.msgPrefix), WrongNumberOfTypeArgs.this.prettyName, WrongNumberOfTypeArgs.this.expectedArgString, WrongNumberOfTypeArgs.this.expectedArgString, printing.Highlighting.NoColor.apply(WrongNumberOfTypeArgs.this.actualArgString))(WrongNumberOfTypeArgs.this.ctx)
750 50029 26168 - 26185 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.expectedArgString WrongNumberOfTypeArgs.this.expectedArgString
751 50031 26210 - 26234 Apply dotty.tools.dotc.printing.Highlighting.NoColor.apply printing.Highlighting.NoColor.apply(WrongNumberOfTypeArgs.this.actualArgString)
751 50034 26068 - 26250 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", " type arguments for ", "", "\n |expected: ", "\n |actual: ", "")).hl(printing.Highlighting.NoColor.apply(WrongNumberOfTypeArgs.this.msgPrefix), WrongNumberOfTypeArgs.this.prettyName, WrongNumberOfTypeArgs.this.expectedArgString, WrongNumberOfTypeArgs.this.expectedArgString, printing.Highlighting.NoColor.apply(WrongNumberOfTypeArgs.this.actualArgString))(WrongNumberOfTypeArgs.this.ctx)).stripMargin
751 50030 26218 - 26233 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.actualArgString WrongNumberOfTypeArgs.this.actualArgString
755 50035 26314 - 26416 Literal <nosymbol> "|val tuple2: (Int, String) = (1, \"one\")\n |val list: List[(Int, String)] = List(tuple2)"
756 50036 26314 - 26428 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("|val tuple2: (Int, String) = (1, \"one\")\n |val list: List[(Int, String)] = List(tuple2)").stripMargin
758 50038 26440 - 26467 Apply scala.Int.> WrongNumberOfTypeArgs.this.actualCount.>(WrongNumberOfTypeArgs.this.expectedCount)
758 50037 26454 - 26467 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.expectedCount WrongNumberOfTypeArgs.this.expectedCount
759 50041 26477 - 26901 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|You have supplied too many type parameters\n |\n |For example List takes a single type parameter (List[A])\n |If you need to hold more types in a list then you need to combine them\n |into another data type that can contain the number of types you need,\n |In this example one solution would be to use a Tuple:\n |\n |", "")).hl(tooManyTypeParams)(WrongNumberOfTypeArgs.this.ctx)
759 50040 26477 - 26477 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.ctx WrongNumberOfTypeArgs.this.ctx
759 50039 26477 - 26901 Apply scala.StringContext.apply scala.StringContext.apply("|You have supplied too many type parameters\n |\n |For example List takes a single type parameter (List[A])\n |If you need to hold more types in a list then you need to combine them\n |into another data type that can contain the number of types you need,\n |In this example one solution would be to use a Tuple:\n |\n |", "")
759 50042 26477 - 26901 Block dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|You have supplied too many type parameters\n |\n |For example List takes a single type parameter (List[A])\n |If you need to hold more types in a list then you need to combine them\n |into another data type that can contain the number of types you need,\n |In this example one solution would be to use a Tuple:\n |\n |", "")).hl(tooManyTypeParams)(WrongNumberOfTypeArgs.this.ctx)
768 50044 26921 - 26921 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfTypeArgs.ctx WrongNumberOfTypeArgs.this.ctx
768 50043 26921 - 27069 Apply scala.StringContext.apply scala.StringContext.apply("|You have not supplied enough type parameters\n |If you specify one type parameter then you need to specify every type parameter.")
768 50046 26921 - 27069 Block dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|You have not supplied enough type parameters\n |If you specify one type parameter then you need to specify every type parameter.")).hl()(WrongNumberOfTypeArgs.this.ctx)
768 50045 26921 - 27069 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|You have not supplied enough type parameters\n |If you specify one type parameter then you need to specify every type parameter.")).hl()(WrongNumberOfTypeArgs.this.ctx)
775 50047 27229 - 27237 Literal <nosymbol> "Syntax"
776 50048 27252 - 27303 Literal <nosymbol> "Variables are not allowed in alternative patterns"
779 50049 27365 - 27494 Literal <nosymbol> "|def g(pair: (Int,Int)): Int = pair match {\n | case (1, n) | (n, 1) => n\n | case _ => 0\n |}"
782 50050 27365 - 27506 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("|def g(pair: (Int,Int)): Int = pair match {\n | case (1, n) | (n, 1) => n\n | case _ => 0\n |}").stripMargin
785 50051 27550 - 27701 Literal <nosymbol> "|def g(pair: (Int,Int)): Int = pair match {\n | case (1, n) => n\n | case (n, 1) => n\n | case _ => 0\n |}"
789 50052 27550 - 27713 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("|def g(pair: (Int,Int)): Int = pair match {\n | case (1, n) => n\n | case (n, 1) => n\n | case _ => 0\n |}").stripMargin
791 50053 27721 - 28100 Apply scala.StringContext.apply scala.StringContext.apply("|Variables are not allowed within alternate pattern matches. You can workaround\n |this issue by adding additional cases for each alternative. For example, the\n |illegal function:\n |\n |", "\n |could be implemented by moving each alternative into a separate case:\n |\n |", "")
791 50055 27721 - 28100 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Variables are not allowed within alternate pattern matches. You can workaround\n |this issue by adding additional cases for each alternative. For example, the\n |illegal function:\n |\n |", "\n |could be implemented by moving each alternative into a separate case:\n |\n |", "")).hl(varInAlternative, fixedVarInAlternative)(IllegalVariableInPatternAlternative.this.ctx)
791 50054 27721 - 27721 Select dotty.tools.dotc.reporting.diagnostic.messages.IllegalVariableInPatternAlternative.ctx IllegalVariableInPatternAlternative.this.ctx
804 50056 28244 - 28252 Literal <nosymbol> "Syntax"
805 50057 28267 - 28288 Literal <nosymbol> "identifier expected"
807 50059 28363 - 28372 Literal <nosymbol> " = {...}"
807 50058 28343 - 28353 Literal <nosymbol> "def foo: "
807 50061 28341 - 28372 Apply scala.StringContext.s scala.StringContext.apply("def foo: ", " = {...}").s(IdentifierExpected.this.identifier)
807 50060 28353 - 28363 Select dotty.tools.dotc.reporting.diagnostic.messages.IdentifierExpected.identifier IdentifierExpected.this.identifier
808 50062 28401 - 28419 Apply scala.StringContext.s scala.StringContext.apply("def foo = {...}").s()
809 50064 28462 - 28472 Select dotty.tools.dotc.reporting.diagnostic.messages.IdentifierExpected.identifier IdentifierExpected.this.identifier
809 50067 28426 - 28812 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|An identifier expected, but `", "` found. This could be because\n |`", "` is not a valid identifier. As a workaround, the compiler could\n |infer the type for you. For example, instead of:\n |\n |", "\n |\n |Write your code like:\n |\n |", "\n |\n |")).hl(IdentifierExpected.this.identifier, IdentifierExpected.this.identifier, wrongIdentifier, validIdentifier)(IdentifierExpected.this.ctx)
809 50063 28426 - 28812 Apply scala.StringContext.apply scala.StringContext.apply("|An identifier expected, but `", "` found. This could be because\n |`", "` is not a valid identifier. As a workaround, the compiler could\n |infer the type for you. For example, instead of:\n |\n |", "\n |\n |Write your code like:\n |\n |", "\n |\n |")
809 50066 28426 - 28426 Select dotty.tools.dotc.reporting.diagnostic.messages.IdentifierExpected.ctx IdentifierExpected.this.ctx
810 50065 28517 - 28527 Select dotty.tools.dotc.reporting.diagnostic.messages.IdentifierExpected.identifier IdentifierExpected.this.identifier
825 50068 28979 - 28987 Literal <nosymbol> "Syntax"
826 50069 29002 - 29059 Literal <nosymbol> "auxiliary constructor needs non-implicit parameter list"
828 50071 29139 - 29149 Literal <nosymbol> "implicit"
828 50074 29088 - 29088 Select dotty.tools.dotc.reporting.diagnostic.messages.AuxConstructorNeedsNonImplicitParameter.ctx AuxConstructorNeedsNonImplicitParameter.this.ctx
828 50070 29088 - 29620 Apply scala.StringContext.apply scala.StringContext.apply("|Only the primary constructor is allowed an ", " parameter list;\n |auxiliary constructors need non-implicit parameter lists. When a primary\n |constructor has an implicit argslist, auxiliary constructors that call the\n |primary constructor must specify the implicit value.\n |\n |To resolve this issue check for:\n | - forgotten parenthesis on ", " (", ")\n | - auxiliary constructors specify the implicit value\n |")
828 50075 29088 - 29620 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Only the primary constructor is allowed an ", " parameter list;\n |auxiliary constructors need non-implicit parameter lists. When a primary\n |constructor has an implicit argslist, auxiliary constructors that call the\n |primary constructor must specify the implicit value.\n |\n |To resolve this issue check for:\n | - forgotten parenthesis on ", " (", ")\n | - auxiliary constructors specify the implicit value\n |")).hl("implicit", "this", "def this() = { ... }")(AuxConstructorNeedsNonImplicitParameter.this.ctx)
834 50073 29515 - 29537 Literal <nosymbol> "def this() = { ... }"
834 50072 29504 - 29510 Literal <nosymbol> "this"
841 50076 29768 - 29776 Literal <nosymbol> "Syntax"
842 50077 29791 - 29805 Literal <nosymbol> "\'*\' expected"
844 50083 29834 - 29834 Select dotty.tools.dotc.reporting.diagnostic.messages.IncorrectRepeatedParameterSyntax.ctx IncorrectRepeatedParameterSyntax.this.ctx
844 50078 29834 - 30790 Apply scala.StringContext.apply scala.StringContext.apply("|Expected * in \'_*\' operator.\n |\n |The \'_*\' operator can be used to supply a sequence-based argument\n |to a method with a variable-length or repeated parameter. It is used\n |to expand the sequence to a variable number of arguments, such that:\n |func(args: _*) would expand to func(arg1, arg2 ... argN).\n |\n |Below is an example of how a method with a variable-length\n |parameter can be declared and used.\n |\n |Squares the arguments of a variable-length parameter:\n |", "\n |\n |Usage:\n |", "\n |\n |Secondary Usage with \'_*\':\n |", "\n |", "\n |")
844 50084 29834 - 30790 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Expected * in \'_*\' operator.\n |\n |The \'_*\' operator can be used to supply a sequence-based argument\n |to a method with a variable-length or repeated parameter. It is used\n |to expand the sequence to a variable number of arguments, such that:\n |func(args: _*) would expand to func(arg1, arg2 ... argN).\n |\n |Below is an example of how a method with a variable-length\n |parameter can be declared and used.\n |\n |Squares the arguments of a variable-length parameter:\n |", "\n |\n |Usage:\n |", "\n |\n |Secondary Usage with \'_*\':\n |", "\n |", "\n |")).hl("def square(args: Int*) = args.map(a => a * a)", "square(1, 2, 3) // res0: List[Int] = List(1, 4, 9)", "val ints = List(2, 3, 4) // ints: List[Int] = List(2, 3, 4)", "square(ints: _*) // res1: List[Int] = List(4, 9, 16)")(IncorrectRepeatedParameterSyntax.this.ctx)
855 50079 30417 - 30464 Literal <nosymbol> "def square(args: Int*) = args.map(a => a * a)"
858 50080 30512 - 30564 Literal <nosymbol> "square(1, 2, 3) // res0: List[Int] = List(1, 4, 9)"
861 50081 30632 - 30694 Literal <nosymbol> "val ints = List(2, 3, 4) // ints: List[Int] = List(2, 3, 4)"
862 50082 30710 - 30773 Literal <nosymbol> "square(ints: _*) // res1: List[Int] = List(4, 9, 16)"
863 50085 29834 - 30802 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Expected * in \'_*\' operator.\n |\n |The \'_*\' operator can be used to supply a sequence-based argument\n |to a method with a variable-length or repeated parameter. It is used\n |to expand the sequence to a variable number of arguments, such that:\n |func(args: _*) would expand to func(arg1, arg2 ... argN).\n |\n |Below is an example of how a method with a variable-length\n |parameter can be declared and used.\n |\n |Squares the arguments of a variable-length parameter:\n |", "\n |\n |Usage:\n |", "\n |\n |Secondary Usage with \'_*\':\n |", "\n |", "\n |")).hl("def square(args: Int*) = args.map(a => a * a)", "square(1, 2, 3) // res0: List[Int] = List(1, 4, 9)", "val ints = List(2, 3, 4) // ints: List[Int] = List(2, 3, 4)", "square(ints: _*) // res1: List[Int] = List(4, 9, 16)")(IncorrectRepeatedParameterSyntax.this.ctx)).stripMargin
868 50086 30914 - 30922 Literal <nosymbol> "Syntax"
869 50087 30937 - 30954 Literal <nosymbol> "illegal literal"
871 50089 30983 - 30983 Select dotty.tools.dotc.reporting.diagnostic.messages.IllegalLiteral.ctx IllegalLiteral.this.ctx
871 50088 30983 - 31359 Apply scala.StringContext.apply scala.StringContext.apply("|Available literals can be divided into several groups:\n | - Integer literals: 0, 21, 0xFFFFFFFF, -42L\n | - Floating Point Literals: 0.0, 1e30f, 3.14159f, 1.0e-100, .1\n | - Boolean Literals: true, false\n | - Character Literals: \'a\', \'A\', \'\\n\'\n | - String Literals: \"Hello, World!\"\n | - null\n |")
871 50090 30983 - 31359 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Available literals can be divided into several groups:\n | - Integer literals: 0, 21, 0xFFFFFFFF, -42L\n | - Floating Point Literals: 0.0, 1e30f, 3.14159f, 1.0e-100, .1\n | - Boolean Literals: true, false\n | - Character Literals: \'a\', \'A\', \'\\n\'\n | - String Literals: \"Hello, World!\"\n | - null\n |")).hl()(IllegalLiteral.this.ctx)
883 50091 31508 - 31536 Literal <nosymbol> "Pattern Match Exhaustivity"
885 50092 31557 - 31648 Apply scala.StringContext.apply scala.StringContext.apply("|match may not be exhaustive.\n |\n |It would fail on: ", "")
885 50095 31557 - 31648 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|match may not be exhaustive.\n |\n |It would fail on: ", "")).hl(PatternMatchExhaustivity.this.uncovered)(PatternMatchExhaustivity.this.ctx)
885 50094 31557 - 31557 Select dotty.tools.dotc.reporting.diagnostic.messages.PatternMatchExhaustivity.ctx PatternMatchExhaustivity.this.ctx
887 50093 31636 - 31645 Select dotty.tools.dotc.reporting.diagnostic.messages.PatternMatchExhaustivity.uncovered PatternMatchExhaustivity.this.uncovered
891 50098 31679 - 31981 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|There are several ways to make the match exhaustive:\n | - Add missing cases as shown in the warning\n | - If an extractor always return \'Some(...)\', write \'Some[X]\' for its return type\n | - Add a \'case _ => ...\' at the end to match all remaining cases\n |")).hl()(PatternMatchExhaustivity.this.ctx)
891 50097 31679 - 31679 Select dotty.tools.dotc.reporting.diagnostic.messages.PatternMatchExhaustivity.ctx PatternMatchExhaustivity.this.ctx
891 50096 31679 - 31981 Apply scala.StringContext.apply scala.StringContext.apply("|There are several ways to make the match exhaustive:\n | - Add missing cases as shown in the warning\n | - If an extractor always return \'Some(...)\', write \'Some[X]\' for its return type\n | - Add a \'case _ => ...\' at the end to match all remaining cases\n |")
900 50099 32118 - 32146 Literal <nosymbol> "Pattern Match Exhaustivity"
903 50101 32176 - 32176 Select dotty.tools.dotc.reporting.diagnostic.messages.UncheckedTypePattern.ctx UncheckedTypePattern.this.ctx
903 50100 32176 - 32420 Apply scala.StringContext.apply scala.StringContext.apply("|Type arguments and type refinements are erased during compile time, thus it\'s\n |impossible to check them at run-time.\n |\n |You can either replace the type arguments by `_` or use `@unchecked`.\n |")
903 50102 32176 - 32420 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Type arguments and type refinements are erased during compile time, thus it\'s\n |impossible to check them at run-time.\n |\n |You can either replace the type arguments by `_` or use `@unchecked`.\n |")).hl()(UncheckedTypePattern.this.ctx)
912 50104 32565 - 32580 Literal <nosymbol> " Unreachable"
912 50107 32556 - 32564 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("case")).hl()(MatchCaseUnreachable.this.ctx)
912 50103 32548 - 32555 Literal <nosymbol> "Match "
912 50106 32556 - 32556 Select dotty.tools.dotc.reporting.diagnostic.messages.MatchCaseUnreachable.ctx MatchCaseUnreachable.this.ctx
912 50105 32556 - 32564 Apply scala.StringContext.apply scala.StringContext.apply("case")
912 50108 32544 - 32580 Apply scala.StringContext.s scala.StringContext.apply("Match ", " Unreachable").s(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("case")).hl()(MatchCaseUnreachable.this.ctx))
913 50109 32595 - 32613 Literal <nosymbol> "unreachable code"
914 50110 32636 - 32638 Literal <nosymbol> ""
919 50111 32764 - 32772 Literal <nosymbol> "Syntax"
920 50112 32787 - 32828 Literal <nosymbol> "`_*\' can be used only for last argument"
923 50113 32878 - 33041 Literal <nosymbol> "def sumOfTheFirstTwo(list: List[Int]): Int = list match {\n | case List(first, second, x:_*) => first + second\n | case _ => 0\n |}"
927 50116 33048 - 33048 Select dotty.tools.dotc.reporting.diagnostic.messages.SeqWildcardPatternPos.ctx SeqWildcardPatternPos.this.ctx
927 50114 33048 - 33419 Apply scala.StringContext.apply scala.StringContext.apply("|Sequence wildcard pattern is expected at the end of an argument list.\n |This pattern matches any remaining elements in a sequence.\n |Consider the following example:\n |\n |", "\n |\n |Calling:\n |\n |", "\n |\n |would give 3 as a result")
927 50117 33048 - 33419 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Sequence wildcard pattern is expected at the end of an argument list.\n |This pattern matches any remaining elements in a sequence.\n |Consider the following example:\n |\n |", "\n |\n |Calling:\n |\n |", "\n |\n |would give 3 as a result")).hl(code, "sumOfTheFirstTwo(List(1, 2, 10))")(SeqWildcardPatternPos.this.ctx)
935 50115 33331 - 33365 Literal <nosymbol> "sumOfTheFirstTwo(List(1, 2, 10))"
943 50118 33563 - 33571 Literal <nosymbol> "Syntax"
944 50119 33586 - 33619 Literal <nosymbol> "illegal start of simple pattern"
947 50120 33672 - 33762 Literal <nosymbol> "def f(x: Int, y: Int) = x match {\n | case `y` => ...\n |}\n "
952 50121 33807 - 33974 Literal <nosymbol> "case class Person(name: String, age: Int)\n |\n |def test(p: Person) = p match {\n | case Person(name, age) => ...\n |}\n "
959 50122 34014 - 34154 Literal <nosymbol> "def swap(tuple: (String, Int)): (Int, String) = tuple match {\n | case (text, number) => (number, text)\n |}\n "
964 50123 34196 - 34345 Literal <nosymbol> "def getSecondValue(list: List[Int]): Int = list match {\n | case List(_, second, x:_*) => second\n | case _ => 0\n |}"
968 50134 34352 - 34352 Select dotty.tools.dotc.reporting.diagnostic.messages.IllegalStartOfSimplePattern.ctx IllegalStartOfSimplePattern.this.ctx
968 50124 34352 - 36266 Apply scala.StringContext.apply scala.StringContext.apply("|Simple patterns can be divided into several groups:\n |- Variable Patterns: ", ".\n | It matches any value, and binds the variable name to that value.\n | A special case is the wild-card pattern _ which is treated as if it was a fresh\n | variable on each occurrence.\n |\n |- Typed Patterns: ", " or ", ".\n | This pattern matches any value matched by the specified type; it binds the variable\n | name to that value.\n |\n |- Literal Patterns: ", " or ", ".\n | This type of pattern matches any value that is equal to the specified literal.\n |\n |- Stable Identifier Patterns:\n |\n | ", "\n |\n | the match succeeds only if the x argument and the y argument of f are equal.\n |\n |- Constructor Patterns:\n |\n | ", "\n |\n | The pattern binds all object\'s fields to the variable names (name and age, in this\n | case).\n |\n |- Tuple Patterns:\n |\n | ", "\n |\n | Calling:\n |\n | ", "\n |\n | would give ", " as a result.\n |\n |- Pattern Sequences:\n |\n | ", "\n |\n | Calling:\n |\n | ", "\n |\n | would give 10 as a result.\n | This pattern is possible because a companion object for the List class has a method\n | with the following signature:\n |\n | ", "\n |")
968 50135 34352 - 36266 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Simple patterns can be divided into several groups:\n |- Variable Patterns: ", ".\n | It matches any value, and binds the variable name to that value.\n | A special case is the wild-card pattern _ which is treated as if it was a fresh\n | variable on each occurrence.\n |\n |- Typed Patterns: ", " or ", ".\n | This pattern matches any value matched by the specified type; it binds the variable\n | name to that value.\n |\n |- Literal Patterns: ", " or ", ".\n | This type of pattern matches any value that is equal to the specified literal.\n |\n |- Stable Identifier Patterns:\n |\n | ", "\n |\n | the match succeeds only if the x argument and the y argument of f are equal.\n |\n |- Constructor Patterns:\n |\n | ", "\n |\n | The pattern binds all object\'s fields to the variable names (name and age, in this\n | case).\n |\n |- Tuple Patterns:\n |\n | ", "\n |\n | Calling:\n |\n | ", "\n |\n | would give ", " as a result.\n |\n |- Pattern Sequences:\n |\n | ", "\n |\n | Calling:\n |\n | ", "\n |\n | would give 10 as a result.\n | This pattern is possible because a companion object for the List class has a method\n | with the following signature:\n |\n | ", "\n |")).hl("case x => ...", "case x: Int => ...", "case _: Int => ...", "case 123 => ...", "case \'A\' => ...", sipCode, constructorPatternsCode, tupplePatternsCode, "swap((\"Luftballons\", 99)", "(99, \"Luftballons\")", patternSequencesCode, "getSecondValue(List(1, 10, 2))", "def unapplySeq[A](x: List[A]): Some[List[A]]")(IllegalStartOfSimplePattern.this.ctx)
969 50125 34445 - 34460 Literal <nosymbol> "case x => ..."
974 50127 34751 - 34771 Literal <nosymbol> "case _: Int => ..."
974 50126 34724 - 34744 Literal <nosymbol> "case x: Int => ..."
978 50128 34953 - 34970 Literal <nosymbol> "case 123 => ..."
978 50129 34977 - 34994 Literal <nosymbol> "case \'A\' => ..."
1000 50130 35672 - 35702 Literal <nosymbol> "swap((\"Luftballons\", 99)"
1002 50131 35744 - 35769 Literal <nosymbol> "(99, \"Luftballons\")"
1010 50132 35944 - 35976 Literal <nosymbol> "getSecondValue(List(1, 10, 2))"
1016 50133 36203 - 36249 Literal <nosymbol> "def unapplySeq[A](x: List[A]): Some[List[A]]"
1023 50136 36408 - 36426 Literal <nosymbol> "Duplicate Symbol"
1024 50137 36441 - 36499 Apply scala.StringContext.apply scala.StringContext.apply("trying to define package with same name as `", "`")
1024 50140 36441 - 36499 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("trying to define package with same name as `", "`")).hl(PkgDuplicateSymbol.this.existing)(PkgDuplicateSymbol.this.ctx)
1024 50139 36441 - 36441 Select dotty.tools.dotc.reporting.diagnostic.messages.PkgDuplicateSymbol.ctx PkgDuplicateSymbol.this.ctx
1024 50138 36489 - 36497 Select dotty.tools.dotc.reporting.diagnostic.messages.PkgDuplicateSymbol.existing PkgDuplicateSymbol.this.existing
1025 50141 36522 - 36524 Literal <nosymbol> ""
1030 50142 36674 - 36682 Literal <nosymbol> "Syntax"
1032 50143 36703 - 36808 Apply scala.StringContext.apply scala.StringContext.apply("|Existential types are no longer supported -\n |use a wildcard or dependent type instead")
1032 50145 36703 - 36808 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Existential types are no longer supported -\n |use a wildcard or dependent type instead")).hl()(ExistentialTypesNoLongerSupported.this.ctx)
1032 50144 36703 - 36703 Select dotty.tools.dotc.reporting.diagnostic.messages.ExistentialTypesNoLongerSupported.ctx ExistentialTypesNoLongerSupported.this.ctx
1035 50146 36837 - 37264 Apply scala.StringContext.apply scala.StringContext.apply("|The use of existential types is no longer supported.\n |\n |You should use a wildcard or dependent type instead.\n |\n |For example:\n |\n |Instead of using ", " to specify a type variable\n |\n |", "\n |\n |Try using a wildcard type variable\n |\n |", "\n |")
1035 50151 36837 - 37264 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|The use of existential types is no longer supported.\n |\n |You should use a wildcard or dependent type instead.\n |\n |For example:\n |\n |Instead of using ", " to specify a type variable\n |\n |", "\n |\n |Try using a wildcard type variable\n |\n |", "\n |")).hl("forSome", "List[T forSome { type T }]", "List[_]")(ExistentialTypesNoLongerSupported.this.ctx)
1035 50150 36837 - 36837 Select dotty.tools.dotc.reporting.diagnostic.messages.ExistentialTypesNoLongerSupported.ctx ExistentialTypesNoLongerSupported.this.ctx
1041 50147 37056 - 37065 Literal <nosymbol> "forSome"
1043 50148 37121 - 37149 Literal <nosymbol> "List[T forSome { type T }]"
1047 50149 37238 - 37247 Literal <nosymbol> "List[_]"
1053 50152 37386 - 37394 Literal <nosymbol> "Syntax"
1054 50153 37409 - 37432 Literal <nosymbol> "Unbound wildcard type"
1056 50167 37461 - 37461 Select dotty.tools.dotc.reporting.diagnostic.messages.UnboundWildcardType.ctx UnboundWildcardType.this.ctx
1056 50154 37461 - 38592 Apply scala.StringContext.apply scala.StringContext.apply("|The wildcard type syntax (`_`) was used where it could not be bound.\n |Replace `_` with a non-wildcard type. If the type doesn\'t matter,\n |try replacing `_` with ", ".\n |\n |Examples:\n |\n |- Parameter lists\n |\n | Instead of:\n | ", "\n |\n | Use ", " if the type doesn\'t matter:\n | ", "\n |\n |- Type arguments\n |\n | Instead of:\n | ", "\n |\n | Use:\n | ", "\n |\n |- Type bounds\n |\n | Instead of:\n | ", "\n |\n | Remove the bounds if the type doesn\'t matter:\n | ", "\n |\n |- ", " and ", " types\n |\n | Instead of:\n | ", "\n |\n | Use:\n | ", "\n |")
1056 50168 37461 - 38592 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|The wildcard type syntax (`_`) was used where it could not be bound.\n |Replace `_` with a non-wildcard type. If the type doesn\'t matter,\n |try replacing `_` with ", ".\n |\n |Examples:\n |\n |- Parameter lists\n |\n | Instead of:\n | ", "\n |\n | Use ", " if the type doesn\'t matter:\n | ", "\n |\n |- Type arguments\n |\n | Instead of:\n | ", "\n |\n | Use:\n | ", "\n |\n |- Type bounds\n |\n | Instead of:\n | ", "\n |\n | Remove the bounds if the type doesn\'t matter:\n | ", "\n |\n |- ", " and ", " types\n |\n | Instead of:\n | ", "\n |\n | Use:\n | ", "\n |")).hl("Any", "def foo(x: _) = ...", "Any", "def foo(x: Any) = ...", "val foo = List[_](1, 2)", "val foo = List[Int](1, 2)", "def foo[T <: _](x: T) = ...", "def foo[T](x: T) = ...", "val", "def", "val foo: _ = 3", "val foo: Int = 3")(UnboundWildcardType.this.ctx)
1058 50155 37651 - 37656 Literal <nosymbol> "Any"
1065 50156 37794 - 37815 Literal <nosymbol> "def foo(x: _) = ..."
1067 50157 37850 - 37855 Literal <nosymbol> "Any"
1068 50158 37903 - 37926 Literal <nosymbol> "def foo(x: Any) = ..."
1073 50159 38027 - 38052 Literal <nosymbol> "val foo = List[_](1, 2)"
1076 50160 38104 - 38131 Literal <nosymbol> "val foo = List[Int](1, 2)"
1081 50161 38229 - 38258 Literal <nosymbol> "def foo[T <: _](x: T) = ..."
1084 50162 38351 - 38375 Literal <nosymbol> "def foo[T](x: T) = ..."
1086 50164 38419 - 38424 Literal <nosymbol> "def"
1086 50163 38406 - 38411 Literal <nosymbol> "val"
1089 50165 38489 - 38505 Literal <nosymbol> "val foo: _ = 3"
1092 50166 38557 - 38575 Literal <nosymbol> "val foo: Int = 3"
1097 50169 38710 - 38718 Literal <nosymbol> "Syntax"
1098 50173 38733 - 38808 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Expected an additional member selection after the keyword ", "")).hl("this")(DanglingThisInPath.this.ctx)
1098 50172 38733 - 38733 Select dotty.tools.dotc.reporting.diagnostic.messages.DanglingThisInPath.ctx DanglingThisInPath.this.ctx
1098 50171 38798 - 38804 Literal <nosymbol> "this"
1098 50170 38733 - 38808 Apply scala.StringContext.apply scala.StringContext.apply("Expected an additional member selection after the keyword ", "")
1101 50174 38838 - 38987 Literal <nosymbol> " trait Outer {\n | val member: Int\n | type Member\n | trait Inner {\n | ...\n | }\n | }"
1110 50175 39016 - 39084 Literal <nosymbol> " import Outer.this.member\n | // ^^^^^^^"
1114 50176 39111 - 39183 Literal <nosymbol> " type T = Outer.this.Member\n | // ^^^^^^^"
1118 50184 39213 - 39652 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Paths of imports and type selections must not end with the keyword ", ".\n |\n |Maybe you forgot to select a member of ", "? As an example, in the\n |following context:\n |", "\n |\n |- this is a valid import expression using a path\n |", "\n |\n |- this is a valid type using a path\n |", "\n |")).hl("this", "this", DanglingThisInPath.this.contextCode, DanglingThisInPath.this.importCode, DanglingThisInPath.this.typeCode)(DanglingThisInPath.this.ctx)
1118 50178 39288 - 39294 Literal <nosymbol> "this"
1118 50183 39213 - 39213 Select dotty.tools.dotc.reporting.diagnostic.messages.DanglingThisInPath.ctx DanglingThisInPath.this.ctx
1118 50177 39213 - 39652 Apply scala.StringContext.apply scala.StringContext.apply("|Paths of imports and type selections must not end with the keyword ", ".\n |\n |Maybe you forgot to select a member of ", "? As an example, in the\n |following context:\n |", "\n |\n |- this is a valid import expression using a path\n |", "\n |\n |- this is a valid type using a path\n |", "\n |")
1120 50179 39363 - 39369 Literal <nosymbol> "this"
1122 50180 39439 - 39450 Select dotty.tools.dotc.reporting.diagnostic.messages.DanglingThisInPath.contextCode DanglingThisInPath.this.contextCode
1125 50181 39540 - 39550 Select dotty.tools.dotc.reporting.diagnostic.messages.DanglingThisInPath.importCode DanglingThisInPath.this.importCode
1128 50182 39627 - 39635 Select dotty.tools.dotc.reporting.diagnostic.messages.DanglingThisInPath.typeCode DanglingThisInPath.this.typeCode
1134 50185 39782 - 39793 Literal <nosymbol> "Reference"
1135 50187 39815 - 39821 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothing.member OverridesNothing.this.member
1135 50186 39808 - 39843 Apply scala.StringContext.apply scala.StringContext.apply("", " overrides nothing")
1135 50189 39808 - 39843 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " overrides nothing")).hl(OverridesNothing.this.member)(OverridesNothing.this.ctx)
1135 50188 39808 - 39808 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothing.ctx OverridesNothing.this.ctx
1138 50191 39935 - 39935 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothing.ctx OverridesNothing.this.ctx
1138 50196 39873 - 39873 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothing.ctx OverridesNothing.this.ctx
1138 50190 39873 - 40093 Apply scala.StringContext.apply scala.StringContext.apply("|There must be a field or method with the name `", "` in a super\n |class of `", "` to override it. Did you misspell it?\n |Are you extending the right classes?\n |")
1138 50192 39928 - 39939 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name OverridesNothing.this.member.name(OverridesNothing.this.ctx)
1138 50197 39873 - 40093 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|There must be a field or method with the name `", "` in a super\n |class of `", "` to override it. Did you misspell it?\n |Are you extending the right classes?\n |")).hl(OverridesNothing.this.member.name(OverridesNothing.this.ctx), dotc.core.Symbols.toDenot(OverridesNothing.this.member)(OverridesNothing.this.ctx).owner)(OverridesNothing.this.ctx)
1139 50194 39977 - 39977 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothing.ctx OverridesNothing.this.ctx
1139 50193 39977 - 39983 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothing.member OverridesNothing.this.member
1139 50195 39977 - 39989 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(OverridesNothing.this.member)(OverridesNothing.this.ctx).owner
1146 50198 40295 - 40306 Literal <nosymbol> "Reference"
1147 50200 40328 - 40334 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.member OverridesNothingButNameExists.this.member
1147 50202 40321 - 40396 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " has a different signature than the overridden declaration")).hl(OverridesNothingButNameExists.this.member)(OverridesNothingButNameExists.this.ctx)
1147 50199 40321 - 40396 Apply scala.StringContext.apply scala.StringContext.apply("", " has a different signature than the overridden declaration")
1147 50201 40321 - 40321 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.ctx OverridesNothingButNameExists.this.ctx
1149 50203 40421 - 40461 Apply scala.collection.TraversableOnce.mkString OverridesNothingButNameExists.this.existing.map[String, List[String]](((x$16: dotty.tools.dotc.core.Denotations.SingleDenotation) => x$16.showDcl(OverridesNothingButNameExists.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(" \n")
1152 50218 40491 - 40491 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.ctx OverridesNothingButNameExists.this.ctx
1152 50205 40563 - 40563 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.ctx OverridesNothingButNameExists.this.ctx
1152 50219 40491 - 40884 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|There must be a non-final field or method with the name `", "` and the\n |same parameter list in a super class of `", "` to override it.\n |\n | ", "\n |\n |The super classes of `", "` contain the following members\n |named `", "`:\n | ", "\n |")).hl(OverridesNothingButNameExists.this.member.name(OverridesNothingButNameExists.this.ctx), dotc.core.Symbols.toDenot(OverridesNothingButNameExists.this.member)(OverridesNothingButNameExists.this.ctx).owner, OverridesNothingButNameExists.this.member.showDcl(OverridesNothingButNameExists.this.ctx), dotc.core.Symbols.toDenot(OverridesNothingButNameExists.this.member)(OverridesNothingButNameExists.this.ctx).owner, OverridesNothingButNameExists.this.member.name(OverridesNothingButNameExists.this.ctx), OverridesNothingButNameExists.this.existingDecl)(OverridesNothingButNameExists.this.ctx)
1152 50204 40491 - 40884 Apply scala.StringContext.apply scala.StringContext.apply("|There must be a non-final field or method with the name `", "` and the\n |same parameter list in a super class of `", "` to override it.\n |\n | ", "\n |\n |The super classes of `", "` contain the following members\n |named `", "`:\n | ", "\n |")
1152 50206 40556 - 40567 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name OverridesNothingButNameExists.this.member.name(OverridesNothingButNameExists.this.ctx)
1153 50209 40633 - 40645 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(OverridesNothingButNameExists.this.member)(OverridesNothingButNameExists.this.ctx).owner
1153 50208 40633 - 40633 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.ctx OverridesNothingButNameExists.this.ctx
1153 50207 40633 - 40639 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.member OverridesNothingButNameExists.this.member
1155 50211 40693 - 40707 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showDcl OverridesNothingButNameExists.this.member.showDcl(OverridesNothingButNameExists.this.ctx)
1155 50210 40700 - 40700 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.ctx OverridesNothingButNameExists.this.ctx
1157 50214 40758 - 40770 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(OverridesNothingButNameExists.this.member)(OverridesNothingButNameExists.this.ctx).owner
1157 50213 40758 - 40758 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.ctx OverridesNothingButNameExists.this.ctx
1157 50212 40758 - 40764 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.member OverridesNothingButNameExists.this.member
1158 50216 40824 - 40835 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name OverridesNothingButNameExists.this.member.name(OverridesNothingButNameExists.this.ctx)
1158 50215 40831 - 40831 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.ctx OverridesNothingButNameExists.this.ctx
1159 50217 40855 - 40867 Select dotty.tools.dotc.reporting.diagnostic.messages.OverridesNothingButNameExists.existingDecl OverridesNothingButNameExists.this.existingDecl
1165 50220 41075 - 41086 Literal <nosymbol> "Reference"
1166 50227 41101 - 41197 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("`", "` is a forward reference extending over the definition of `", "`")).hl(ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx))(ForwardReferenceExtendsOverDefinition.this.ctx)
1166 50223 41107 - 41122 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1166 50226 41101 - 41101 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1166 50225 41184 - 41194 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1166 50222 41118 - 41118 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1166 50221 41101 - 41197 Apply scala.StringContext.apply scala.StringContext.apply("`", "` is a forward reference extending over the definition of `", "`")
1166 50224 41190 - 41190 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1169 50244 41227 - 41852 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|`", "` is used before you define it, and the definition of `", "`\n |appears between that use and the definition of `", "`.\n |\n |Forward references are allowed only, if there are no value definitions between\n |the reference and the referred method definition.\n |\n |Define `", "` before it is used,\n |or move the definition of `", "` so it does not appear between\n |the declaration of `", "` and its use,\n |or define `", "` as lazy.\n |")).hl(ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx))(ForwardReferenceExtendsOverDefinition.this.ctx)
1169 50229 41247 - 41247 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1169 50232 41309 - 41319 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1169 50243 41227 - 41227 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1169 50228 41227 - 41852 Apply scala.StringContext.apply scala.StringContext.apply("|`", "` is used before you define it, and the definition of `", "`\n |appears between that use and the definition of `", "`.\n |\n |Forward references are allowed only, if there are no value definitions between\n |the reference and the referred method definition.\n |\n |Define `", "` before it is used,\n |or move the definition of `", "` so it does not appear between\n |the declaration of `", "` and its use,\n |or define `", "` as lazy.\n |")
1169 50231 41315 - 41315 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1169 50230 41236 - 41251 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1170 50234 41384 - 41399 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1170 50233 41395 - 41395 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1175 50236 41604 - 41619 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1175 50235 41615 - 41615 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1176 50238 41682 - 41692 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1176 50237 41688 - 41688 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1177 50240 41759 - 41774 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1177 50239 41770 - 41770 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1178 50241 41821 - 41821 Select dotty.tools.dotc.reporting.diagnostic.messages.ForwardReferenceExtendsOverDefinition.ctx ForwardReferenceExtendsOverDefinition.this.ctx
1178 50242 41815 - 41825 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx)
1179 50245 41227 - 41864 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|`", "` is used before you define it, and the definition of `", "`\n |appears between that use and the definition of `", "`.\n |\n |Forward references are allowed only, if there are no value definitions between\n |the reference and the referred method definition.\n |\n |Define `", "` before it is used,\n |or move the definition of `", "` so it does not appear between\n |the declaration of `", "` and its use,\n |or define `", "` as lazy.\n |")).hl(ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.definition.name(ForwardReferenceExtendsOverDefinition.this.ctx), ForwardReferenceExtendsOverDefinition.this.value.name(ForwardReferenceExtendsOverDefinition.this.ctx))(ForwardReferenceExtendsOverDefinition.this.ctx)).stripMargin
1184 50246 42019 - 42027 Literal <nosymbol> "Syntax"
1187 50247 42090 - 42098 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.expected ExpectedTokenButFound.this.expected
1187 50250 42101 - 42116 Block <nosymbol> "an identifier"
1187 50249 42101 - 42116 Literal <nosymbol> "an identifier"
1187 50248 42070 - 42099 Apply dotty.tools.dotc.parsing.Tokens.isIdentifier dotc.parsing.Tokens.isIdentifier(ExpectedTokenButFound.this.expected)
1188 50253 42128 - 42154 Block dotty.tools.dotc.parsing.TokensCommon.showToken dotc.parsing.Tokens.showToken(ExpectedTokenButFound.this.expected)
1188 50252 42128 - 42154 Apply dotty.tools.dotc.parsing.TokensCommon.showToken dotc.parsing.Tokens.showToken(ExpectedTokenButFound.this.expected)
1188 50251 42145 - 42153 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.expected ExpectedTokenButFound.this.expected
1190 50254 42201 - 42206 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.found ExpectedTokenButFound.this.found
1190 50255 42184 - 42207 Apply dotty.tools.dotc.parsing.TokensCommon.showToken dotc.parsing.Tokens.showToken(ExpectedTokenButFound.this.found)
1192 50256 42223 - 42279 Apply scala.StringContext.apply scala.StringContext.apply("", " expected, but ", " found")
1192 50259 42223 - 42223 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.ctx ExpectedTokenButFound.this.ctx
1192 50258 42260 - 42269 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.foundText ExpectedTokenButFound.this.foundText
1192 50257 42230 - 42242 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.expectedText ExpectedTokenButFound.this.expectedText
1192 50260 42223 - 42279 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " expected, but ", " found")).hl(ExpectedTokenButFound.this.expectedText, ExpectedTokenButFound.this.foundText)(ExpectedTokenButFound.this.ctx)
1195 50263 42352 - 42375 Apply dotty.tools.dotc.parsing.TokensCommon.isKeyword dotc.parsing.Tokens.isKeyword(ExpectedTokenButFound.this.found)
1195 50262 42369 - 42374 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.found ExpectedTokenButFound.this.found
1195 50261 42339 - 42347 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.expected ExpectedTokenButFound.this.expected
1195 50264 42319 - 42375 Apply scala.Boolean.&& dotc.parsing.Tokens.isIdentifier(ExpectedTokenButFound.this.expected).&&(dotc.parsing.Tokens.isKeyword(ExpectedTokenButFound.this.found))
1196 50265 42389 - 42434 Literal <nosymbol> "\n |If you necessarily want to use "
1196 50268 42385 - 42490 Apply scala.StringContext.s scala.StringContext.apply("\n |If you necessarily want to use ", " as identifier, you may put it in backticks.").s(ExpectedTokenButFound.this.foundText)
1197 50267 42434 - 42443 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.foundText ExpectedTokenButFound.this.foundText
1197 50270 42385 - 42502 Block scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("\n |If you necessarily want to use ", " as identifier, you may put it in backticks.").s(ExpectedTokenButFound.this.foundText)).stripMargin
1197 50266 42443 - 42490 Literal <nosymbol> " as identifier, you may put it in backticks."
1197 50269 42385 - 42502 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("\n |If you necessarily want to use ", " as identifier, you may put it in backticks.").s(ExpectedTokenButFound.this.foundText)).stripMargin
1199 50271 42522 - 42524 Literal <nosymbol> ""
1199 50272 42522 - 42524 Block <nosymbol> ""
1200 50274 42559 - 42560 Literal <nosymbol> ""
1200 50276 42547 - 42560 Apply scala.StringContext.s scala.StringContext.apply("", "").s(ExpectedTokenButFound.this.ifKeyword)
1200 50273 42549 - 42550 Literal <nosymbol> ""
1200 50275 42550 - 42559 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTokenButFound.ifKeyword ExpectedTokenButFound.this.ifKeyword
1205 50277 42749 - 42757 Literal <nosymbol> "Syntax"
1206 50280 42794 - 42822 Block <nosymbol> "which is right-associative"
1206 50279 42794 - 42822 Literal <nosymbol> "which is right-associative"
1206 50282 42828 - 42855 Block <nosymbol> "which is left-associative"
1206 50281 42828 - 42855 Literal <nosymbol> "which is left-associative"
1206 50278 42780 - 42792 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2LeftAssoc MixedLeftAndRightAssociativeOps.this.op2LeftAssoc
1207 50283 42878 - 42890 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2LeftAssoc MixedLeftAndRightAssociativeOps.this.op2LeftAssoc
1207 50286 42925 - 42953 Literal <nosymbol> "which is right-associative"
1207 50285 42892 - 42919 Block <nosymbol> "which is left-associative"
1207 50284 42892 - 42919 Literal <nosymbol> "which is left-associative"
1207 50287 42925 - 42953 Block <nosymbol> "which is right-associative"
1208 50295 42999 - 43002 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2 MixedLeftAndRightAssociativeOps.this.op2
1208 50289 42977 - 42981 Literal <nosymbol> "` ("
1208 50292 43014 - 43058 Literal <nosymbol> ") have same precedence and may not be mixed"
1208 50294 42982 - 42989 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op1Asso MixedLeftAndRightAssociativeOps.this.op1Asso
1208 50288 42970 - 42972 Literal <nosymbol> "`"
1208 50297 42968 - 43058 Apply scala.StringContext.s scala.StringContext.apply("`", "` (", ") and `", "` (", ") have same precedence and may not be mixed").s(MixedLeftAndRightAssociativeOps.this.op1, MixedLeftAndRightAssociativeOps.this.op1Asso, MixedLeftAndRightAssociativeOps.this.op2, MixedLeftAndRightAssociativeOps.this.op2Asso)
1208 50291 43003 - 43007 Literal <nosymbol> "` ("
1208 50290 42990 - 42998 Literal <nosymbol> ") and `"
1208 50293 42973 - 42976 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op1 MixedLeftAndRightAssociativeOps.this.op1
1208 50296 43007 - 43014 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2Asso MixedLeftAndRightAssociativeOps.this.op2Asso
1210 50298 43091 - 43107 Literal <nosymbol> "|The operators "
1210 50307 43119 - 43122 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2 MixedLeftAndRightAssociativeOps.this.op2
1210 50321 43087 - 44339 Apply scala.StringContext.s scala.StringContext.apply("|The operators ", " and ", " are used as infix operators in the same expression,\n |but they bind to different sides:\n |", " is applied to the operand to its ", "\n |", " is applied to the operand to its ", "\n |As both have the same precedence the compiler can\'t decide which to apply first.\n |\n |You may use parenthesis to make the application order explicit,\n |or use method application syntax `operand1.", "(operand2)`.\n |\n |Operators ending in a colon `:` are right-associative. All other operators are left-associative.\n |\n |Infix operator precedence is determined by the operator\'s first character. Characters are listed\n |below in increasing order of precedence, with characters on the same line having the same precedence.\n | (all letters)\n | |\n | ^\n | &\n | = !\n | < >\n | :\n | + -\n | * / %\n | (all other special characters)\n |Operators starting with a letter have lowest precedence, followed by operators starting with `|`, etc.\n |").s(MixedLeftAndRightAssociativeOps.this.op1, MixedLeftAndRightAssociativeOps.this.op2, MixedLeftAndRightAssociativeOps.this.op1, if (MixedLeftAndRightAssociativeOps.this.op2LeftAssoc) "right" else "left", MixedLeftAndRightAssociativeOps.this.op2, if (MixedLeftAndRightAssociativeOps.this.op2LeftAssoc) "left" else "right", MixedLeftAndRightAssociativeOps.this.op1)
1210 50306 43108 - 43111 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op1 MixedLeftAndRightAssociativeOps.this.op1
1210 50300 43123 - 43233 Literal <nosymbol> " are used as infix operators in the same expression,\n |but they bind to different sides:\n |"
1210 50299 43112 - 43118 Literal <nosymbol> " and "
1212 50313 43305 - 43311 Block <nosymbol> "left"
1212 50301 43238 - 43273 Literal <nosymbol> " is applied to the operand to its "
1212 50310 43292 - 43299 Literal <nosymbol> "right"
1212 50312 43305 - 43311 Literal <nosymbol> "left"
1212 50309 43278 - 43290 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2LeftAssoc MixedLeftAndRightAssociativeOps.this.op2LeftAssoc
1212 50308 43234 - 43237 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op1 MixedLeftAndRightAssociativeOps.this.op1
1212 50311 43292 - 43299 Block <nosymbol> "right"
1212 50302 43312 - 43325 Literal <nosymbol> "\n |"
1213 50304 43404 - 43639 Literal <nosymbol> "\n |As both have the same precedence the compiler can\'t decide which to apply first.\n |\n |You may use parenthesis to make the application order explicit,\n |or use method application syntax `operand1."
1213 50316 43384 - 43390 Literal <nosymbol> "left"
1213 50319 43396 - 43403 Block <nosymbol> "right"
1213 50318 43396 - 43403 Literal <nosymbol> "right"
1213 50303 43330 - 43365 Literal <nosymbol> " is applied to the operand to its "
1213 50315 43370 - 43382 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2LeftAssoc MixedLeftAndRightAssociativeOps.this.op2LeftAssoc
1213 50317 43384 - 43390 Block <nosymbol> "left"
1213 50314 43326 - 43329 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op2 MixedLeftAndRightAssociativeOps.this.op2
1217 50320 43640 - 43643 Select dotty.tools.dotc.reporting.diagnostic.messages.MixedLeftAndRightAssociativeOps.op1 MixedLeftAndRightAssociativeOps.this.op1
1217 50305 43644 - 44339 Literal <nosymbol> "(operand2)`.\n |\n |Operators ending in a colon `:` are right-associative. All other operators are left-associative.\n |\n |Infix operator precedence is determined by the operator\'s first character. Characters are listed\n |below in increasing order of precedence, with characters on the same line having the same precedence.\n | (all letters)\n | |\n | ^\n | &\n | = !\n | < >\n | :\n | + -\n | * / %\n | (all other special characters)\n |Operators starting with a letter have lowest precedence, followed by operators starting with `|`, etc.\n |"
1234 50322 43087 - 44351 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("|The operators ", " and ", " are used as infix operators in the same expression,\n |but they bind to different sides:\n |", " is applied to the operand to its ", "\n |", " is applied to the operand to its ", "\n |As both have the same precedence the compiler can\'t decide which to apply first.\n |\n |You may use parenthesis to make the application order explicit,\n |or use method application syntax `operand1.", "(operand2)`.\n |\n |Operators ending in a colon `:` are right-associative. All other operators are left-associative.\n |\n |Infix operator precedence is determined by the operator\'s first character. Characters are listed\n |below in increasing order of precedence, with characters on the same line having the same precedence.\n | (all letters)\n | |\n | ^\n | &\n | = !\n | < >\n | :\n | + -\n | * / %\n | (all other special characters)\n |Operators starting with a letter have lowest precedence, followed by operators starting with `|`, etc.\n |").s(MixedLeftAndRightAssociativeOps.this.op1, MixedLeftAndRightAssociativeOps.this.op2, MixedLeftAndRightAssociativeOps.this.op1, if (MixedLeftAndRightAssociativeOps.this.op2LeftAssoc) "right" else "left", MixedLeftAndRightAssociativeOps.this.op2, if (MixedLeftAndRightAssociativeOps.this.op2LeftAssoc) "left" else "right", MixedLeftAndRightAssociativeOps.this.op1)).stripMargin
1239 50323 44534 - 44541 Literal <nosymbol> "Usage"
1240 50331 44606 - 44618 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("abstract")).hl()(CantInstantiateAbstractClassOrTrait.this.ctx)
1240 50325 44589 - 44600 Apply scala.StringContext.apply scala.StringContext.apply("a trait")
1240 50328 44589 - 44600 Block dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("a trait")).hl()(CantInstantiateAbstractClassOrTrait.this.ctx)
1240 50327 44589 - 44600 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("a trait")).hl()(CantInstantiateAbstractClassOrTrait.this.ctx)
1240 50330 44606 - 44606 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1240 50324 44580 - 44587 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.isTrait CantInstantiateAbstractClassOrTrait.this.isTrait
1240 50332 44606 - 44618 Block dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("abstract")).hl()(CantInstantiateAbstractClassOrTrait.this.ctx)
1240 50326 44589 - 44589 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1240 50329 44606 - 44618 Apply scala.StringContext.apply scala.StringContext.apply("abstract")
1241 50334 44644 - 44644 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1241 50337 44633 - 44633 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1241 50336 44655 - 44670 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.traitOrAbstract CantInstantiateAbstractClassOrTrait.this.traitOrAbstract
1241 50333 44633 - 44701 Apply scala.StringContext.apply scala.StringContext.apply("", " is ", "; it cannot be instantiated")
1241 50335 44640 - 44648 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)
1241 50338 44633 - 44701 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " is ", "; it cannot be instantiated")).hl(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx), CantInstantiateAbstractClassOrTrait.this.traitOrAbstract)(CantInstantiateAbstractClassOrTrait.this.ctx)
1243 50355 44730 - 44730 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1243 50339 44730 - 45215 Apply scala.StringContext.apply scala.StringContext.apply("|Abstract classes and traits need to be extended by a concrete class or object\n |to make their functionality accessible.\n |\n |You may want to create an anonymous class extending ", " with\n | ", "\n |\n |or add a companion object with\n | ", "\n |\n |You need to implement any abstract members in both cases.\n |")
1243 50356 44730 - 45215 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Abstract classes and traits need to be extended by a concrete class or object\n |to make their functionality accessible.\n |\n |You may want to create an anonymous class extending ", " with\n | ", "\n |\n |or add a companion object with\n | ", "\n |\n |You need to implement any abstract members in both cases.\n |")).hl(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx), scala.StringContext.apply("class ", " { }").s(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)), scala.StringContext.apply("object ", " extends ", "").s(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx), CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)))(CantInstantiateAbstractClassOrTrait.this.ctx)
1246 50340 44949 - 44949 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1246 50341 44945 - 44953 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)
1247 50343 44995 - 45000 Literal <nosymbol> " { }"
1247 50346 44976 - 45000 Apply scala.StringContext.s scala.StringContext.apply("class ", " { }").s(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx))
1247 50345 44986 - 44994 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)
1247 50342 44978 - 44985 Literal <nosymbol> "class "
1247 50344 44990 - 44990 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1250 50349 45114 - 45115 Literal <nosymbol> ""
1250 50352 45109 - 45109 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1250 50354 45074 - 45115 Apply scala.StringContext.s scala.StringContext.apply("object ", " extends ", "").s(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx), CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx))
1250 50348 45094 - 45104 Literal <nosymbol> " extends "
1250 50351 45085 - 45093 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)
1250 50350 45089 - 45089 Select dotty.tools.dotc.reporting.diagnostic.messages.CantInstantiateAbstractClassOrTrait.ctx CantInstantiateAbstractClassOrTrait.this.ctx
1250 50353 45105 - 45113 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)
1250 50347 45076 - 45084 Literal <nosymbol> "object "
1253 50357 44730 - 45227 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|Abstract classes and traits need to be extended by a concrete class or object\n |to make their functionality accessible.\n |\n |You may want to create an anonymous class extending ", " with\n | ", "\n |\n |or add a companion object with\n | ", "\n |\n |You need to implement any abstract members in both cases.\n |")).hl(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx), scala.StringContext.apply("class ", " { }").s(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)), scala.StringContext.apply("object ", " extends ", "").s(CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx), CantInstantiateAbstractClassOrTrait.this.cls.name(CantInstantiateAbstractClassOrTrait.this.ctx)))(CantInstantiateAbstractClassOrTrait.this.ctx)).stripMargin
1258 50358 45415 - 45423 Literal <nosymbol> "Syntax"
1259 50361 45438 - 45438 Select dotty.tools.dotc.reporting.diagnostic.messages.OverloadedOrRecursiveMethodNeedsResultType.ctx OverloadedOrRecursiveMethodNeedsResultType.this.ctx
1259 50360 45476 - 45480 Select dotty.tools.dotc.reporting.diagnostic.messages.OverloadedOrRecursiveMethodNeedsResultType.tree OverloadedOrRecursiveMethodNeedsResultType.this.tree
1259 50359 45438 - 45502 Apply scala.StringContext.apply scala.StringContext.apply("overloaded or recursive method ", " needs return type")
1259 50362 45438 - 45502 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("overloaded or recursive method ", " needs return type")).hl(OverloadedOrRecursiveMethodNeedsResultType.this.tree)(OverloadedOrRecursiveMethodNeedsResultType.this.ctx)
1261 50364 45546 - 45550 Select dotty.tools.dotc.reporting.diagnostic.messages.OverloadedOrRecursiveMethodNeedsResultType.tree OverloadedOrRecursiveMethodNeedsResultType.this.tree
1261 50370 45531 - 45531 Select dotty.tools.dotc.reporting.diagnostic.messages.OverloadedOrRecursiveMethodNeedsResultType.ctx OverloadedOrRecursiveMethodNeedsResultType.this.ctx
1261 50363 45531 - 45900 Apply scala.StringContext.apply scala.StringContext.apply("Case 1: ", " is overloaded\n |If there are multiple methods named `", "` and at least one definition of\n |it calls another, you need to specify the calling method\'s return type.\n |\n |Case 2: ", " is recursive\n |If `", "` calls itself on any path, you need to specify its return type.\n |")
1261 50371 45531 - 45900 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Case 1: ", " is overloaded\n |If there are multiple methods named `", "` and at least one definition of\n |it calls another, you need to specify the calling method\'s return type.\n |\n |Case 2: ", " is recursive\n |If `", "` calls itself on any path, you need to specify its return type.\n |")).hl(OverloadedOrRecursiveMethodNeedsResultType.this.tree, dotc.core.NameOps.TermNameDecorator(OverloadedOrRecursiveMethodNeedsResultType.this.tree).name, OverloadedOrRecursiveMethodNeedsResultType.this.tree, dotc.core.NameOps.TermNameDecorator(OverloadedOrRecursiveMethodNeedsResultType.this.tree).name)(OverloadedOrRecursiveMethodNeedsResultType.this.ctx)
1262 50366 45616 - 45625 Select dotty.tools.dotc.core.NameOps.TermNameDecorator.name dotc.core.NameOps.TermNameDecorator(OverloadedOrRecursiveMethodNeedsResultType.this.tree).name
1262 50365 45616 - 45620 Select dotty.tools.dotc.reporting.diagnostic.messages.OverloadedOrRecursiveMethodNeedsResultType.tree OverloadedOrRecursiveMethodNeedsResultType.this.tree
1265 50367 45775 - 45779 Select dotty.tools.dotc.reporting.diagnostic.messages.OverloadedOrRecursiveMethodNeedsResultType.tree OverloadedOrRecursiveMethodNeedsResultType.this.tree
1266 50369 45811 - 45820 Select dotty.tools.dotc.core.NameOps.TermNameDecorator.name dotc.core.NameOps.TermNameDecorator(OverloadedOrRecursiveMethodNeedsResultType.this.tree).name
1266 50368 45811 - 45815 Select dotty.tools.dotc.reporting.diagnostic.messages.OverloadedOrRecursiveMethodNeedsResultType.tree OverloadedOrRecursiveMethodNeedsResultType.this.tree
1267 50372 45531 - 45912 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Case 1: ", " is overloaded\n |If there are multiple methods named `", "` and at least one definition of\n |it calls another, you need to specify the calling method\'s return type.\n |\n |Case 2: ", " is recursive\n |If `", "` calls itself on any path, you need to specify its return type.\n |")).hl(OverloadedOrRecursiveMethodNeedsResultType.this.tree, dotc.core.NameOps.TermNameDecorator(OverloadedOrRecursiveMethodNeedsResultType.this.tree).name, OverloadedOrRecursiveMethodNeedsResultType.this.tree, dotc.core.NameOps.TermNameDecorator(OverloadedOrRecursiveMethodNeedsResultType.this.tree).name)(OverloadedOrRecursiveMethodNeedsResultType.this.ctx)).stripMargin
1272 50373 46074 - 46082 Literal <nosymbol> "Syntax"
1273 50376 46120 - 46129 Select dotty.tools.dotc.core.NameOps.TermNameDecorator.name dotc.core.NameOps.TermNameDecorator(RecursiveValueNeedsResultType.this.tree).name
1273 50378 46097 - 46144 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("recursive value ", " needs type")).hl(dotc.core.NameOps.TermNameDecorator(RecursiveValueNeedsResultType.this.tree).name)(RecursiveValueNeedsResultType.this.ctx)
1273 50375 46120 - 46124 Select dotty.tools.dotc.reporting.diagnostic.messages.RecursiveValueNeedsResultType.tree RecursiveValueNeedsResultType.this.tree
1273 50377 46097 - 46097 Select dotty.tools.dotc.reporting.diagnostic.messages.RecursiveValueNeedsResultType.ctx RecursiveValueNeedsResultType.this.ctx
1273 50374 46097 - 46144 Apply scala.StringContext.apply scala.StringContext.apply("recursive value ", " needs type")
1275 50382 46173 - 46173 Select dotty.tools.dotc.reporting.diagnostic.messages.RecursiveValueNeedsResultType.ctx RecursiveValueNeedsResultType.this.ctx
1275 50379 46173 - 46272 Apply scala.StringContext.apply scala.StringContext.apply("The definition of `", "` is recursive and you need to specify its type.\n |")
1275 50381 46199 - 46208 Select dotty.tools.dotc.core.NameOps.TermNameDecorator.name dotc.core.NameOps.TermNameDecorator(RecursiveValueNeedsResultType.this.tree).name
1275 50380 46199 - 46203 Select dotty.tools.dotc.reporting.diagnostic.messages.RecursiveValueNeedsResultType.tree RecursiveValueNeedsResultType.this.tree
1275 50383 46173 - 46272 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("The definition of `", "` is recursive and you need to specify its type.\n |")).hl(dotc.core.NameOps.TermNameDecorator(RecursiveValueNeedsResultType.this.tree).name)(RecursiveValueNeedsResultType.this.ctx)
1276 50384 46173 - 46284 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("The definition of `", "` is recursive and you need to specify its type.\n |")).hl(dotc.core.NameOps.TermNameDecorator(RecursiveValueNeedsResultType.this.tree).name)(RecursiveValueNeedsResultType.this.ctx)).stripMargin
1281 50385 46436 - 46444 Literal <nosymbol> "Syntax"
1282 50388 46459 - 46459 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolving.ctx CyclicReferenceInvolving.this.ctx
1282 50387 46492 - 46497 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolving.denot CyclicReferenceInvolving.this.denot
1282 50386 46459 - 46500 Apply scala.StringContext.apply scala.StringContext.apply("cyclic reference involving ", "")
1282 50389 46459 - 46500 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("cyclic reference involving ", "")).hl(CyclicReferenceInvolving.this.denot)(CyclicReferenceInvolving.this.ctx)
1284 50391 46536 - 46541 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolving.denot CyclicReferenceInvolving.this.denot
1284 50394 46529 - 46680 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", " is declared as part of a cycle which makes it impossible for the\n |compiler to decide upon ", "\'s type.\n |")).hl(CyclicReferenceInvolving.this.denot, CyclicReferenceInvolving.this.denot.name)(CyclicReferenceInvolving.this.ctx)
1284 50390 46529 - 46680 Apply scala.StringContext.apply scala.StringContext.apply("|", " is declared as part of a cycle which makes it impossible for the\n |compiler to decide upon ", "\'s type.\n |")
1284 50393 46529 - 46529 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolving.ctx CyclicReferenceInvolving.this.ctx
1285 50392 46645 - 46655 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.name CyclicReferenceInvolving.this.denot.name
1286 50395 46529 - 46692 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", " is declared as part of a cycle which makes it impossible for the\n |compiler to decide upon ", "\'s type.\n |")).hl(CyclicReferenceInvolving.this.denot, CyclicReferenceInvolving.this.denot.name)(CyclicReferenceInvolving.this.ctx)).stripMargin
1291 50396 46856 - 46864 Literal <nosymbol> "Syntax"
1292 50400 46879 - 46932 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("cyclic reference involving implicit ", "")).hl(CyclicReferenceInvolvingImplicit.this.cycleSym)(CyclicReferenceInvolvingImplicit.this.ctx)
1292 50397 46879 - 46932 Apply scala.StringContext.apply scala.StringContext.apply("cyclic reference involving implicit ", "")
1292 50399 46879 - 46879 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolvingImplicit.ctx CyclicReferenceInvolvingImplicit.this.ctx
1292 50398 46921 - 46929 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolvingImplicit.cycleSym CyclicReferenceInvolvingImplicit.this.cycleSym
1294 50406 46961 - 47150 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|This happens when the right hand-side of ", "\'s definition involves an implicit search.\n |To avoid this error, give `", "` an explicit type.\n |")).hl(CyclicReferenceInvolvingImplicit.this.cycleSym, CyclicReferenceInvolvingImplicit.this.cycleSym.name(CyclicReferenceInvolvingImplicit.this.ctx))(CyclicReferenceInvolvingImplicit.this.ctx)
1294 50405 46961 - 46961 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolvingImplicit.ctx CyclicReferenceInvolvingImplicit.this.ctx
1294 50402 47009 - 47017 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolvingImplicit.cycleSym CyclicReferenceInvolvingImplicit.this.cycleSym
1294 50401 46961 - 47150 Apply scala.StringContext.apply scala.StringContext.apply("|This happens when the right hand-side of ", "\'s definition involves an implicit search.\n |To avoid this error, give `", "` an explicit type.\n |")
1295 50403 47110 - 47110 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicReferenceInvolvingImplicit.ctx CyclicReferenceInvolvingImplicit.this.ctx
1295 50404 47101 - 47114 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name CyclicReferenceInvolvingImplicit.this.cycleSym.name(CyclicReferenceInvolvingImplicit.this.ctx)
1296 50407 46961 - 47162 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|This happens when the right hand-side of ", "\'s definition involves an implicit search.\n |To avoid this error, give `", "` an explicit type.\n |")).hl(CyclicReferenceInvolvingImplicit.this.cycleSym, CyclicReferenceInvolvingImplicit.this.cycleSym.name(CyclicReferenceInvolvingImplicit.this.ctx))(CyclicReferenceInvolvingImplicit.this.ctx)).stripMargin
1302 50409 47338 - 47342 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.qual SuperQualMustBeParent.this.qual
1302 50412 47331 - 47376 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|", " does not name a parent of ", "")).hl(SuperQualMustBeParent.this.qual, SuperQualMustBeParent.this.cls)(SuperQualMustBeParent.this.ctx)
1302 50408 47331 - 47376 Apply scala.StringContext.apply scala.StringContext.apply("|", " does not name a parent of ", "")
1302 50411 47331 - 47331 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1302 50410 47370 - 47373 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.cls SuperQualMustBeParent.this.cls
1303 50413 47392 - 47403 Literal <nosymbol> "Reference"
1305 50415 47445 - 47445 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1305 50424 47445 - 47498 ApplyToImplicitArgs scala.collection.SeqLike.sorted dotc.core.Symbols.toClassDenot(SuperQualMustBeParent.this.cls)(SuperQualMustBeParent.this.ctx).info(SuperQualMustBeParent.this.ctx).parents(SuperQualMustBeParent.this.ctx).map[String, List[String]](((x$17: dotty.tools.dotc.core.Types.Type) => x$17.typeSymbol(SuperQualMustBeParent.this.ctx).name(SuperQualMustBeParent.this.ctx).show(SuperQualMustBeParent.this.ctx)))(immutable.this.List.canBuildFrom[String]).sorted[String](math.this.Ordering.String)
1305 50418 47469 - 47469 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1305 50421 47467 - 47489 ApplyToImplicitArgs dotty.tools.dotc.printing.Showable.show x$17.typeSymbol(SuperQualMustBeParent.this.ctx).name(SuperQualMustBeParent.this.ctx).show(SuperQualMustBeParent.this.ctx)
1305 50414 47445 - 47448 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.cls SuperQualMustBeParent.this.cls
1305 50423 47492 - 47492 Select scala.math.Ordering.String math.this.Ordering.String
1305 50417 47454 - 47454 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1305 50420 47485 - 47485 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1305 50419 47480 - 47480 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1305 50422 47462 - 47462 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[String]
1305 50416 47449 - 47449 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1308 50433 47528 - 47528 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.ctx SuperQualMustBeParent.this.ctx
1308 50427 47573 - 47580 Literal <nosymbol> "super"
1308 50426 47553 - 47556 Literal <nosymbol> "T"
1308 50428 47603 - 47615 Literal <nosymbol> "C.super[T]"
1308 50434 47528 - 47803 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|When a qualifier ", " is used in a ", " prefix of the form ", ",\n |", " must be a parent type of ", ".\n |\n |In this case, the parents of ", " are:\n |", "\n |")).hl("T", "super", "C.super[T]", "T", "C", SuperQualMustBeParent.this.cls, SuperQualMustBeParent.this.parents.mkString(" - ", "\n - ", ""))(SuperQualMustBeParent.this.ctx)
1308 50425 47528 - 47803 Apply scala.StringContext.apply scala.StringContext.apply("|When a qualifier ", " is used in a ", " prefix of the form ", ",\n |", " must be a parent type of ", ".\n |\n |In this case, the parents of ", " are:\n |", "\n |")
1309 50430 47664 - 47667 Literal <nosymbol> "C"
1309 50429 47632 - 47635 Literal <nosymbol> "T"
1311 50431 47725 - 47728 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperQualMustBeParent.cls SuperQualMustBeParent.this.cls
1312 50432 47748 - 47786 Apply scala.collection.TraversableOnce.mkString SuperQualMustBeParent.this.parents.mkString(" - ", "\n - ", "")
1313 50435 47528 - 47815 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|When a qualifier ", " is used in a ", " prefix of the form ", ",\n |", " must be a parent type of ", ".\n |\n |In this case, the parents of ", " are:\n |", "\n |")).hl("T", "super", "C.super[T]", "T", "C", SuperQualMustBeParent.this.cls, SuperQualMustBeParent.this.parents.mkString(" - ", "\n - ", ""))(SuperQualMustBeParent.this.ctx)).stripMargin
1318 50436 47954 - 47988 Literal <nosymbol> "varargs parameter must come last"
1319 50437 48004 - 48012 Literal <nosymbol> "Syntax"
1321 50439 48041 - 48041 Select dotty.tools.dotc.reporting.diagnostic.messages.VarArgsParamMustComeLast.ctx VarArgsParamMustComeLast.this.ctx
1321 50438 48041 - 48226 Apply scala.StringContext.apply scala.StringContext.apply("|The varargs field must be the last field in the method signature.\n |Attempting to define a field in a method signature after a varargs field is an error.\n |")
1321 50440 48041 - 48226 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|The varargs field must be the last field in the method signature.\n |Attempting to define a field in a method signature after a varargs field is an error.\n |")).hl()(VarArgsParamMustComeLast.this.ctx)
1337 50441 48758 - 48767 Literal <nosymbol> "defined"
1338 50442 48808 - 48826 Literal <nosymbol> "imported by name"
1339 50443 48866 - 48876 Literal <nosymbol> "imported"
1340 50444 48919 - 48926 Literal <nosymbol> "found"
1342 50445 48945 - 48975 Apply dotty.tools.dotc.typer.Typer.BindingPrec.isImportPrec typer.Typer.BindingPrec.isImportPrec(prec)
1343 50451 48987 - 48987 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1343 50448 49024 - 49045 Select dotty.tools.dotc.core.Contexts.Context.importInfo whereFound.importInfo
1343 50447 49019 - 49047 Apply scala.StringContext.apply scala.StringContext.apply("", "")
1343 50450 49019 - 49047 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(whereFound.importInfo)(AmbiguousImport.this.ctx)
1343 50453 48987 - 49051 Block dotty.tools.dotc.core.Decorators.StringInterpolators.ex dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "", " by ", "")).ex(howVisible, qualifier, dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(whereFound.importInfo)(AmbiguousImport.this.ctx))(AmbiguousImport.this.ctx)
1343 50452 48987 - 49051 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.ex dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "", " by ", "")).ex(howVisible, qualifier, dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(whereFound.importInfo)(AmbiguousImport.this.ctx))(AmbiguousImport.this.ctx)
1343 50446 48987 - 49051 Apply scala.StringContext.apply scala.StringContext.apply("", "", " by ", "")
1343 50449 49019 - 49019 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1345 50460 49073 - 49132 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.ex dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "", " in ", "")).ex(howVisible, qualifier, dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(whereFound.owner)(AmbiguousImport.this.ctx))(AmbiguousImport.this.ctx)
1345 50454 49073 - 49132 Apply scala.StringContext.apply scala.StringContext.apply("", "", " in ", "")
1345 50457 49105 - 49105 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1345 50456 49110 - 49126 Select dotty.tools.dotc.core.Contexts.Context.owner whereFound.owner
1345 50459 49073 - 49073 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1345 50461 49073 - 49132 Block dotty.tools.dotc.core.Decorators.StringInterpolators.ex dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "", " in ", "")).ex(howVisible, qualifier, dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(whereFound.owner)(AmbiguousImport.this.ctx))(AmbiguousImport.this.ctx)
1345 50455 49105 - 49128 Apply scala.StringContext.apply scala.StringContext.apply("", "")
1345 50458 49105 - 49128 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(whereFound.owner)(AmbiguousImport.this.ctx)
1350 50463 49182 - 49191 Apply scala.StringContext.apply scala.StringContext.apply("", "")
1350 50466 49182 - 49191 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(AmbiguousImport.this.name)(AmbiguousImport.this.ctx)
1350 50465 49182 - 49182 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1350 50462 49161 - 49330 Apply scala.StringContext.apply scala.StringContext.apply("|reference to `", "` is ambiguous\n |it is both ", "\n |and ", "")
1350 50464 49186 - 49190 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.name AmbiguousImport.this.name
1350 50476 49161 - 49330 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.i dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|reference to `", "` is ambiguous\n |it is both ", "\n |and ", "")).i(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(AmbiguousImport.this.name)(AmbiguousImport.this.ctx), AmbiguousImport.this.bindingString(AmbiguousImport.this.newPrec, AmbiguousImport.this.ctx, AmbiguousImport.this.bindingString$default$3), AmbiguousImport.this.bindingString(AmbiguousImport.this.prevPrec, AmbiguousImport.this.prevCtx, " subsequently"))(AmbiguousImport.this.ctx)
1350 50475 49161 - 49161 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1351 50469 49231 - 49231 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.bindingString$default$3 AmbiguousImport.this.bindingString$default$3
1351 50468 49254 - 49257 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1351 50470 49231 - 49258 Apply dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.bindingString AmbiguousImport.this.bindingString(AmbiguousImport.this.newPrec, AmbiguousImport.this.ctx, AmbiguousImport.this.bindingString$default$3)
1351 50467 49245 - 49252 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.newPrec AmbiguousImport.this.newPrec
1352 50472 49301 - 49308 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.prevCtx AmbiguousImport.this.prevCtx
1352 50474 49277 - 49326 Apply dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.bindingString AmbiguousImport.this.bindingString(AmbiguousImport.this.prevPrec, AmbiguousImport.this.prevCtx, " subsequently")
1352 50471 49291 - 49299 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.prevPrec AmbiguousImport.this.prevPrec
1352 50473 49310 - 49325 Literal <nosymbol> " subsequently"
1354 50477 49347 - 49358 Literal <nosymbol> "Reference"
1357 50478 49388 - 49772 Apply scala.StringContext.apply scala.StringContext.apply("|The compiler can\'t decide which of the possible choices you\n |are referencing with ", ".\n |Note:\n |- Definitions take precedence over imports\n |- Named imports take precedence over wildcard imports\n |- You may replace a name when imported using\n | ", " scala.{ ", " => ", " }\n |")
1357 50483 49388 - 49388 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.ctx AmbiguousImport.this.ctx
1357 50484 49388 - 49772 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|The compiler can\'t decide which of the possible choices you\n |are referencing with ", ".\n |Note:\n |- Definitions take precedence over imports\n |- Named imports take precedence over wildcard imports\n |- You may replace a name when imported using\n | ", " scala.{ ", " => ", " }\n |")).hl(AmbiguousImport.this.name, "import", AmbiguousImport.this.name, AmbiguousImport.this.name.show(AmbiguousImport.this.ctx).+("Tick"))(AmbiguousImport.this.ctx)
1358 50479 49488 - 49492 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.name AmbiguousImport.this.name
1363 50481 49725 - 49729 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousImport.name AmbiguousImport.this.name
1363 50480 49706 - 49714 Literal <nosymbol> "import"
1363 50482 49735 - 49753 Apply java.lang.String.+ AmbiguousImport.this.name.show(AmbiguousImport.this.ctx).+("Tick")
1369 50485 49992 - 49996 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.tree MethodDoesNotTakeParameters.this.tree
1370 50486 50031 - 50038 Literal <nosymbol> " more"
1371 50487 50055 - 50057 Literal <nosymbol> ""
1374 50490 50084 - 50108 Apply dotty.tools.dotc.typer.ErrorReporting.Errors.refStr MethodDoesNotTakeParameters.this.err.refStr(MethodDoesNotTakeParameters.this.methPartType)
1374 50489 50095 - 50107 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.methPartType MethodDoesNotTakeParameters.this.methPartType
1374 50492 50079 - 50079 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.ctx MethodDoesNotTakeParameters.this.ctx
1374 50488 50079 - 50140 Apply scala.StringContext.apply scala.StringContext.apply("", " does not take", " parameters")
1374 50491 50124 - 50128 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.more MethodDoesNotTakeParameters.this.more
1374 50493 50079 - 50140 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " does not take", " parameters")).hl(MethodDoesNotTakeParameters.this.err.refStr(MethodDoesNotTakeParameters.this.methPartType), MethodDoesNotTakeParameters.this.more)(MethodDoesNotTakeParameters.this.ctx)
1376 50494 50157 - 50168 Literal <nosymbol> "Reference"
1378 50496 50205 - 50255 TypeApply scala.Any.isInstanceOf MethodDoesNotTakeParameters.this.methPartType.widenSingleton(MethodDoesNotTakeParameters.this.ctx).isInstanceOf[dotty.tools.dotc.core.Types.ExprType]
1378 50495 50218 - 50218 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.ctx MethodDoesNotTakeParameters.this.ctx
1379 50499 50274 - 50298 Apply dotty.tools.dotc.typer.ErrorReporting.Errors.refStr MethodDoesNotTakeParameters.this.err.refStr(MethodDoesNotTakeParameters.this.methPartType)
1379 50498 50285 - 50297 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.methPartType MethodDoesNotTakeParameters.this.methPartType
1379 50501 50263 - 50401 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|As ", " is defined without parenthesis, you may\n |not use any at call-site, either.\n |")).hl(MethodDoesNotTakeParameters.this.err.refStr(MethodDoesNotTakeParameters.this.methPartType))(MethodDoesNotTakeParameters.this.ctx)
1379 50497 50263 - 50401 Apply scala.StringContext.apply scala.StringContext.apply("|As ", " is defined without parenthesis, you may\n |not use any at call-site, either.\n |")
1379 50500 50263 - 50263 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.ctx MethodDoesNotTakeParameters.this.ctx
1379 50502 50263 - 50401 Block dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|As ", " is defined without parenthesis, you may\n |not use any at call-site, either.\n |")).hl(MethodDoesNotTakeParameters.this.err.refStr(MethodDoesNotTakeParameters.this.methPartType))(MethodDoesNotTakeParameters.this.ctx)
1383 50504 50417 - 50419 Block <nosymbol> ""
1383 50503 50417 - 50419 Literal <nosymbol> ""
1386 50505 50453 - 50546 Literal <nosymbol> "|You have specified more parameter lists as defined in the method definition(s).\n |"
1386 50508 50449 - 50561 Apply scala.StringContext.s scala.StringContext.apply("|You have specified more parameter lists as defined in the method definition(s).\n |", "").s(MethodDoesNotTakeParameters.this.noParameters)
1387 50507 50546 - 50558 Select dotty.tools.dotc.reporting.diagnostic.messages.MethodDoesNotTakeParameters.noParameters MethodDoesNotTakeParameters.this.noParameters
1387 50506 50558 - 50561 Literal <nosymbol> ""
1387 50509 50449 - 50573 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("|You have specified more parameter lists as defined in the method definition(s).\n |", "").s(MethodDoesNotTakeParameters.this.noParameters)).stripMargin
1396 50514 50832 - 50837 Block <nosymbol> "all"
1396 50510 50802 - 50818 Apply scala.Int.== AmbiguousOverload.this.alts.length.==(2)
1396 50513 50832 - 50837 Literal <nosymbol> "all"
1396 50512 50820 - 50826 Block <nosymbol> "both"
1396 50511 50820 - 50826 Literal <nosymbol> "both"
1398 50516 50917 - 50930 Literal <nosymbol> "\n |"
1398 50519 50911 - 50915 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousOverload.alts AmbiguousOverload.this.alts
1398 50524 50858 - 50969 Apply scala.StringContext.s scala.StringContext.apply("|Ambiguous overload. The ", "\n |", " match ", "").s(AmbiguousOverload.this.err.overloadedAltsStr(AmbiguousOverload.this.alts), AmbiguousOverload.this.all, AmbiguousOverload.this.err.expectedTypeStr(AmbiguousOverload.this.pt))
1398 50515 50862 - 50888 Literal <nosymbol> "|Ambiguous overload. The "
1398 50520 50889 - 50916 Apply dotty.tools.dotc.typer.ErrorReporting.Errors.overloadedAltsStr AmbiguousOverload.this.err.overloadedAltsStr(AmbiguousOverload.this.alts)
1399 50523 50942 - 50965 Apply dotty.tools.dotc.typer.ErrorReporting.Errors.expectedTypeStr AmbiguousOverload.this.err.expectedTypeStr(AmbiguousOverload.this.pt)
1399 50517 50933 - 50941 Literal <nosymbol> " match "
1399 50525 50858 - 50981 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("|Ambiguous overload. The ", "\n |", " match ", "").s(AmbiguousOverload.this.err.overloadedAltsStr(AmbiguousOverload.this.alts), AmbiguousOverload.this.all, AmbiguousOverload.this.err.expectedTypeStr(AmbiguousOverload.this.pt))).stripMargin
1399 50522 50962 - 50964 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousOverload.pt AmbiguousOverload.this.pt
1399 50521 50930 - 50933 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousOverload.all AmbiguousOverload.this.all
1399 50518 50966 - 50969 Literal <nosymbol> ""
1400 50526 50997 - 51008 Literal <nosymbol> "Reference"
1402 50528 51055 - 51066 Select scala.collection.LinearSeqOptimized.length AmbiguousOverload.this.alts.length
1402 50531 51037 - 51389 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|There are ", " methods that could be referenced as the compiler knows too little\n |about the expected type.\n |You may specify the expected type e.g. by\n |- assigning it to a value with a specified type, or\n |- adding a type ascription as in `", "`\n |")).hl(AmbiguousOverload.this.alts.length, "instance.myMethod: String => Int")(AmbiguousOverload.this.ctx)
1402 50530 51037 - 51037 Select dotty.tools.dotc.reporting.diagnostic.messages.AmbiguousOverload.ctx AmbiguousOverload.this.ctx
1402 50527 51037 - 51389 Apply scala.StringContext.apply scala.StringContext.apply("|There are ", " methods that could be referenced as the compiler knows too little\n |about the expected type.\n |You may specify the expected type e.g. by\n |- assigning it to a value with a specified type, or\n |- adding a type ascription as in `", "`\n |")
1406 50529 51337 - 51371 Literal <nosymbol> "instance.myMethod: String => Int"
1412 50532 51525 - 51536 Literal <nosymbol> "Reference"
1413 50534 51578 - 51582 Select dotty.tools.dotc.reporting.diagnostic.messages.ReassignmentToVal.name ReassignmentToVal.this.name
1413 50533 51551 - 51586 Apply scala.StringContext.apply scala.StringContext.apply("reassignment to val `", "`")
1413 50536 51551 - 51586 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("reassignment to val `", "`")).hl(ReassignmentToVal.this.name)(ReassignmentToVal.this.ctx)
1413 50535 51551 - 51551 Select dotty.tools.dotc.reporting.diagnostic.messages.ReassignmentToVal.ctx ReassignmentToVal.this.ctx
1415 50537 51615 - 51978 Apply scala.StringContext.apply scala.StringContext.apply("|You can not assign a new value to `", "` as values can\'t be changed.\n |Keep in mind that every statement has a value, so you may e.g. use\n | ", " ", " ", "\n |In case you need a reassignable name, you can declare it as\n |variable\n | ", " ", " ", " ...\n |")
1415 50546 51615 - 51978 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|You can not assign a new value to `", "` as values can\'t be changed.\n |Keep in mind that every statement has a value, so you may e.g. use\n | ", " ", " ", "\n |In case you need a reassignable name, you can declare it as\n |variable\n | ", " ", " ", " ...\n |")).hl(ReassignmentToVal.this.name, "val", ReassignmentToVal.this.name, "= if (condition) 2 else 5", "var", ReassignmentToVal.this.name, "=")(ReassignmentToVal.this.ctx)
1415 50545 51615 - 51615 Select dotty.tools.dotc.reporting.diagnostic.messages.ReassignmentToVal.ctx ReassignmentToVal.this.ctx
1415 50538 51657 - 51661 Select dotty.tools.dotc.reporting.diagnostic.messages.ReassignmentToVal.name ReassignmentToVal.this.name
1417 50541 51801 - 51828 Literal <nosymbol> "= if (condition) 2 else 5"
1417 50540 51794 - 51798 Select dotty.tools.dotc.reporting.diagnostic.messages.ReassignmentToVal.name ReassignmentToVal.this.name
1417 50539 51786 - 51791 Literal <nosymbol> "val"
1420 50543 51947 - 51951 Select dotty.tools.dotc.reporting.diagnostic.messages.ReassignmentToVal.name ReassignmentToVal.this.name
1420 50542 51939 - 51944 Literal <nosymbol> "var"
1420 50544 51954 - 51957 Literal <nosymbol> "="
1421 50547 51615 - 51990 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|You can not assign a new value to `", "` as values can\'t be changed.\n |Keep in mind that every statement has a value, so you may e.g. use\n | ", " ", " ", "\n |In case you need a reassignable name, you can declare it as\n |variable\n | ", " ", " ", " ...\n |")).hl(ReassignmentToVal.this.name, "val", ReassignmentToVal.this.name, "= if (condition) 2 else 5", "var", ReassignmentToVal.this.name, "=")(ReassignmentToVal.this.ctx)).stripMargin
1426 50548 52182 - 52193 Literal <nosymbol> "Reference"
1427 50550 52212 - 52215 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeDoesNotTakeParameters.tpe TypeDoesNotTakeParameters.this.tpe
1427 50549 52208 - 52246 Apply scala.StringContext.apply scala.StringContext.apply("", " does not take type parameters")
1427 50552 52208 - 52246 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " does not take type parameters")).hl(TypeDoesNotTakeParameters.this.tpe)(TypeDoesNotTakeParameters.this.ctx)
1427 50551 52208 - 52208 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeDoesNotTakeParameters.ctx TypeDoesNotTakeParameters.this.ctx
1430 50558 52297 - 52331 Block scala.StringContext.s scala.StringContext.apply("a type parameter ", "").s(TypeDoesNotTakeParameters.this.params.head)
1430 50555 52330 - 52331 Literal <nosymbol> ""
1430 50557 52297 - 52331 Apply scala.StringContext.s scala.StringContext.apply("a type parameter ", "").s(TypeDoesNotTakeParameters.this.params.head)
1430 50554 52299 - 52317 Literal <nosymbol> "a type parameter "
1430 50553 52279 - 52295 Apply scala.Int.== TypeDoesNotTakeParameters.this.params.size.==(1)
1430 50556 52318 - 52329 Select scala.collection.IterableLike.head TypeDoesNotTakeParameters.this.params.head
1431 50559 52345 - 52362 Literal <nosymbol> "type parameters "
1431 50561 52363 - 52396 Apply scala.collection.TraversableOnce.mkString TypeDoesNotTakeParameters.this.params.map[String, List[String]](((x$18: dotty.tools.dotc.ast.Trees.Tree[dotty.tools.dotc.ast.Trees.Untyped]) => x$18.show(TypeDoesNotTakeParameters.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(", ")
1431 50560 52397 - 52398 Literal <nosymbol> ""
1431 50563 52343 - 52398 Block scala.StringContext.s scala.StringContext.apply("type parameters ", "").s(TypeDoesNotTakeParameters.this.params.map[String, List[String]](((x$18: dotty.tools.dotc.ast.Trees.Tree[dotty.tools.dotc.ast.Trees.Untyped]) => x$18.show(TypeDoesNotTakeParameters.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(", "))
1431 50562 52343 - 52398 Apply scala.StringContext.s scala.StringContext.apply("type parameters ", "").s(TypeDoesNotTakeParameters.this.params.map[String, List[String]](((x$18: dotty.tools.dotc.ast.Trees.Tree[dotty.tools.dotc.ast.Trees.Untyped]) => x$18.show(TypeDoesNotTakeParameters.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(", "))
1434 50568 52471 - 52474 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeDoesNotTakeParameters.tpe TypeDoesNotTakeParameters.this.tpe
1434 50567 52467 - 52475 Apply scala.StringContext.apply scala.StringContext.apply("", "")
1434 50570 52467 - 52475 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(TypeDoesNotTakeParameters.this.tpe)(TypeDoesNotTakeParameters.this.ctx)
1434 50564 52428 - 52536 Apply scala.StringContext.apply scala.StringContext.apply("You specified ", " for ", ", which is not\n |declared to take any.\n |")
1434 50572 52428 - 52536 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.i dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("You specified ", " for ", ", which is not\n |declared to take any.\n |")).i(printing.Highlighting.NoColor.apply(TypeDoesNotTakeParameters.this.ps), dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(TypeDoesNotTakeParameters.this.tpe)(TypeDoesNotTakeParameters.this.ctx))(TypeDoesNotTakeParameters.this.ctx)
1434 50566 52448 - 52459 Apply dotty.tools.dotc.printing.Highlighting.NoColor.apply printing.Highlighting.NoColor.apply(TypeDoesNotTakeParameters.this.ps)
1434 50569 52467 - 52467 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeDoesNotTakeParameters.ctx TypeDoesNotTakeParameters.this.ctx
1434 50571 52428 - 52428 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeDoesNotTakeParameters.ctx TypeDoesNotTakeParameters.this.ctx
1434 50565 52456 - 52458 Select dotty.tools.dotc.reporting.diagnostic.messages.TypeDoesNotTakeParameters.ps TypeDoesNotTakeParameters.this.ps
1441 50576 52695 - 52738 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("parameterized ", " lacks argument list")).hl(ParameterizedTypeLacksArguments.this.psym)(ParameterizedTypeLacksArguments.this.ctx)
1441 50573 52695 - 52738 Apply scala.StringContext.apply scala.StringContext.apply("parameterized ", " lacks argument list")
1441 50575 52695 - 52695 Select dotty.tools.dotc.reporting.diagnostic.messages.ParameterizedTypeLacksArguments.ctx ParameterizedTypeLacksArguments.this.ctx
1441 50574 52713 - 52717 Select dotty.tools.dotc.reporting.diagnostic.messages.ParameterizedTypeLacksArguments.psym ParameterizedTypeLacksArguments.this.psym
1442 50577 52754 - 52765 Literal <nosymbol> "Reference"
1444 50579 52804 - 52808 Select dotty.tools.dotc.reporting.diagnostic.messages.ParameterizedTypeLacksArguments.psym ParameterizedTypeLacksArguments.this.psym
1444 50581 52794 - 52936 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("The ", " is declared with non-implicit parameters, you may not leave\n |out the parameter list when extending it.\n |")).hl(ParameterizedTypeLacksArguments.this.psym)(ParameterizedTypeLacksArguments.this.ctx)
1444 50578 52794 - 52936 Apply scala.StringContext.apply scala.StringContext.apply("The ", " is declared with non-implicit parameters, you may not leave\n |out the parameter list when extending it.\n |")
1444 50580 52794 - 52794 Select dotty.tools.dotc.reporting.diagnostic.messages.ParameterizedTypeLacksArguments.ctx ParameterizedTypeLacksArguments.this.ctx
1451 50586 53144 - 53151 Block <nosymbol> "`var\'"
1451 50585 53144 - 53151 Literal <nosymbol> "`var\'"
1451 50588 53157 - 53164 Block <nosymbol> "`val\'"
1451 50582 53129 - 53130 Literal <nosymbol> ""
1451 50584 53135 - 53142 Select dotty.tools.dotc.reporting.diagnostic.messages.VarValParametersMayNotBeCallByName.mutable VarValParametersMayNotBeCallByName.this.mutable
1451 50587 53157 - 53164 Literal <nosymbol> "`val\'"
1451 50589 53127 - 53201 Apply scala.StringContext.s scala.StringContext.apply("", " parameters may not be call-by-name").s(if (VarValParametersMayNotBeCallByName.this.mutable) "`var\'" else "`val\'")
1451 50583 53165 - 53201 Literal <nosymbol> " parameters may not be call-by-name"
1452 50590 53217 - 53225 Literal <nosymbol> "Syntax"
1454 50606 53254 - 53254 Select dotty.tools.dotc.reporting.diagnostic.messages.VarValParametersMayNotBeCallByName.ctx VarValParametersMayNotBeCallByName.this.ctx
1454 50591 53254 - 53630 Apply scala.StringContext.apply scala.StringContext.apply("", " and ", " parameters of classes and traits may no be call-by-name. In case you\n |want the parameter to be evaluated on demand, consider making it just a parameter\n |and a ", " in the class such as\n | ", "\n | ", "\n | ", "\n |")
1454 50593 53274 - 53279 Literal <nosymbol> "val"
1454 50607 53254 - 53630 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " and ", " parameters of classes and traits may no be call-by-name. In case you\n |want the parameter to be evaluated on demand, consider making it just a parameter\n |and a ", " in the class such as\n | ", "\n | ", "\n | ", "\n |")).hl("var", "val", "def", scala.StringContext.apply("class MyClass(", "Tick: => String) {").s(VarValParametersMayNotBeCallByName.this.name), scala.StringContext.apply(" def ", "() = ", "Tick").s(VarValParametersMayNotBeCallByName.this.name, VarValParametersMayNotBeCallByName.this.name), "}")(VarValParametersMayNotBeCallByName.this.ctx)
1454 50592 53261 - 53266 Literal <nosymbol> "var"
1456 50594 53462 - 53467 Literal <nosymbol> "def"
1457 50597 53523 - 53527 Select dotty.tools.dotc.reporting.diagnostic.messages.VarValParametersMayNotBeCallByName.name VarValParametersMayNotBeCallByName.this.name
1457 50596 53528 - 53547 Literal <nosymbol> "Tick: => String) {"
1457 50595 53507 - 53522 Literal <nosymbol> "class MyClass("
1457 50598 53505 - 53547 Apply scala.StringContext.s scala.StringContext.apply("class MyClass(", "Tick: => String) {").s(VarValParametersMayNotBeCallByName.this.name)
1458 50603 53584 - 53588 Select dotty.tools.dotc.reporting.diagnostic.messages.VarValParametersMayNotBeCallByName.name VarValParametersMayNotBeCallByName.this.name
1458 50600 53577 - 53583 Literal <nosymbol> "() = "
1458 50599 53566 - 53573 Literal <nosymbol> " def "
1458 50602 53573 - 53577 Select dotty.tools.dotc.reporting.diagnostic.messages.VarValParametersMayNotBeCallByName.name VarValParametersMayNotBeCallByName.this.name
1458 50604 53564 - 53594 Apply scala.StringContext.s scala.StringContext.apply(" def ", "() = ", "Tick").s(VarValParametersMayNotBeCallByName.this.name, VarValParametersMayNotBeCallByName.this.name)
1458 50601 53589 - 53594 Literal <nosymbol> "Tick"
1459 50605 53611 - 53614 Literal <nosymbol> "}"
1465 50609 53802 - 53805 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingTypeParameterFor.tpe MissingTypeParameterFor.this.tpe
1465 50608 53770 - 53807 Apply scala.StringContext.apply scala.StringContext.apply("missing type parameter for ", "")
1465 50611 53770 - 53807 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("missing type parameter for ", "")).hl(MissingTypeParameterFor.this.tpe)(MissingTypeParameterFor.this.ctx)
1465 50610 53770 - 53770 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingTypeParameterFor.ctx MissingTypeParameterFor.this.ctx
1466 50612 53823 - 53831 Literal <nosymbol> "Syntax"
1467 50613 53854 - 53856 Literal <nosymbol> ""
1473 50618 54143 - 54146 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToBound.tpe DoesNotConformToBound.this.tpe
1473 50621 54059 - 54059 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToBound.ctx DoesNotConformToBound.this.ctx
1473 50615 54078 - 54081 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToBound.tpe DoesNotConformToBound.this.tpe
1473 50617 54117 - 54122 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToBound.bound DoesNotConformToBound.this.bound
1473 50620 54125 - 54154 Apply dotty.tools.dotc.typer.ErrorReporting.Errors.whyNoMatchStr DoesNotConformToBound.this.err.whyNoMatchStr(DoesNotConformToBound.this.tpe, DoesNotConformToBound.this.bound)
1473 50614 54059 - 54156 Apply scala.StringContext.apply scala.StringContext.apply("Type argument ", " does not conform to ", " bound ", " ", "")
1473 50622 54059 - 54156 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Type argument ", " does not conform to ", " bound ", " ", "")).hl(DoesNotConformToBound.this.tpe, DoesNotConformToBound.this.which, DoesNotConformToBound.this.bound, DoesNotConformToBound.this.err.whyNoMatchStr(DoesNotConformToBound.this.tpe, DoesNotConformToBound.this.bound))(DoesNotConformToBound.this.ctx)
1473 50616 54104 - 54109 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToBound.which DoesNotConformToBound.this.which
1473 50619 54148 - 54153 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToBound.bound DoesNotConformToBound.this.bound
1474 50623 54172 - 54187 Literal <nosymbol> "Type Mismatch"
1475 50624 54210 - 54212 Literal <nosymbol> ""
1482 50627 54510 - 54518 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.selfType DoesNotConformToSelfType.this.selfType
1482 50633 54483 - 54609 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", ": self type ", " of ", " does not conform to self type ", "\n |of ", " ", "")).hl(DoesNotConformToSelfType.this.category, DoesNotConformToSelfType.this.selfType, DoesNotConformToSelfType.this.cls, DoesNotConformToSelfType.this.otherSelf, DoesNotConformToSelfType.this.relation, DoesNotConformToSelfType.this.other)(DoesNotConformToSelfType.this.ctx)
1482 50632 54483 - 54483 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.ctx DoesNotConformToSelfType.this.ctx
1482 50626 54489 - 54497 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.category DoesNotConformToSelfType.this.category
1482 50629 54558 - 54567 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.otherSelf DoesNotConformToSelfType.this.otherSelf
1482 50625 54483 - 54609 Apply scala.StringContext.apply scala.StringContext.apply("", ": self type ", " of ", " does not conform to self type ", "\n |of ", " ", "")
1482 50628 54523 - 54526 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.cls DoesNotConformToSelfType.this.cls
1483 50630 54591 - 54599 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.relation DoesNotConformToSelfType.this.relation
1483 50631 54601 - 54606 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.other DoesNotConformToSelfType.this.other
1484 50634 54625 - 54640 Literal <nosymbol> "Type Mismatch"
1486 50636 54688 - 54693 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.other DoesNotConformToSelfType.this.other
1486 50635 54669 - 54961 Apply scala.StringContext.apply scala.StringContext.apply("You mixed in ", " which requires self type ", ", but ", " has self type\n |", " and does not inherit from ", ".\n |\n |Note: Self types are indicated with the notation\n | ", "", " ", "", "", "\n ")
1486 50647 54669 - 54961 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("You mixed in ", " which requires self type ", ", but ", " has self type\n |", " and does not inherit from ", ".\n |\n |Note: Self types are indicated with the notation\n | ", "", " ", "", "", "\n ")).hl(DoesNotConformToSelfType.this.other, DoesNotConformToSelfType.this.otherSelf, DoesNotConformToSelfType.this.cls, DoesNotConformToSelfType.this.selfType, DoesNotConformToSelfType.this.otherSelf, scala.StringContext.apply("class ").s(), DoesNotConformToSelfType.this.other, "{ this: ", DoesNotConformToSelfType.this.otherSelf, " => ")(DoesNotConformToSelfType.this.ctx)
1486 50638 54736 - 54739 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.cls DoesNotConformToSelfType.this.cls
1486 50646 54669 - 54669 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.ctx DoesNotConformToSelfType.this.ctx
1486 50637 54720 - 54729 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.otherSelf DoesNotConformToSelfType.this.otherSelf
1487 50639 54766 - 54774 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.selfType DoesNotConformToSelfType.this.selfType
1487 50640 54802 - 54811 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.otherSelf DoesNotConformToSelfType.this.otherSelf
1490 50645 54942 - 54948 Literal <nosymbol> " => "
1490 50642 54911 - 54916 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.other DoesNotConformToSelfType.this.other
1490 50641 54900 - 54909 Apply scala.StringContext.s scala.StringContext.apply("class ").s()
1490 50644 54931 - 54940 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfType.otherSelf DoesNotConformToSelfType.this.otherSelf
1490 50643 54919 - 54929 Literal <nosymbol> "{ this: "
1497 50648 55159 - 55238 Apply scala.StringContext.apply scala.StringContext.apply("", " does not conform to its self type ", "; cannot be instantiated")
1497 50651 55159 - 55159 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.ctx DoesNotConformToSelfTypeCantBeInstantiated.this.ctx
1497 50650 55203 - 55211 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.selfType DoesNotConformToSelfTypeCantBeInstantiated.this.selfType
1497 50649 55165 - 55167 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.tp DoesNotConformToSelfTypeCantBeInstantiated.this.tp
1497 50652 55159 - 55238 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " does not conform to its self type ", "; cannot be instantiated")).hl(DoesNotConformToSelfTypeCantBeInstantiated.this.tp, DoesNotConformToSelfTypeCantBeInstantiated.this.selfType)(DoesNotConformToSelfTypeCantBeInstantiated.this.ctx)
1498 50653 55254 - 55269 Literal <nosymbol> "Type Mismatch"
1500 50663 55298 - 55522 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("To create an instance of ", " it needs to inherit ", " in some way.\n |\n |Note: Self types are indicated with the notation\n | ", "", " ", "", "", "\n |")).hl(DoesNotConformToSelfTypeCantBeInstantiated.this.tp, DoesNotConformToSelfTypeCantBeInstantiated.this.selfType, scala.StringContext.apply("class ").s(), DoesNotConformToSelfTypeCantBeInstantiated.this.tp, "{ this: ", DoesNotConformToSelfTypeCantBeInstantiated.this.selfType, " => ")(DoesNotConformToSelfTypeCantBeInstantiated.this.ctx)
1500 50654 55298 - 55522 Apply scala.StringContext.apply scala.StringContext.apply("To create an instance of ", " it needs to inherit ", " in some way.\n |\n |Note: Self types are indicated with the notation\n | ", "", " ", "", "", "\n |")
1500 50662 55298 - 55298 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.ctx DoesNotConformToSelfTypeCantBeInstantiated.this.ctx
1500 50656 55353 - 55361 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.selfType DoesNotConformToSelfTypeCantBeInstantiated.this.selfType
1500 50655 55329 - 55331 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.tp DoesNotConformToSelfTypeCantBeInstantiated.this.tp
1503 50657 55462 - 55471 Apply scala.StringContext.s scala.StringContext.apply("class ").s()
1503 50660 55490 - 55498 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.selfType DoesNotConformToSelfTypeCantBeInstantiated.this.selfType
1503 50659 55478 - 55488 Literal <nosymbol> "{ this: "
1503 50658 55473 - 55475 Select dotty.tools.dotc.reporting.diagnostic.messages.DoesNotConformToSelfTypeCantBeInstantiated.tp DoesNotConformToSelfTypeCantBeInstantiated.this.tp
1503 50661 55500 - 55506 Literal <nosymbol> " => "
1510 50669 55702 - 55758 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " ", " may not have `", "\' modifier")).hl("abstract", AbstractMemberMayNotHaveModifier.this.sym, AbstractMemberMayNotHaveModifier.this.flag)(AbstractMemberMayNotHaveModifier.this.ctx)
1510 50666 55722 - 55725 Select dotty.tools.dotc.reporting.diagnostic.messages.AbstractMemberMayNotHaveModifier.sym AbstractMemberMayNotHaveModifier.this.sym
1510 50668 55702 - 55702 Select dotty.tools.dotc.reporting.diagnostic.messages.AbstractMemberMayNotHaveModifier.ctx AbstractMemberMayNotHaveModifier.this.ctx
1510 50665 55709 - 55719 Literal <nosymbol> "abstract"
1510 50664 55702 - 55758 Apply scala.StringContext.apply scala.StringContext.apply("", " ", " may not have `", "\' modifier")
1510 50667 55741 - 55745 Select dotty.tools.dotc.reporting.diagnostic.messages.AbstractMemberMayNotHaveModifier.flag AbstractMemberMayNotHaveModifier.this.flag
1511 50670 55774 - 55782 Literal <nosymbol> "Syntax"
1512 50671 55805 - 55807 Literal <nosymbol> ""
1518 50672 55952 - 56023 Apply scala.StringContext.apply scala.StringContext.apply("", " modifier cannot be used for top-level definitions")
1518 50675 55952 - 56023 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " modifier cannot be used for top-level definitions")).hl("implicit")(TopLevelCantBeImplicit.this.ctx)
1518 50674 55952 - 55952 Select dotty.tools.dotc.reporting.diagnostic.messages.TopLevelCantBeImplicit.ctx TopLevelCantBeImplicit.this.ctx
1518 50673 55959 - 55969 Literal <nosymbol> "implicit"
1519 50676 56039 - 56047 Literal <nosymbol> "Syntax"
1520 50677 56070 - 56072 Literal <nosymbol> ""
1526 50678 56229 - 56294 Apply scala.StringContext.apply scala.StringContext.apply("", " modifier cannot be used for types or traits")
1526 50681 56229 - 56294 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " modifier cannot be used for types or traits")).hl("implicit")(TypesAndTraitsCantBeImplicit.this.ctx)
1526 50680 56229 - 56229 Select dotty.tools.dotc.reporting.diagnostic.messages.TypesAndTraitsCantBeImplicit.ctx TypesAndTraitsCantBeImplicit.this.ctx
1526 50679 56236 - 56246 Literal <nosymbol> "implicit"
1527 50682 56310 - 56318 Literal <nosymbol> "Syntax"
1528 50683 56341 - 56343 Literal <nosymbol> ""
1534 50687 56492 - 56594 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " modifier can be used only for classes; it should be omitted for abstract members")).hl("abstract")(OnlyClassesCanBeAbstract.this.ctx)
1534 50684 56492 - 56594 Apply scala.StringContext.apply scala.StringContext.apply("", " modifier can be used only for classes; it should be omitted for abstract members")
1534 50686 56492 - 56492 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyClassesCanBeAbstract.ctx OnlyClassesCanBeAbstract.this.ctx
1534 50685 56499 - 56509 Literal <nosymbol> "abstract"
1535 50688 56610 - 56618 Literal <nosymbol> "Syntax"
1536 50689 56641 - 56643 Literal <nosymbol> ""
1542 50690 56800 - 56874 Apply scala.StringContext.apply scala.StringContext.apply("", " modifier only allowed for members of traits")
1542 50693 56800 - 56874 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " modifier only allowed for members of traits")).hl("abstract override")(AbstractOverrideOnlyInTraits.this.ctx)
1542 50692 56800 - 56800 Select dotty.tools.dotc.reporting.diagnostic.messages.AbstractOverrideOnlyInTraits.ctx AbstractOverrideOnlyInTraits.this.ctx
1542 50691 56807 - 56826 Literal <nosymbol> "abstract override"
1543 50694 56890 - 56898 Literal <nosymbol> "Syntax"
1544 50695 56921 - 56923 Literal <nosymbol> ""
1550 50696 57062 - 57096 Apply scala.StringContext.apply scala.StringContext.apply("", " may not be ", "")
1550 50699 57062 - 57062 Select dotty.tools.dotc.reporting.diagnostic.messages.TraitsMayNotBeFinal.ctx TraitsMayNotBeFinal.this.ctx
1550 50698 57085 - 57092 Literal <nosymbol> "final"
1550 50700 57062 - 57096 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " may not be ", "")).hl(TraitsMayNotBeFinal.this.sym, "final")(TraitsMayNotBeFinal.this.ctx)
1550 50697 57068 - 57071 Select dotty.tools.dotc.reporting.diagnostic.messages.TraitsMayNotBeFinal.sym TraitsMayNotBeFinal.this.sym
1551 50701 57112 - 57120 Literal <nosymbol> "Syntax"
1553 50702 57149 - 57233 Literal <nosymbol> "A trait can never be final since it is abstract and must be extended to be useful."
1559 50705 57408 - 57408 Select dotty.tools.dotc.reporting.diagnostic.messages.NativeMembersMayNotHaveImplementation.ctx NativeMembersMayNotHaveImplementation.this.ctx
1559 50704 57415 - 57424 Literal <nosymbol> "@native"
1559 50703 57408 - 57467 Apply scala.StringContext.apply scala.StringContext.apply("", " members may not have an implementation")
1559 50706 57408 - 57467 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " members may not have an implementation")).hl("@native")(NativeMembersMayNotHaveImplementation.this.ctx)
1560 50707 57483 - 57491 Literal <nosymbol> "Syntax"
1561 50708 57514 - 57516 Literal <nosymbol> ""
1569 50714 57747 - 57806 Literal <nosymbol> "Note that variables need to be initialized to be defined."
1569 50711 57737 - 57744 Select dotty.tools.dotc.core.Flags.Mutable dotty.tools.dotc.core.Flags.Mutable
1569 50710 57730 - 57730 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyClassesCanHaveDeclaredButUndefinedMembers.ctx OnlyClassesCanHaveDeclaredButUndefinedMembers.this.ctx
1569 50713 57730 - 57745 ApplyToImplicitArgs dotty.tools.dotc.core.SymDenotations.SymDenotation.is dotc.core.Symbols.toDenot(OnlyClassesCanHaveDeclaredButUndefinedMembers.this.sym)(OnlyClassesCanHaveDeclaredButUndefinedMembers.this.ctx).is(dotty.tools.dotc.core.Flags.Mutable)(OnlyClassesCanHaveDeclaredButUndefinedMembers.this.ctx)
1569 50715 57747 - 57806 Block <nosymbol> "Note that variables need to be initialized to be defined."
1569 50709 57730 - 57733 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyClassesCanHaveDeclaredButUndefinedMembers.sym OnlyClassesCanHaveDeclaredButUndefinedMembers.this.sym
1569 50712 57736 - 57736 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyClassesCanHaveDeclaredButUndefinedMembers.ctx OnlyClassesCanHaveDeclaredButUndefinedMembers.this.ctx
1570 50717 57818 - 57820 Block <nosymbol> ""
1570 50716 57818 - 57820 Literal <nosymbol> ""
1571 50720 57835 - 57895 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("only classes can have declared but undefined members")).hl()(OnlyClassesCanHaveDeclaredButUndefinedMembers.this.ctx)
1571 50719 57835 - 57835 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyClassesCanHaveDeclaredButUndefinedMembers.ctx OnlyClassesCanHaveDeclaredButUndefinedMembers.this.ctx
1571 50718 57835 - 57895 Apply scala.StringContext.apply scala.StringContext.apply("only classes can have declared but undefined members")
1572 50721 57911 - 57919 Literal <nosymbol> "Syntax"
1573 50723 57952 - 57953 Literal <nosymbol> ""
1573 50722 57944 - 57945 Literal <nosymbol> ""
1573 50725 57942 - 57953 Apply scala.StringContext.s scala.StringContext.apply("", "").s(OnlyClassesCanHaveDeclaredButUndefinedMembers.this.varNote)
1573 50724 57945 - 57952 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyClassesCanHaveDeclaredButUndefinedMembers.varNote OnlyClassesCanHaveDeclaredButUndefinedMembers.this.varNote
1578 50729 58085 - 58085 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotExtendAnyVal.ctx CannotExtendAnyVal.this.ctx
1578 50726 58085 - 58123 Apply scala.StringContext.apply scala.StringContext.apply("", " cannot extend ", "")
1578 50728 58111 - 58119 Literal <nosymbol> "AnyVal"
1578 50727 58091 - 58094 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotExtendAnyVal.sym CannotExtendAnyVal.this.sym
1578 50730 58085 - 58123 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " cannot extend ", "")).hl(CannotExtendAnyVal.this.sym, "AnyVal")(CannotExtendAnyVal.this.ctx)
1579 50731 58139 - 58147 Literal <nosymbol> "Syntax"
1581 50738 58176 - 58176 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotExtendAnyVal.ctx CannotExtendAnyVal.this.ctx
1581 50732 58176 - 58458 Apply scala.StringContext.apply scala.StringContext.apply("Only classes (not traits) are allowed to extend ", ", but traits may extend\n |", " to become ", " which may only have ", " members.\n |Universal traits can be mixed into classes that extend ", ".\n |")
1581 50733 58231 - 58239 Literal <nosymbol> "AnyVal"
1581 50739 58176 - 58458 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Only classes (not traits) are allowed to extend ", ", but traits may extend\n |", " to become ", " which may only have ", " members.\n |Universal traits can be mixed into classes that extend ", ".\n |")).hl("AnyVal", "Any", printing.Highlighting.Green.apply("\"universal traits\""), "def", "AnyVal")(CannotExtendAnyVal.this.ctx)
1582 50735 58296 - 58325 Apply dotty.tools.dotc.printing.Highlighting.Green.apply printing.Highlighting.Green.apply("\"universal traits\"")
1582 50734 58277 - 58282 Literal <nosymbol> "Any"
1582 50736 58349 - 58354 Literal <nosymbol> "def"
1583 50737 58433 - 58441 Literal <nosymbol> "AnyVal"
1590 50740 58696 - 58702 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotHaveSameNameAs.reason CannotHaveSameNameAs.this.reason
1591 50741 58744 - 58784 Literal <nosymbol> "class definitions cannot be overridden"
1593 50747 58847 - 58859 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showKind CannotHaveSameNameAs.this.sym.showKind(CannotHaveSameNameAs.this.ctx)
1593 50750 58935 - 58944 Select dotty.tools.dotc.ast.Trees.ValDef.name self.name
1593 50744 58907 - 58934 Literal <nosymbol> " member in self reference "
1593 50746 58851 - 58851 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotHaveSameNameAs.ctx CannotHaveSameNameAs.this.ctx
1593 50749 58894 - 58906 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showKind CannotHaveSameNameAs.this.cls.showKind(CannotHaveSameNameAs.this.ctx)
1593 50743 58860 - 58893 Literal <nosymbol> " member with the same name as a "
1593 50742 58831 - 58846 Literal <nosymbol> "cannot define "
1593 50751 58827 - 59025 Apply scala.StringContext.s scala.StringContext.apply("cannot define ", " member with the same name as a ", " member in self reference ", ".\n |(Note: this can be resolved by using another name)\n |").s(CannotHaveSameNameAs.this.sym.showKind(CannotHaveSameNameAs.this.ctx), CannotHaveSameNameAs.this.cls.showKind(CannotHaveSameNameAs.this.ctx), self.name)
1593 50745 58945 - 59025 Literal <nosymbol> ".\n |(Note: this can be resolved by using another name)\n |"
1593 50748 58898 - 58898 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotHaveSameNameAs.ctx CannotHaveSameNameAs.this.ctx
1595 50752 58827 - 59037 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(scala.StringContext.apply("cannot define ", " member with the same name as a ", " member in self reference ", ".\n |(Note: this can be resolved by using another name)\n |").s(CannotHaveSameNameAs.this.sym.showKind(CannotHaveSameNameAs.this.ctx), CannotHaveSameNameAs.this.cls.showKind(CannotHaveSameNameAs.this.ctx), self.name)).stripMargin
1598 50756 59100 - 59115 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showLocated CannotHaveSameNameAs.this.cls.showLocated(CannotHaveSameNameAs.this.ctx)
1598 50759 59059 - 59139 Apply java.lang.String.+ dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " cannot have the same name as ", " -- ")).hl(CannotHaveSameNameAs.this.sym, CannotHaveSameNameAs.this.cls.showLocated(CannotHaveSameNameAs.this.ctx))(CannotHaveSameNameAs.this.ctx).+(CannotHaveSameNameAs.this.reasonMessage)
1598 50753 59059 - 59123 Apply scala.StringContext.apply scala.StringContext.apply("", " cannot have the same name as ", " -- ")
1598 50755 59104 - 59104 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotHaveSameNameAs.ctx CannotHaveSameNameAs.this.ctx
1598 50758 59126 - 59139 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotHaveSameNameAs.reasonMessage CannotHaveSameNameAs.this.reasonMessage
1598 50754 59065 - 59068 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotHaveSameNameAs.sym CannotHaveSameNameAs.this.sym
1598 50757 59059 - 59059 Select dotty.tools.dotc.reporting.diagnostic.messages.CannotHaveSameNameAs.ctx CannotHaveSameNameAs.this.ctx
1599 50760 59155 - 59163 Literal <nosymbol> "Syntax"
1600 50761 59186 - 59188 Literal <nosymbol> ""
1610 50762 59536 - 59587 Apply scala.StringContext.apply scala.StringContext.apply("value classes may not define an inner class")
1610 50764 59536 - 59587 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("value classes may not define an inner class")).hl()(ValueClassesMayNotDefineInner.this.ctx)
1610 50763 59536 - 59536 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotDefineInner.ctx ValueClassesMayNotDefineInner.this.ctx
1611 50765 59603 - 59611 Literal <nosymbol> "Syntax"
1612 50766 59634 - 59636 Literal <nosymbol> ""
1617 50768 59836 - 59836 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotDefineNonParameterField.ctx ValueClassesMayNotDefineNonParameterField.this.ctx
1617 50767 59836 - 59892 Apply scala.StringContext.apply scala.StringContext.apply("value classes may not define non-parameter field")
1617 50769 59836 - 59892 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("value classes may not define non-parameter field")).hl()(ValueClassesMayNotDefineNonParameterField.this.ctx)
1618 50770 59908 - 59916 Literal <nosymbol> "Syntax"
1619 50771 59939 - 59941 Literal <nosymbol> ""
1624 50774 60155 - 60215 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("value classes may not define a secondary constructor")).hl()(ValueClassesMayNotDefineASecondaryConstructor.this.ctx)
1624 50773 60155 - 60155 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotDefineASecondaryConstructor.ctx ValueClassesMayNotDefineASecondaryConstructor.this.ctx
1624 50772 60155 - 60215 Apply scala.StringContext.apply scala.StringContext.apply("value classes may not define a secondary constructor")
1625 50775 60231 - 60239 Literal <nosymbol> "Syntax"
1626 50776 60262 - 60264 Literal <nosymbol> ""
1631 50777 60443 - 60506 Apply scala.StringContext.apply scala.StringContext.apply("value classes may not contain initialization statements")
1631 50779 60443 - 60506 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("value classes may not contain initialization statements")).hl()(ValueClassesMayNotContainInitalization.this.ctx)
1631 50778 60443 - 60443 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotContainInitalization.ctx ValueClassesMayNotContainInitalization.this.ctx
1632 50780 60522 - 60530 Literal <nosymbol> "Syntax"
1633 50781 60553 - 60555 Literal <nosymbol> ""
1638 50783 60746 - 60756 Literal <nosymbol> "abstract"
1638 50782 60714 - 60760 Apply scala.StringContext.apply scala.StringContext.apply("value classes may not be ", "")
1638 50785 60714 - 60760 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("value classes may not be ", "")).hl("abstract")(ValueClassesMayNotBeAbstract.this.ctx)
1638 50784 60714 - 60714 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotBeAbstract.ctx ValueClassesMayNotBeAbstract.this.ctx
1639 50786 60776 - 60784 Literal <nosymbol> "Syntax"
1640 50787 60807 - 60809 Literal <nosymbol> ""
1645 50792 61019 - 61032 Literal <nosymbol> "local class"
1645 50795 61038 - 61063 Block <nosymbol> "member of another class"
1645 50788 60994 - 61004 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotBeContainted.valueClass ValueClassesMayNotBeContainted.this.valueClass
1645 50791 60994 - 61017 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.isTerm dotc.core.Symbols.toDenot(ValueClassesMayNotBeContainted.this.valueClass)(ValueClassesMayNotBeContainted.this.ctx).owner.isTerm(ValueClassesMayNotBeContainted.this.ctx)
1645 50794 61038 - 61063 Literal <nosymbol> "member of another class"
1645 50793 61019 - 61032 Block <nosymbol> "local class"
1645 50790 61011 - 61011 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotBeContainted.ctx ValueClassesMayNotBeContainted.this.ctx
1645 50789 60994 - 60994 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotBeContainted.ctx ValueClassesMayNotBeContainted.this.ctx
1646 50797 61123 - 61126 Literal <nosymbol> ""
1646 50796 61082 - 61110 Literal <nosymbol> "value classes may not be a "
1646 50799 61078 - 61126 Apply scala.StringContext.s scala.StringContext.apply("value classes may not be a ", "").s(ValueClassesMayNotBeContainted.this.localOrMember)
1646 50798 61110 - 61123 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassesMayNotBeContainted.localOrMember ValueClassesMayNotBeContainted.this.localOrMember
1647 50800 61142 - 61150 Literal <nosymbol> "Syntax"
1648 50801 61173 - 61175 Literal <nosymbol> ""
1653 50802 61334 - 61373 Literal <nosymbol> "a value class may not wrap itself"
1654 50803 61389 - 61397 Literal <nosymbol> "Syntax"
1655 50804 61420 - 61422 Literal <nosymbol> ""
1660 50806 61646 - 61651 Literal <nosymbol> "var"
1660 50805 61602 - 61655 Apply scala.StringContext.apply scala.StringContext.apply("a value class parameter may not be a ", "")
1660 50808 61602 - 61655 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("a value class parameter may not be a ", "")).hl("var")(ValueClassParameterMayNotBeAVar.this.ctx)
1660 50807 61602 - 61602 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassParameterMayNotBeAVar.ctx ValueClassParameterMayNotBeAVar.this.ctx
1661 50809 61671 - 61679 Literal <nosymbol> "Syntax"
1663 50810 61708 - 61783 Apply scala.StringContext.apply scala.StringContext.apply("A value class must have exactly one ", " parameter.\n |")
1663 50813 61708 - 61783 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("A value class must have exactly one ", " parameter.\n |")).hl("val")(ValueClassParameterMayNotBeAVar.this.ctx)
1663 50812 61708 - 61708 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassParameterMayNotBeAVar.ctx ValueClassParameterMayNotBeAVar.this.ctx
1663 50811 61751 - 61756 Literal <nosymbol> "val"
1669 50815 61974 - 61979 Literal <nosymbol> "val"
1669 50814 61945 - 61993 Apply scala.StringContext.apply scala.StringContext.apply("value class needs one ", " parameter")
1669 50817 61945 - 61993 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("value class needs one ", " parameter")).hl("val")(ValueClassNeedsOneValParam.this.ctx)
1669 50816 61945 - 61945 Select dotty.tools.dotc.reporting.diagnostic.messages.ValueClassNeedsOneValParam.ctx ValueClassNeedsOneValParam.this.ctx
1670 50818 62009 - 62017 Literal <nosymbol> "Syntax"
1671 50819 62040 - 62042 Literal <nosymbol> ""
1676 50820 62191 - 62235 Literal <nosymbol> "only `case class` or `case object` allowed"
1677 50821 62251 - 62259 Literal <nosymbol> "Syntax"
1678 50822 62282 - 62284 Literal <nosymbol> ""
1683 50823 62418 - 62426 Literal <nosymbol> "Syntax"
1684 50824 62441 - 62478 Literal <nosymbol> "expected class or object definition"
1685 50825 62501 - 62503 Literal <nosymbol> ""
1690 50826 62655 - 62663 Literal <nosymbol> "Syntax"
1691 50828 62720 - 62721 Literal <nosymbol> ""
1691 50830 62678 - 62721 Apply scala.StringContext.s scala.StringContext.apply("super call not allowed in inline ", "").s(SuperCallsNotAllowedInline.this.symbol)
1691 50827 62680 - 62714 Literal <nosymbol> "super call not allowed in inline "
1691 50829 62714 - 62720 Select dotty.tools.dotc.reporting.diagnostic.messages.SuperCallsNotAllowedInline.symbol SuperCallsNotAllowedInline.this.symbol
1692 50831 62744 - 62862 Literal <nosymbol> "Method inlining prohibits calling superclass methods, as it may lead to confusion about which super is being called."
1697 50832 63031 - 63039 Literal <nosymbol> "Syntax"
1698 50837 63095 - 63133 Apply scala.Option.getOrElse ModifiersNotAllowed.this.printableType.getOrElse[String]("combination")
1698 50833 63056 - 63070 Literal <nosymbol> "modifier(s) `"
1698 50836 63070 - 63075 Select dotty.tools.dotc.reporting.diagnostic.messages.ModifiersNotAllowed.flags ModifiersNotAllowed.this.flags
1698 50835 63134 - 63135 Literal <nosymbol> ""
1698 50838 63054 - 63135 Apply scala.StringContext.s scala.StringContext.apply("modifier(s) `", "\' not allowed for ", "").s(ModifiersNotAllowed.this.flags, ModifiersNotAllowed.this.printableType.getOrElse[String]("combination"))
1698 50834 63075 - 63094 Literal <nosymbol> "\' not allowed for "
1700 50839 63178 - 63201 Literal <nosymbol> "sealed def y: Int = 1"
1701 50840 63221 - 63242 Literal <nosymbol> "sealed lazy class z"
1702 50842 63249 - 63249 Select dotty.tools.dotc.reporting.diagnostic.messages.ModifiersNotAllowed.ctx ModifiersNotAllowed.this.ctx
1702 50841 63249 - 63811 Apply scala.StringContext.apply scala.StringContext.apply("You tried to use a modifier that is inapplicable for the type of item under modification\n |\n | Please see the official Scala Language Specification section on modifiers:\n | https://www.scala-lang.org/files/archive/spec/2.11/05-classes-and-objects.html#modifiers\n |\n |Consider the following example:\n |", "\n |In this instance, the modifier \'sealed\' is not applicable to the item type \'def\' (method)\n |", "\n |In this instance, the modifier combination is not supported\n ")
1702 50843 63249 - 63811 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("You tried to use a modifier that is inapplicable for the type of item under modification\n |\n | Please see the official Scala Language Specification section on modifiers:\n | https://www.scala-lang.org/files/archive/spec/2.11/05-classes-and-objects.html#modifiers\n |\n |Consider the following example:\n |", "\n |In this instance, the modifier \'sealed\' is not applicable to the item type \'def\' (method)\n |", "\n |In this instance, the modifier combination is not supported\n ")).hl(first, second)(ModifiersNotAllowed.this.ctx)
1718 50844 63995 - 64003 Literal <nosymbol> "Syntax"
1719 50845 64018 - 64073 Literal <nosymbol> "implicit function type needs non-empty parameter list"
1721 50846 64116 - 64167 Literal <nosymbol> "type Transactional[T] = implicit Transaction => T"
1722 50847 64186 - 64211 Literal <nosymbol> "val cl: implicit A => B"
1723 50848 64218 - 64430 Apply scala.StringContext.apply scala.StringContext.apply("It is not allowed to leave implicit function parameter list empty.\n |Possible ways to define implicit function type:\n |\n |", "\n |\n |or\n |\n |", "")
1723 50850 64218 - 64430 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("It is not allowed to leave implicit function parameter list empty.\n |Possible ways to define implicit function type:\n |\n |", "\n |\n |or\n |\n |", "")).hl(code1, code2)(ImplicitFunctionTypeNeedsNonEmptyParameterList.this.ctx)
1723 50849 64218 - 64218 Select dotty.tools.dotc.reporting.diagnostic.messages.ImplicitFunctionTypeNeedsNonEmptyParameterList.ctx ImplicitFunctionTypeNeedsNonEmptyParameterList.this.ctx
1730 50851 64218 - 64442 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("It is not allowed to leave implicit function parameter list empty.\n |Possible ways to define implicit function type:\n |\n |", "\n |\n |or\n |\n |", "")).hl(code1, code2)(ImplicitFunctionTypeNeedsNonEmptyParameterList.this.ctx)).stripMargin
1736 50852 64593 - 64601 Literal <nosymbol> "Syntax"
1737 50855 64657 - 64665 Select dotty.tools.dotc.reporting.diagnostic.messages.WrongNumberOfParameters.expected WrongNumberOfParameters.this.expected
1737 50854 64665 - 64666 Literal <nosymbol> ""
1737 50853 64618 - 64657 Literal <nosymbol> "wrong number of parameters, expected: "
1737 50856 64616 - 64666 Apply scala.StringContext.s scala.StringContext.apply("wrong number of parameters, expected: ", "").s(WrongNumberOfParameters.this.expected)
1738 50857 64689 - 64691 Literal <nosymbol> ""
1743 50858 64845 - 64853 Literal <nosymbol> "Syntax"
1744 50859 64868 - 64907 Literal <nosymbol> "duplicate private/protected qualifier"
1746 50860 64936 - 65051 Apply scala.StringContext.apply scala.StringContext.apply("It is not allowed to combine `private` and `protected` modifiers even if they are qualified to different scopes")
1746 50862 64936 - 65051 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("It is not allowed to combine `private` and `protected` modifiers even if they are qualified to different scopes")).hl()(DuplicatePrivateProtectedQualifier.this.ctx)
1746 50861 64936 - 64936 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicatePrivateProtectedQualifier.ctx DuplicatePrivateProtectedQualifier.this.ctx
1751 50863 65203 - 65211 Literal <nosymbol> "Syntax"
1752 50864 65226 - 65256 Literal <nosymbol> "expected start of definition"
1754 50866 65317 - 65324 Literal <nosymbol> "class"
1754 50869 65357 - 65363 Literal <nosymbol> "enum"
1754 50871 65285 - 65394 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("you have to provide either ", ", ", ", ", ", or ", " definitions after qualifiers")).hl("class", "trait", "object", "enum")(ExpectedStartOfTopLevelDefinition.this.ctx)
1754 50865 65285 - 65394 Apply scala.StringContext.apply scala.StringContext.apply("you have to provide either ", ", ", ", ", ", or ", " definitions after qualifiers")
1754 50868 65341 - 65349 Literal <nosymbol> "object"
1754 50867 65329 - 65336 Literal <nosymbol> "trait"
1754 50870 65285 - 65285 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedStartOfTopLevelDefinition.ctx ExpectedStartOfTopLevelDefinition.this.ctx
1759 50872 65529 - 65537 Literal <nosymbol> "Syntax"
1760 50873 65552 - 65606 Apply scala.StringContext.apply scala.StringContext.apply("no explicit ", " allowed from inline ", "")
1760 50875 65600 - 65605 Select dotty.tools.dotc.reporting.diagnostic.messages.NoReturnFromInline.owner NoReturnFromInline.this.owner
1760 50874 65569 - 65577 Literal <nosymbol> "return"
1760 50877 65552 - 65606 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("no explicit ", " allowed from inline ", "")).hl("return", NoReturnFromInline.this.owner)(NoReturnFromInline.this.ctx)
1760 50876 65552 - 65552 Select dotty.tools.dotc.reporting.diagnostic.messages.NoReturnFromInline.ctx NoReturnFromInline.this.ctx
1762 50882 65635 - 65831 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Methods marked with ", " may not use ", " statements.\n |Instead, you should rely on the last expression\'s value being\n |returned from a method.\n |")).hl("@inline", "return")(NoReturnFromInline.this.ctx)
1762 50881 65635 - 65635 Select dotty.tools.dotc.reporting.diagnostic.messages.NoReturnFromInline.ctx NoReturnFromInline.this.ctx
1762 50878 65635 - 65831 Apply scala.StringContext.apply scala.StringContext.apply("Methods marked with ", " may not use ", " statements.\n |Instead, you should rely on the last expression\'s value being\n |returned from a method.\n |")
1762 50880 65687 - 65695 Literal <nosymbol> "return"
1762 50879 65662 - 65671 Literal <nosymbol> "@inline"
1770 50883 65988 - 65996 Literal <nosymbol> "Syntax"
1771 50884 66011 - 66052 Apply scala.StringContext.apply scala.StringContext.apply("", " outside method definition")
1771 50887 66011 - 66052 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " outside method definition")).hl("return")(ReturnOutsideMethodDefinition.this.ctx)
1771 50886 66011 - 66011 Select dotty.tools.dotc.reporting.diagnostic.messages.ReturnOutsideMethodDefinition.ctx ReturnOutsideMethodDefinition.this.ctx
1771 50885 66016 - 66024 Literal <nosymbol> "return"
1773 50890 66112 - 66117 Select dotty.tools.dotc.reporting.diagnostic.messages.ReturnOutsideMethodDefinition.owner ReturnOutsideMethodDefinition.this.owner
1773 50893 66081 - 66219 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("You used ", " in ", ".\n |", " is a keyword and may only be used within method declarations.\n |")).hl("return", ReturnOutsideMethodDefinition.this.owner, "return")(ReturnOutsideMethodDefinition.this.ctx)
1773 50889 66097 - 66105 Literal <nosymbol> "return"
1773 50892 66081 - 66081 Select dotty.tools.dotc.reporting.diagnostic.messages.ReturnOutsideMethodDefinition.ctx ReturnOutsideMethodDefinition.this.ctx
1773 50888 66081 - 66219 Apply scala.StringContext.apply scala.StringContext.apply("You used ", " in ", ".\n |", " is a keyword and may only be used within method declarations.\n |")
1774 50891 66133 - 66141 Literal <nosymbol> "return"
1780 50894 66369 - 66377 Literal <nosymbol> "Syntax"
1781 50900 66392 - 66439 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " cannot extend ", " ", "")).hl(ExtendFinalClass.this.clazz, "final", ExtendFinalClass.this.finalClazz)(ExtendFinalClass.this.ctx)
1781 50899 66392 - 66392 Select dotty.tools.dotc.reporting.diagnostic.messages.ExtendFinalClass.ctx ExtendFinalClass.this.ctx
1781 50896 66396 - 66401 Select dotty.tools.dotc.reporting.diagnostic.messages.ExtendFinalClass.clazz ExtendFinalClass.this.clazz
1781 50895 66392 - 66439 Apply scala.StringContext.apply scala.StringContext.apply("", " cannot extend ", " ", "")
1781 50898 66428 - 66438 Select dotty.tools.dotc.reporting.diagnostic.messages.ExtendFinalClass.finalClazz ExtendFinalClass.this.finalClazz
1781 50897 66418 - 66425 Literal <nosymbol> "final"
1783 50902 66499 - 66506 Literal <nosymbol> "final"
1783 50904 66468 - 66537 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("A class marked with the ", " keyword cannot be extended")).hl("final")(ExtendFinalClass.this.ctx)
1783 50901 66468 - 66537 Apply scala.StringContext.apply scala.StringContext.apply("A class marked with the ", " keyword cannot be extended")
1783 50903 66468 - 66468 Select dotty.tools.dotc.reporting.diagnostic.messages.ExtendFinalClass.ctx ExtendFinalClass.this.ctx
1788 50905 66702 - 66710 Literal <nosymbol> "Syntax"
1789 50908 66786 - 66792 Literal <nosymbol> "enum"
1789 50907 66767 - 66772 Select dotty.tools.dotc.reporting.diagnostic.messages.EnumCaseDefinitionInNonEnumOwner.owner EnumCaseDefinitionInNonEnumOwner.this.owner
1789 50910 66727 - 66801 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.em dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("case not allowed here, since owner ", " is not an ", " object")).em(EnumCaseDefinitionInNonEnumOwner.this.owner, "enum")(EnumCaseDefinitionInNonEnumOwner.this.ctx)
1789 50909 66727 - 66727 Select dotty.tools.dotc.reporting.diagnostic.messages.EnumCaseDefinitionInNonEnumOwner.ctx EnumCaseDefinitionInNonEnumOwner.this.ctx
1789 50906 66727 - 66801 Apply scala.StringContext.apply scala.StringContext.apply("case not allowed here, since owner ", " is not an ", " object")
1791 50911 66834 - 67079 Apply scala.StringContext.apply scala.StringContext.apply("", " cases are only allowed within the companion ", " of an ", ".\n |If you want to create an ", " case, make sure the corresponding ", " exists\n |and has the ", " keyword.")
1791 50914 66913 - 66925 Literal <nosymbol> "enum class"
1791 50913 66895 - 66903 Literal <nosymbol> "object"
1791 50919 66834 - 67079 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " cases are only allowed within the companion ", " of an ", ".\n |If you want to create an ", " case, make sure the corresponding ", " exists\n |and has the ", " keyword.")).hl("enum", "object", "enum class", "enum", "enum class", "enum")(EnumCaseDefinitionInNonEnumOwner.this.ctx)
1791 50918 66834 - 66834 Select dotty.tools.dotc.reporting.diagnostic.messages.EnumCaseDefinitionInNonEnumOwner.ctx EnumCaseDefinitionInNonEnumOwner.this.ctx
1791 50912 66841 - 66847 Literal <nosymbol> "enum"
1792 50916 67012 - 67024 Literal <nosymbol> "enum class"
1792 50915 66968 - 66974 Literal <nosymbol> "enum"
1793 50917 67060 - 67066 Literal <nosymbol> "enum"
1798 50920 67227 - 67235 Literal <nosymbol> "Syntax"
1799 50926 67297 - 67320 Apply dotty.tools.dotc.parsing.TokensCommon.showToken dotc.parsing.Tokens.showToken(ExpectedTypeBoundOrEquals.this.found)
1799 50923 67263 - 67267 Literal <nosymbol> ">:"
1799 50922 67255 - 67258 Literal <nosymbol> "="
1799 50925 67314 - 67319 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTypeBoundOrEquals.found ExpectedTypeBoundOrEquals.this.found
1799 50928 67250 - 67328 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", ", ", ", or ", " expected, but ", " found")).hl("=", ">:", "<:", dotc.parsing.Tokens.showToken(ExpectedTypeBoundOrEquals.this.found))(ExpectedTypeBoundOrEquals.this.ctx)
1799 50927 67250 - 67250 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTypeBoundOrEquals.ctx ExpectedTypeBoundOrEquals.this.ctx
1799 50921 67250 - 67328 Apply scala.StringContext.apply scala.StringContext.apply("", ", ", ", or ", " expected, but ", " found")
1799 50924 67275 - 67279 Literal <nosymbol> "<:"
1802 50929 67358 - 67894 Apply scala.StringContext.apply scala.StringContext.apply("Type parameters and abstract types may be constrained by a type bound.\n |Such type bounds limit the concrete values of the type variables and possibly\n |reveal more information about the members of such types.\n |\n |A lower type bound ", " expresses that the type variable ", "\n |refers to a supertype of type ", ".\n |\n |An upper type bound ", " declares that type variable ", "\n |refers to a subtype of type ", ".\n |")
1802 50937 67358 - 67894 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Type parameters and abstract types may be constrained by a type bound.\n |Such type bounds limit the concrete values of the type variables and possibly\n |reveal more information about the members of such types.\n |\n |A lower type bound ", " expresses that the type variable ", "\n |refers to a supertype of type ", ".\n |\n |An upper type bound ", " declares that type variable ", "\n |refers to a subtype of type ", ".\n |")).hl("B >: A", "B", "A", "T <: A", "T", "A")(ExpectedTypeBoundOrEquals.this.ctx)
1802 50936 67358 - 67358 Select dotty.tools.dotc.reporting.diagnostic.messages.ExpectedTypeBoundOrEquals.ctx ExpectedTypeBoundOrEquals.this.ctx
1806 50931 67684 - 67687 Literal <nosymbol> "B"
1806 50930 67639 - 67647 Literal <nosymbol> "B >: A"
1807 50932 67733 - 67736 Literal <nosymbol> "A"
1809 50934 67826 - 67829 Literal <nosymbol> "T"
1809 50933 67786 - 67794 Literal <nosymbol> "T <: A"
1810 50935 67873 - 67876 Literal <nosymbol> "A"
1816 50938 68058 - 68066 Literal <nosymbol> "Naming"
1817 50941 68103 - 68103 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1817 50944 68149 - 68157 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name ClassAndCompanionNameClash.this.cls.name(ClassAndCompanionNameClash.this.ctx)
1817 50947 68081 - 68182 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Name clash: both ", " and its companion object defines ", "")).hl(dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.cls)(ClassAndCompanionNameClash.this.ctx).owner, dotc.core.NameOps.NameDecorator[ClassAndCompanionNameClash.this.cls.ThisName](ClassAndCompanionNameClash.this.cls.name(ClassAndCompanionNameClash.this.ctx)).stripModuleClassSuffix)(ClassAndCompanionNameClash.this.ctx)
1817 50940 68103 - 68106 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.cls ClassAndCompanionNameClash.this.cls
1817 50943 68153 - 68153 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1817 50946 68081 - 68081 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1817 50945 68149 - 68180 Select dotty.tools.dotc.core.NameOps.NameDecorator.stripModuleClassSuffix dotc.core.NameOps.NameDecorator[ClassAndCompanionNameClash.this.cls.ThisName](ClassAndCompanionNameClash.this.cls.name(ClassAndCompanionNameClash.this.ctx)).stripModuleClassSuffix
1817 50939 68081 - 68182 Apply scala.StringContext.apply scala.StringContext.apply("Name clash: both ", " and its companion object defines ", "")
1817 50942 68103 - 68112 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.cls)(ClassAndCompanionNameClash.this.ctx).owner
1819 50950 68228 - 68237 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.cls)(ClassAndCompanionNameClash.this.ctx).owner
1819 50953 68240 - 68240 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1819 50956 68255 - 68262 Block <nosymbol> "trait"
1819 50955 68255 - 68262 Literal <nosymbol> "trait"
1819 50958 68268 - 68275 Block <nosymbol> "class"
1819 50949 68228 - 68228 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1819 50952 68241 - 68252 Select dotty.tools.dotc.core.Flags.Trait dotc.core.Flags.Trait
1819 50954 68228 - 68253 ApplyToImplicitArgs dotty.tools.dotc.core.SymDenotations.SymDenotation.is dotc.core.Symbols.toDenot(dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.cls)(ClassAndCompanionNameClash.this.ctx).owner)(ClassAndCompanionNameClash.this.ctx).is(dotc.core.Flags.Trait)(ClassAndCompanionNameClash.this.ctx)
1819 50948 68228 - 68231 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.cls ClassAndCompanionNameClash.this.cls
1819 50957 68268 - 68275 Literal <nosymbol> "class"
1819 50951 68232 - 68232 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1821 50959 68283 - 68495 Apply scala.StringContext.apply scala.StringContext.apply("|A ", " and its companion object cannot both define a ", ", ", " or ", " with the same name:\n | - ", " defines ", "\n | - ", " defines ", "")
1821 50962 68371 - 68379 Literal <nosymbol> "object"
1821 50971 68283 - 68283 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1821 50961 68357 - 68364 Literal <nosymbol> "trait"
1821 50972 68283 - 68495 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("|A ", " and its companion object cannot both define a ", ", ", " or ", " with the same name:\n | - ", " defines ", "\n | - ", " defines ", "")).hl(kind, "class", "trait", "object", dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.cls)(ClassAndCompanionNameClash.this.ctx).owner, ClassAndCompanionNameClash.this.cls, dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.other)(ClassAndCompanionNameClash.this.ctx).owner, ClassAndCompanionNameClash.this.other)(ClassAndCompanionNameClash.this.ctx)
1821 50960 68345 - 68352 Literal <nosymbol> "class"
1822 50965 68419 - 68428 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.cls)(ClassAndCompanionNameClash.this.ctx).owner
1822 50964 68419 - 68419 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1822 50963 68419 - 68422 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.cls ClassAndCompanionNameClash.this.cls
1822 50966 68440 - 68443 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.cls ClassAndCompanionNameClash.this.cls
1823 50968 68463 - 68463 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.ctx ClassAndCompanionNameClash.this.ctx
1823 50967 68463 - 68468 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.other ClassAndCompanionNameClash.this.other
1823 50970 68486 - 68491 Select dotty.tools.dotc.reporting.diagnostic.messages.ClassAndCompanionNameClash.other ClassAndCompanionNameClash.this.other
1823 50969 68463 - 68474 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(ClassAndCompanionNameClash.this.other)(ClassAndCompanionNameClash.this.ctx).owner
1829 50973 68643 - 68651 Literal <nosymbol> "Syntax"
1830 50977 68744 - 68751 Literal <nosymbol> "final"
1830 50974 68666 - 68754 Apply scala.StringContext.apply scala.StringContext.apply("TailRec optimisation not applicable, ", " is neither ", " nor ", ".")
1830 50976 68727 - 68736 Literal <nosymbol> "private"
1830 50979 68666 - 68754 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("TailRec optimisation not applicable, ", " is neither ", " nor ", ".")).hl(TailrecNotApplicable.this.method, "private", "final")(TailrecNotApplicable.this.ctx)
1830 50978 68666 - 68666 Select dotty.tools.dotc.reporting.diagnostic.messages.TailrecNotApplicable.ctx TailrecNotApplicable.this.ctx
1830 50975 68707 - 68713 Select dotty.tools.dotc.reporting.diagnostic.messages.TailrecNotApplicable.method TailrecNotApplicable.this.method
1832 50980 68783 - 68890 Apply scala.StringContext.apply scala.StringContext.apply("A method annotated ", " must be declared ", " or ", " so it can\'t be overridden.")
1832 50983 68854 - 68861 Literal <nosymbol> "final"
1832 50982 68838 - 68847 Literal <nosymbol> "private"
1832 50985 68783 - 68890 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("A method annotated ", " must be declared ", " or ", " so it can\'t be overridden.")).hl("@tailrec", "private", "final")(TailrecNotApplicable.this.ctx)
1832 50981 68807 - 68817 Literal <nosymbol> "@tailrec"
1832 50984 68783 - 68783 Select dotty.tools.dotc.reporting.diagnostic.messages.TailrecNotApplicable.ctx TailrecNotApplicable.this.ctx
1837 50986 69089 - 69104 Literal <nosymbol> "Compatibility"
1838 50987 69119 - 69180 Literal <nosymbol> "Failure to eliminate existential type. Proceed at own risk."
1840 50992 69260 - 69260 Select dotty.tools.dotc.reporting.diagnostic.messages.FailureToEliminateExistential.ctx FailureToEliminateExistential.this.ctx
1840 50989 69243 - 69252 Select dotty.tools.dotc.reporting.diagnostic.messages.FailureToEliminateExistential.boundSyms FailureToEliminateExistential.this.boundSyms
1840 50991 69230 - 69259 Apply dotty.tools.dotc.printing.Printer.dclsText Contexts.this.Context.toPrinter(FailureToEliminateExistential.this.ctx).dclsText(FailureToEliminateExistential.this.boundSyms, "; ")
1840 50988 69230 - 69233 Select dotty.tools.dotc.reporting.diagnostic.messages.FailureToEliminateExistential.ctx FailureToEliminateExistential.this.ctx
1840 50990 69254 - 69258 Literal <nosymbol> "; "
1840 50993 69230 - 69264 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.TextToString.show dotc.core.Decorators.TextToString(Contexts.this.Context.toPrinter(FailureToEliminateExistential.this.ctx).dclsText(FailureToEliminateExistential.this.boundSyms, "; ")).show(FailureToEliminateExistential.this.ctx)
1841 50995 69296 - 69298 Select dotty.tools.dotc.reporting.diagnostic.messages.FailureToEliminateExistential.tp FailureToEliminateExistential.this.tp
1841 50998 69271 - 69271 Select dotty.tools.dotc.reporting.diagnostic.messages.FailureToEliminateExistential.ctx FailureToEliminateExistential.this.ctx
1841 50994 69271 - 69395 Apply scala.StringContext.apply scala.StringContext.apply("original type : ", " forSome ", "\n |reduces to : ", "\n |type used instead: ", "")
1841 50999 69271 - 69395 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("original type : ", " forSome ", "\n |reduces to : ", "\n |type used instead: ", "")).hl(FailureToEliminateExistential.this.tp, originalType, FailureToEliminateExistential.this.tp1, FailureToEliminateExistential.this.tp2)(FailureToEliminateExistential.this.ctx)
1842 50996 69354 - 69357 Select dotty.tools.dotc.reporting.diagnostic.messages.FailureToEliminateExistential.tp1 FailureToEliminateExistential.this.tp1
1843 50997 69389 - 69392 Select dotty.tools.dotc.reporting.diagnostic.messages.FailureToEliminateExistential.tp2 FailureToEliminateExistential.this.tp2
1849 51000 69571 - 69579 Literal <nosymbol> "Syntax"
1850 51001 69594 - 69647 Apply scala.StringContext.apply scala.StringContext.apply("Not a function: ", ": cannot be followed by ", "")
1850 51004 69594 - 69594 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyFunctionsCanBeFollowedByUnderscore.ctx OnlyFunctionsCanBeFollowedByUnderscore.this.ctx
1850 51003 69642 - 69645 Literal <nosymbol> "_"
1850 51005 69594 - 69647 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Not a function: ", ": cannot be followed by ", "")).hl(OnlyFunctionsCanBeFollowedByUnderscore.this.pt, "_")(OnlyFunctionsCanBeFollowedByUnderscore.this.ctx)
1850 51002 69614 - 69616 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyFunctionsCanBeFollowedByUnderscore.pt OnlyFunctionsCanBeFollowedByUnderscore.this.pt
1852 51010 69676 - 69676 Select dotty.tools.dotc.reporting.diagnostic.messages.OnlyFunctionsCanBeFollowedByUnderscore.ctx OnlyFunctionsCanBeFollowedByUnderscore.this.ctx
1852 51007 69694 - 69699 Literal <nosymbol> "x _"
1852 51006 69676 - 69840 Apply scala.StringContext.apply scala.StringContext.apply("The syntax ", " is no longer supported if ", " is not a function.\n |To convert to a function value, you need to explicitly write ", "")
1852 51008 69729 - 69732 Literal <nosymbol> "x"
1852 51011 69676 - 69840 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("The syntax ", " is no longer supported if ", " is not a function.\n |To convert to a function value, you need to explicitly write ", "")).hl("x _", "x", "() => x")(OnlyFunctionsCanBeFollowedByUnderscore.this.ctx)
1853 51009 69827 - 69836 Literal <nosymbol> "() => x"
1858 51012 69988 - 69996 Literal <nosymbol> "Syntax"
1859 51013 70011 - 70059 Apply scala.StringContext.apply scala.StringContext.apply("", " must be called with ", " argument")
1859 51016 70011 - 70011 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingEmptyArgumentList.ctx MissingEmptyArgumentList.this.ctx
1859 51015 70044 - 70048 Literal <nosymbol> "()"
1859 51014 70015 - 70021 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingEmptyArgumentList.method MissingEmptyArgumentList.this.method
1859 51017 70011 - 70059 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " must be called with ", " argument")).hl(MissingEmptyArgumentList.this.method, "()")(MissingEmptyArgumentList.this.ctx)
1862 51018 70116 - 70186 Literal <nosymbol> "def next(): T = ...\n |next // is expanded to next()"
1865 51019 70194 - 70590 Apply scala.StringContext.apply scala.StringContext.apply("Previously an empty argument list () was implicitly inserted when calling a nullary method without arguments. E.g.\n |\n |", "\n |\n |In Dotty, this idiom is an error. The application syntax has to follow exactly the parameter syntax.\n |Excluded from this rule are methods that are defined in Java or that override methods defined in Java.")
1865 51021 70194 - 70590 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Previously an empty argument list () was implicitly inserted when calling a nullary method without arguments. E.g.\n |\n |", "\n |\n |In Dotty, this idiom is an error. The application syntax has to follow exactly the parameter syntax.\n |Excluded from this rule are methods that are defined in Java or that override methods defined in Java.")).hl(codeExample)(MissingEmptyArgumentList.this.ctx)
1865 51020 70194 - 70194 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingEmptyArgumentList.ctx MissingEmptyArgumentList.this.ctx
1876 51022 70746 - 70754 Literal <nosymbol> "Syntax"
1877 51025 70769 - 70769 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicateNamedTypeParameter.ctx DuplicateNamedTypeParameter.this.ctx
1877 51024 70788 - 70792 Select dotty.tools.dotc.reporting.diagnostic.messages.DuplicateNamedTypeParameter.name DuplicateNamedTypeParameter.this.name
1877 51023 70769 - 70821 Apply scala.StringContext.apply scala.StringContext.apply("Type parameter ", " was defined multiple times.")
1877 51026 70769 - 70821 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Type parameter ", " was defined multiple times.")).hl(DuplicateNamedTypeParameter.this.name)(DuplicateNamedTypeParameter.this.ctx)
1878 51027 70844 - 70846 Literal <nosymbol> ""
1883 51028 71031 - 71039 Literal <nosymbol> "Syntax"
1884 51031 71119 - 71158 Apply scala.collection.TraversableOnce.mkString UndefinedNamedTypeParameter.this.definedNames.map[String, List[String]](((x$19: dotty.tools.dotc.core.Names.Name) => x$19.show(UndefinedNamedTypeParameter.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(", ")
1884 51033 71054 - 71161 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Type parameter ", " is undefined. Expected one of ", ".")).hl(UndefinedNamedTypeParameter.this.undefinedName, UndefinedNamedTypeParameter.this.definedNames.map[String, List[String]](((x$19: dotty.tools.dotc.core.Names.Name) => x$19.show(UndefinedNamedTypeParameter.this.ctx)))(immutable.this.List.canBuildFrom[String]).mkString(", "))(UndefinedNamedTypeParameter.this.ctx)
1884 51030 71073 - 71086 Select dotty.tools.dotc.reporting.diagnostic.messages.UndefinedNamedTypeParameter.undefinedName UndefinedNamedTypeParameter.this.undefinedName
1884 51029 71054 - 71161 Apply scala.StringContext.apply scala.StringContext.apply("Type parameter ", " is undefined. Expected one of ", ".")
1884 51032 71054 - 71054 Select dotty.tools.dotc.reporting.diagnostic.messages.UndefinedNamedTypeParameter.ctx UndefinedNamedTypeParameter.this.ctx
1885 51034 71184 - 71186 Literal <nosymbol> ""
1889 51035 71333 - 71341 Literal <nosymbol> "Syntax"
1891 51037 71395 - 71424 Literal <nosymbol> ": no modifiers allowed here"
1891 51040 71430 - 71432 Block <nosymbol> ""
1891 51036 71383 - 71393 Select dotty.tools.dotc.reporting.diagnostic.messages.IllegalStartOfStatement.isModifier IllegalStartOfStatement.this.isModifier
1891 51039 71430 - 71432 Literal <nosymbol> ""
1891 51038 71395 - 71424 Block <nosymbol> ": no modifiers allowed here"
1892 51041 71439 - 71478 Apply java.lang.String.+ "Illegal start of statement".+(addendum)
1894 51042 71507 - 71572 Literal <nosymbol> "A statement is either an import, a definition or an expression."
1898 51043 71698 - 71706 Literal <nosymbol> "Syntax"
1899 51046 71721 - 71721 Select dotty.tools.dotc.reporting.diagnostic.messages.TraitIsExpected.ctx TraitIsExpected.this.ctx
1899 51045 71725 - 71731 Select dotty.tools.dotc.reporting.diagnostic.messages.TraitIsExpected.symbol TraitIsExpected.this.symbol
1899 51047 71721 - 71747 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " is not a trait")).hl(TraitIsExpected.this.symbol)(TraitIsExpected.this.ctx)
1899 51044 71721 - 71747 Apply scala.StringContext.apply scala.StringContext.apply("", " is not a trait")
1902 51048 71809 - 71944 Literal <nosymbol> "class A\n |class B\n |\n |val a = new A with B // will fail with a compile error - class B is not a trait"
1905 51049 71809 - 71956 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("class A\n |class B\n |\n |val a = new A with B // will fail with a compile error - class B is not a trait").stripMargin
1907 51050 71989 - 72086 Literal <nosymbol> "class A\n |trait B\n |\n |val a = new A with B // compiles normally"
1910 51051 71989 - 72098 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("class A\n |trait B\n |\n |val a = new A with B // compiles normally").stripMargin
1912 51052 72106 - 72475 Apply scala.StringContext.apply scala.StringContext.apply("Only traits can be mixed into classes using a ", " keyword.\n |Consider the following example:\n |\n |", "\n |\n |The example mentioned above would fail because B is not a trait.\n |But if you make B a trait it will be compiled without any errors:\n |\n |", "\n |")
1912 51055 72106 - 72475 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Only traits can be mixed into classes using a ", " keyword.\n |Consider the following example:\n |\n |", "\n |\n |The example mentioned above would fail because B is not a trait.\n |But if you make B a trait it will be compiled without any errors:\n |\n |", "\n |")).hl("with", errorCodeExample, codeExample)(TraitIsExpected.this.ctx)
1912 51054 72106 - 72106 Select dotty.tools.dotc.reporting.diagnostic.messages.TraitIsExpected.ctx TraitIsExpected.this.ctx
1912 51053 72159 - 72165 Literal <nosymbol> "with"
1926 51056 72647 - 72655 Literal <nosymbol> "Syntax"
1927 51061 72670 - 72734 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Traits cannot redefine final ", " from ", ".")).hl(TraitRedefinedFinalMethodFromAnyRef.this.method, "class AnyRef")(TraitRedefinedFinalMethodFromAnyRef.this.ctx)
1927 51058 72703 - 72709 Select dotty.tools.dotc.reporting.diagnostic.messages.TraitRedefinedFinalMethodFromAnyRef.method TraitRedefinedFinalMethodFromAnyRef.this.method
1927 51060 72670 - 72670 Select dotty.tools.dotc.reporting.diagnostic.messages.TraitRedefinedFinalMethodFromAnyRef.ctx TraitRedefinedFinalMethodFromAnyRef.this.ctx
1927 51057 72670 - 72734 Apply scala.StringContext.apply scala.StringContext.apply("Traits cannot redefine final ", " from ", ".")
1927 51059 72717 - 72731 Literal <nosymbol> "class AnyRef"
1928 51062 72757 - 72759 Literal <nosymbol> ""
1932 51064 72906 - 72909 Select dotty.tools.dotc.reporting.diagnostic.messages.PackageNameAlreadyDefined.pkg PackageNameAlreadyDefined.this.pkg
1932 51067 72901 - 72956 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " is already defined, cannot be a ", "")).hl(PackageNameAlreadyDefined.this.pkg, "package")(PackageNameAlreadyDefined.this.ctx)
1932 51063 72901 - 72956 Apply scala.StringContext.apply scala.StringContext.apply("", " is already defined, cannot be a ", "")
1932 51066 72901 - 72901 Select dotty.tools.dotc.reporting.diagnostic.messages.PackageNameAlreadyDefined.ctx PackageNameAlreadyDefined.this.ctx
1932 51065 72945 - 72954 Literal <nosymbol> "package"
1933 51068 72972 - 72980 Literal <nosymbol> "Naming"
1935 51070 73017 - 73025 Literal <nosymbol> "object"
1935 51073 73009 - 73109 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("An ", " cannot have the same name as an existing ", ". Rename either one of them.")).hl("object", "package")(PackageNameAlreadyDefined.this.ctx)
1935 51069 73009 - 73109 Apply scala.StringContext.apply scala.StringContext.apply("An ", " cannot have the same name as an existing ", ". Rename either one of them.")
1935 51072 73009 - 73009 Select dotty.tools.dotc.reporting.diagnostic.messages.PackageNameAlreadyDefined.ctx PackageNameAlreadyDefined.this.ctx
1935 51071 73070 - 73079 Literal <nosymbol> "package"
1940 51074 73295 - 73303 Literal <nosymbol> "Syntax"
1941 51079 73318 - 73392 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Wrong number of argument patterns for ", "; expected: (", "%, %)")).hl(UnapplyInvalidNumberOfArguments.this.qual, UnapplyInvalidNumberOfArguments.this.argTypes)(UnapplyInvalidNumberOfArguments.this.ctx)
1941 51076 73360 - 73364 Select dotty.tools.dotc.reporting.diagnostic.messages.UnapplyInvalidNumberOfArguments.qual UnapplyInvalidNumberOfArguments.this.qual
1941 51075 73318 - 73392 Apply scala.StringContext.apply scala.StringContext.apply("Wrong number of argument patterns for ", "; expected: (", "%, %)")
1941 51078 73318 - 73318 Select dotty.tools.dotc.reporting.diagnostic.messages.UnapplyInvalidNumberOfArguments.ctx UnapplyInvalidNumberOfArguments.this.ctx
1941 51077 73378 - 73386 Select dotty.tools.dotc.reporting.diagnostic.messages.UnapplyInvalidNumberOfArguments.argTypes UnapplyInvalidNumberOfArguments.this.argTypes
1943 51088 73421 - 73715 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("The Unapply method of ", " was used with incorrect number of arguments.\n |Expected usage would be something like:\n |case ", "(", "%, %) => ...\n |\n |where subsequent arguments would have following types: (", "%, %).\n |")).hl(UnapplyInvalidNumberOfArguments.this.qual, UnapplyInvalidNumberOfArguments.this.qual, UnapplyInvalidNumberOfArguments.this.argTypes.map[Char, Any](((x$20: dotty.tools.dotc.core.Types.Type) => '_'))(immutable.this.List.canBuildFrom[Char]), UnapplyInvalidNumberOfArguments.this.argTypes)(UnapplyInvalidNumberOfArguments.this.ctx)
1943 51087 73421 - 73421 Select dotty.tools.dotc.reporting.diagnostic.messages.UnapplyInvalidNumberOfArguments.ctx UnapplyInvalidNumberOfArguments.this.ctx
1943 51081 73449 - 73453 Select dotty.tools.dotc.reporting.diagnostic.messages.UnapplyInvalidNumberOfArguments.qual UnapplyInvalidNumberOfArguments.this.qual
1943 51080 73421 - 73715 Apply scala.StringContext.apply scala.StringContext.apply("The Unapply method of ", " was used with incorrect number of arguments.\n |Expected usage would be something like:\n |case ", "(", "%, %) => ...\n |\n |where subsequent arguments would have following types: (", "%, %).\n |")
1945 51082 73567 - 73571 Select dotty.tools.dotc.reporting.diagnostic.messages.UnapplyInvalidNumberOfArguments.qual UnapplyInvalidNumberOfArguments.this.qual
1945 51085 73574 - 73596 ApplyToImplicitArgs scala.collection.immutable.List.map UnapplyInvalidNumberOfArguments.this.argTypes.map[Char, Any](((x$20: dotty.tools.dotc.core.Types.Type) => '_'))(immutable.this.List.canBuildFrom[Char])
1945 51084 73586 - 73586 TypeApply scala.collection.immutable.List.canBuildFrom immutable.this.List.canBuildFrom[Char]
1945 51083 73592 - 73595 Literal <nosymbol> '_'
1947 51086 73688 - 73696 Select dotty.tools.dotc.reporting.diagnostic.messages.UnapplyInvalidNumberOfArguments.argTypes UnapplyInvalidNumberOfArguments.this.argTypes
1948 51089 73421 - 73727 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString(dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("The Unapply method of ", " was used with incorrect number of arguments.\n |Expected usage would be something like:\n |case ", "(", "%, %) => ...\n |\n |where subsequent arguments would have following types: (", "%, %).\n |")).hl(UnapplyInvalidNumberOfArguments.this.qual, UnapplyInvalidNumberOfArguments.this.qual, UnapplyInvalidNumberOfArguments.this.argTypes.map[Char, Any](((x$20: dotty.tools.dotc.core.Types.Type) => '_'))(immutable.this.List.canBuildFrom[Char]), UnapplyInvalidNumberOfArguments.this.argTypes)(UnapplyInvalidNumberOfArguments.this.ctx)).stripMargin
1952 51097 73886 - 73886 Select dotty.tools.dotc.reporting.diagnostic.messages.StaticFieldsOnlyAllowedInObjects.ctx StaticFieldsOnlyAllowedInObjects.this.ctx
1952 51091 73891 - 73900 Literal <nosymbol> "@static"
1952 51094 73915 - 73915 Select dotty.tools.dotc.reporting.diagnostic.messages.StaticFieldsOnlyAllowedInObjects.ctx StaticFieldsOnlyAllowedInObjects.this.ctx
1952 51093 73915 - 73921 Select dotty.tools.dotc.reporting.diagnostic.messages.StaticFieldsOnlyAllowedInObjects.member StaticFieldsOnlyAllowedInObjects.this.member
1952 51096 73957 - 73965 Literal <nosymbol> "object"
1952 51090 73886 - 73968 Apply scala.StringContext.apply scala.StringContext.apply("", " ", " in ", " must be defined inside an ", ".")
1952 51098 73886 - 73968 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " ", " in ", " must be defined inside an ", ".")).hl("@static", StaticFieldsOnlyAllowedInObjects.this.member, dotc.core.Symbols.toDenot(StaticFieldsOnlyAllowedInObjects.this.member)(StaticFieldsOnlyAllowedInObjects.this.ctx).owner, "object")(StaticFieldsOnlyAllowedInObjects.this.ctx)
1952 51092 73903 - 73909 Select dotty.tools.dotc.reporting.diagnostic.messages.StaticFieldsOnlyAllowedInObjects.member StaticFieldsOnlyAllowedInObjects.this.member
1952 51095 73915 - 73927 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(StaticFieldsOnlyAllowedInObjects.this.member)(StaticFieldsOnlyAllowedInObjects.this.ctx).owner
1953 51099 73984 - 73992 Literal <nosymbol> "Syntax"
1955 51100 74021 - 74078 Apply scala.StringContext.apply scala.StringContext.apply("", " members are only allowed inside objects.")
1955 51103 74021 - 74078 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " members are only allowed inside objects.")).hl("@static")(StaticFieldsOnlyAllowedInObjects.this.ctx)
1955 51102 74021 - 74021 Select dotty.tools.dotc.reporting.diagnostic.messages.StaticFieldsOnlyAllowedInObjects.ctx StaticFieldsOnlyAllowedInObjects.this.ctx
1955 51101 74026 - 74035 Literal <nosymbol> "@static"
1959 51104 74226 - 74234 Literal <nosymbol> "Syntax"
1960 51106 74273 - 74279 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicInheritance.symbol CyclicInheritance.this.symbol
1960 51109 74249 - 74304 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Cyclic inheritance: ", " extends itself", "")).hl(CyclicInheritance.this.symbol, CyclicInheritance.this.addendum)(CyclicInheritance.this.ctx)
1960 51105 74249 - 74304 Apply scala.StringContext.apply scala.StringContext.apply("Cyclic inheritance: ", " extends itself", "")
1960 51108 74249 - 74249 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicInheritance.ctx CyclicInheritance.this.ctx
1960 51107 74295 - 74303 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicInheritance.addendum CyclicInheritance.this.addendum
1962 51110 74353 - 74372 Literal <nosymbol> "class A extends A"
1964 51111 74380 - 74763 Apply scala.StringContext.apply scala.StringContext.apply("Cyclic inheritance is prohibited in Dotty.\n |Consider the following example:\n |\n |", "\n |\n |The example mentioned above would fail because this type of inheritance hierarchy\n |creates a \"cycle\" where a not yet defined class A extends itself which makes\n |impossible to instantiate an object of this class")
1964 51113 74380 - 74763 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Cyclic inheritance is prohibited in Dotty.\n |Consider the following example:\n |\n |", "\n |\n |The example mentioned above would fail because this type of inheritance hierarchy\n |creates a \"cycle\" where a not yet defined class A extends itself which makes\n |impossible to instantiate an object of this class")).hl(codeExample)(CyclicInheritance.this.ctx)
1964 51112 74380 - 74380 Select dotty.tools.dotc.reporting.diagnostic.messages.CyclicInheritance.ctx CyclicInheritance.this.ctx
1976 51114 74911 - 74922 Literal <nosymbol> "Reference"
1979 51115 74968 - 74979 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner BadSymbolicReference.this.denot.owner
1980 51118 75054 - 75058 Literal <nosymbol> true
1980 51120 75071 - 75081 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.name BadSymbolicReference.this.denot.name
1980 51117 75028 - 75052 Select dotty.tools.dotc.config.ScalaSettings.YdebugNames Contexts.this.Context.toBase(BadSymbolicReference.this.ctx).settings.YdebugNames
1980 51116 75028 - 75031 Select dotty.tools.dotc.reporting.diagnostic.messages.BadSymbolicReference.ctx BadSymbolicReference.this.ctx
1980 51119 75007 - 75059 Apply dotty.tools.dotc.core.Contexts.FreshContext.setSetting BadSymbolicReference.this.ctx.fresh.setSetting[Boolean](Contexts.this.Context.toBase(BadSymbolicReference.this.ctx).settings.YdebugNames, true)
1980 51121 75007 - 75082 Apply dotty.tools.dotc.printing.Printer.nameString Contexts.this.Context.toPrinter(BadSymbolicReference.this.ctx.fresh.setSetting[Boolean](Contexts.this.Context.toBase(BadSymbolicReference.this.ctx).settings.YdebugNames, true)).nameString(BadSymbolicReference.this.denot.name)
1981 51123 75100 - 75127 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.associatedFile BadSymbolicReference.this.denot.symbol.associatedFile(BadSymbolicReference.this.ctx)
1981 51122 75113 - 75113 Select dotty.tools.dotc.reporting.diagnostic.messages.BadSymbolicReference.ctx BadSymbolicReference.this.ctx
1982 51124 75139 - 75139 Select scala.Tuple2._1 x$21._1
1982 51125 75149 - 75149 Select scala.Tuple2._2 x$21._2
1986 51132 75254 - 75606 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Bad symbolic reference. A signature", "\n |refers to ", " in ", " ", " which is not available.\n |It may be completely missing from the current classpath, or the version on\n |the classpath might be incompatible with the version used when compiling ", ".")).hl(location, denotationName, denotationOwner.showKind(BadSymbolicReference.this.ctx), denotationOwner.showFullName(BadSymbolicReference.this.ctx), src)(BadSymbolicReference.this.ctx)
1986 51126 75254 - 75606 Apply scala.StringContext.apply scala.StringContext.apply("Bad symbolic reference. A signature", "\n |refers to ", " in ", " ", " which is not available.\n |It may be completely missing from the current classpath, or the version on\n |the classpath might be incompatible with the version used when compiling ", ".")
1986 51131 75254 - 75254 Select dotty.tools.dotc.reporting.diagnostic.messages.BadSymbolicReference.ctx BadSymbolicReference.this.ctx
1987 51127 75362 - 75362 Select dotty.tools.dotc.reporting.diagnostic.messages.BadSymbolicReference.ctx BadSymbolicReference.this.ctx
1987 51129 75390 - 75390 Select dotty.tools.dotc.reporting.diagnostic.messages.BadSymbolicReference.ctx BadSymbolicReference.this.ctx
1987 51128 75346 - 75370 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showKind denotationOwner.showKind(BadSymbolicReference.this.ctx)
1987 51130 75374 - 75402 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showFullName denotationOwner.showFullName(BadSymbolicReference.this.ctx)
1992 51133 75636 - 75638 Literal <nosymbol> ""
1996 51134 75784 - 75792 Literal <nosymbol> "Syntax"
1997 51136 75826 - 75834 Literal <nosymbol> "sealed"
1997 51135 75807 - 75871 Apply scala.StringContext.apply scala.StringContext.apply("Cannot extend ", " ", " in a different source file")
1997 51138 75807 - 75807 Select dotty.tools.dotc.reporting.diagnostic.messages.UnableToExtendSealedClass.ctx UnableToExtendSealedClass.this.ctx
1997 51137 75837 - 75843 Select dotty.tools.dotc.reporting.diagnostic.messages.UnableToExtendSealedClass.pclazz UnableToExtendSealedClass.this.pclazz
1997 51139 75807 - 75871 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Cannot extend ", " ", " in a different source file")).hl("sealed", UnableToExtendSealedClass.this.pclazz)(UnableToExtendSealedClass.this.ctx)
1998 51140 75894 - 75976 Literal <nosymbol> "A sealed class or trait can only be extended in the same file as its declaration"
2003 51141 76164 - 76172 Literal <nosymbol> "Syntax"
2004 51142 76187 - 76264 Apply scala.StringContext.apply scala.StringContext.apply("", " has an unparsable version number: ", "")
2004 51145 76247 - 76263 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolHasUnparsableVersionNumber.migrationMessage SymbolHasUnparsableVersionNumber.this.migrationMessage
2004 51144 76192 - 76210 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showLocated SymbolHasUnparsableVersionNumber.this.symbol.showLocated(SymbolHasUnparsableVersionNumber.this.ctx)
2004 51147 76187 - 76264 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " has an unparsable version number: ", "")).hl(SymbolHasUnparsableVersionNumber.this.symbol.showLocated(SymbolHasUnparsableVersionNumber.this.ctx), SymbolHasUnparsableVersionNumber.this.migrationMessage)(SymbolHasUnparsableVersionNumber.this.ctx)
2004 51143 76199 - 76199 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolHasUnparsableVersionNumber.ctx SymbolHasUnparsableVersionNumber.this.ctx
2004 51146 76187 - 76187 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolHasUnparsableVersionNumber.ctx SymbolHasUnparsableVersionNumber.this.ctx
2006 51154 76293 - 76293 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolHasUnparsableVersionNumber.ctx SymbolHasUnparsableVersionNumber.this.ctx
2006 51149 76299 - 76315 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolHasUnparsableVersionNumber.migrationMessage SymbolHasUnparsableVersionNumber.this.migrationMessage
2006 51155 76293 - 76594 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "\n |\n |The ", " is marked with ", " indicating it has changed semantics\n |between versions and the ", " settings is used to warn about constructs\n |whose behavior may have changed since version change.")).hl(SymbolHasUnparsableVersionNumber.this.migrationMessage, SymbolHasUnparsableVersionNumber.this.symbol.showLocated(SymbolHasUnparsableVersionNumber.this.ctx), "@migration", "-Xmigration")(SymbolHasUnparsableVersionNumber.this.ctx)
2006 51148 76293 - 76594 Apply scala.StringContext.apply scala.StringContext.apply("", "\n |\n |The ", " is marked with ", " indicating it has changed semantics\n |between versions and the ", " settings is used to warn about constructs\n |whose behavior may have changed since version change.")
2008 51151 76345 - 76363 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showLocated SymbolHasUnparsableVersionNumber.this.symbol.showLocated(SymbolHasUnparsableVersionNumber.this.ctx)
2008 51150 76352 - 76352 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolHasUnparsableVersionNumber.ctx SymbolHasUnparsableVersionNumber.this.ctx
2008 51152 76382 - 76394 Literal <nosymbol> "@migration"
2009 51153 76470 - 76483 Literal <nosymbol> "-Xmigration"
2017 51156 76796 - 76804 Literal <nosymbol> "Syntax"
2018 51160 76878 - 76894 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolChangedSemanticsInVersion.migrationVersion SymbolChangedSemanticsInVersion.this.migrationVersion
2018 51162 76819 - 76895 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " has changed semantics in version ", "")).hl(SymbolChangedSemanticsInVersion.this.symbol.showLocated(SymbolChangedSemanticsInVersion.this.ctx), SymbolChangedSemanticsInVersion.this.migrationVersion)(SymbolChangedSemanticsInVersion.this.ctx)
2018 51159 76824 - 76842 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showLocated SymbolChangedSemanticsInVersion.this.symbol.showLocated(SymbolChangedSemanticsInVersion.this.ctx)
2018 51158 76831 - 76831 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolChangedSemanticsInVersion.ctx SymbolChangedSemanticsInVersion.this.ctx
2018 51161 76819 - 76819 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolChangedSemanticsInVersion.ctx SymbolChangedSemanticsInVersion.this.ctx
2018 51157 76819 - 76895 Apply scala.StringContext.apply scala.StringContext.apply("", " has changed semantics in version ", "")
2020 51169 76926 - 77186 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("The ", " is marked with ", " indicating it has changed semantics\n |between versions and the ", " settings is used to warn about constructs\n |whose behavior may have changed since version change.")).hl(SymbolChangedSemanticsInVersion.this.symbol.showLocated(SymbolChangedSemanticsInVersion.this.ctx), "@migration", "-Xmigration")(SymbolChangedSemanticsInVersion.this.ctx)
2020 51163 76926 - 77186 Apply scala.StringContext.apply scala.StringContext.apply("The ", " is marked with ", " indicating it has changed semantics\n |between versions and the ", " settings is used to warn about constructs\n |whose behavior may have changed since version change.")
2020 51165 76937 - 76955 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showLocated SymbolChangedSemanticsInVersion.this.symbol.showLocated(SymbolChangedSemanticsInVersion.this.ctx)
2020 51168 76926 - 76926 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolChangedSemanticsInVersion.ctx SymbolChangedSemanticsInVersion.this.ctx
2020 51164 76944 - 76944 Select dotty.tools.dotc.reporting.diagnostic.messages.SymbolChangedSemanticsInVersion.ctx SymbolChangedSemanticsInVersion.this.ctx
2020 51166 76974 - 76986 Literal <nosymbol> "@migration"
2021 51167 77062 - 77075 Literal <nosymbol> "-Xmigration"
2028 51170 77332 - 77340 Literal <nosymbol> "Syntax"
2029 51171 77365 - 77376 Select dotty.tools.dotc.reporting.diagnostic.messages.UnableToEmitSwitch.tooFewCases UnableToEmitSwitch.this.tooFewCases
2029 51174 77419 - 77421 Literal <nosymbol> ""
2029 51173 77378 - 77413 Block <nosymbol> " since there are not enough cases"
2029 51172 77378 - 77413 Literal <nosymbol> " since there are not enough cases"
2029 51175 77419 - 77421 Block <nosymbol> ""
2030 51178 77494 - 77503 Select dotty.tools.dotc.reporting.diagnostic.messages.UnableToEmitSwitch.tooFewStr UnableToEmitSwitch.this.tooFewStr
2030 51180 77436 - 77504 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Could not emit switch for ", " annotated match", "")).hl("@switch", UnableToEmitSwitch.this.tooFewStr)(UnableToEmitSwitch.this.ctx)
2030 51177 77467 - 77476 Literal <nosymbol> "@switch"
2030 51176 77436 - 77504 Apply scala.StringContext.apply scala.StringContext.apply("Could not emit switch for ", " annotated match", "")
2030 51179 77436 - 77436 Select dotty.tools.dotc.reporting.diagnostic.messages.UnableToEmitSwitch.ctx UnableToEmitSwitch.this.ctx
2033 51181 77561 - 77972 Literal <nosymbol> "val ConstantB = \'B\'\n |final val ConstantC = \'C\'\n |def tokenMe(ch: Char) = (ch: @switch) match {\n | case \'\\t\' | \'\\n\' => 1\n | case \'A\' => 2\n | case ConstantB => 3 // a non-literal may prevent switch generation: this would not compile\n | case ConstantC => 4 // a constant value is allowed\n | case _ => 5\n |}"
2041 51182 77561 - 77984 Select scala.collection.immutable.StringLike.stripMargin scala.Predef.augmentString("val ConstantB = \'B\'\n |final val ConstantC = \'C\'\n |def tokenMe(ch: Char) = (ch: @switch) match {\n | case \'\\t\' | \'\\n\' => 1\n | case \'A\' => 2\n | case ConstantB => 3 // a non-literal may prevent switch generation: this would not compile\n | case ConstantC => 4 // a constant value is allowed\n | case _ => 5\n |}").stripMargin
2043 51189 77992 - 77992 Select dotty.tools.dotc.reporting.diagnostic.messages.UnableToEmitSwitch.ctx UnableToEmitSwitch.this.ctx
2043 51183 77992 - 78544 Apply scala.StringContext.apply scala.StringContext.apply("If annotated with ", ", the compiler will verify that the match has been compiled to a\n |tableswitch or lookupswitch and issue an error if it instead compiles into a series of conditional\n |expressions. Example usage:\n |\n |", "\n |\n |The compiler will not apply the optimisation if:\n |- the matched value is not of type ", ", ", ", ", " or ", "\n |- the matched value is not a constant literal\n |- there are less than three cases")
2043 51190 77992 - 78544 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("If annotated with ", ", the compiler will verify that the match has been compiled to a\n |tableswitch or lookupswitch and issue an error if it instead compiles into a series of conditional\n |expressions. Example usage:\n |\n |", "\n |\n |The compiler will not apply the optimisation if:\n |- the matched value is not of type ", ", ", ", ", " or ", "\n |- the matched value is not a constant literal\n |- there are less than three cases")).hl("@switch", codeExample, "Int", "Byte", "Short", "Char")(UnableToEmitSwitch.this.ctx)
2043 51184 78017 - 78026 Literal <nosymbol> "@switch"
2050 51187 78418 - 78425 Literal <nosymbol> "Short"
2050 51186 78407 - 78413 Literal <nosymbol> "Byte"
2050 51185 78397 - 78402 Literal <nosymbol> "Int"
2050 51188 78432 - 78438 Literal <nosymbol> "Char"
2057 51196 78695 - 78746 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " does not have a companion class")).hl(dotc.core.Symbols.toDenot(MissingCompanionForStatic.this.member)(MissingCompanionForStatic.this.ctx).owner)(MissingCompanionForStatic.this.ctx)
2057 51195 78695 - 78695 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingCompanionForStatic.ctx MissingCompanionForStatic.this.ctx
2057 51192 78700 - 78706 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingCompanionForStatic.member MissingCompanionForStatic.this.member
2057 51194 78700 - 78712 Select dotty.tools.dotc.core.SymDenotations.SymDenotation.owner dotc.core.Symbols.toDenot(MissingCompanionForStatic.this.member)(MissingCompanionForStatic.this.ctx).owner
2057 51191 78695 - 78746 Apply scala.StringContext.apply scala.StringContext.apply("", " does not have a companion class")
2057 51193 78700 - 78700 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingCompanionForStatic.ctx MissingCompanionForStatic.this.ctx
2058 51197 78762 - 78770 Literal <nosymbol> "Syntax"
2060 51198 78799 - 78876 Apply scala.StringContext.apply scala.StringContext.apply("An object that contains ", " members must have a companion class.")
2060 51201 78799 - 78876 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("An object that contains ", " members must have a companion class.")).hl("@static")(MissingCompanionForStatic.this.ctx)
2060 51200 78799 - 78799 Select dotty.tools.dotc.reporting.diagnostic.messages.MissingCompanionForStatic.ctx MissingCompanionForStatic.this.ctx
2060 51199 78828 - 78837 Literal <nosymbol> "@static"
2065 51202 79063 - 79071 Literal <nosymbol> "Syntax"
2066 51205 79151 - 79160 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.parentSym PolymorphicMethodMissingTypeInParent.this.parentSym
2066 51204 79113 - 79117 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.rsym PolymorphicMethodMissingTypeInParent.this.rsym
2066 51207 79086 - 79182 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("polymorphic refinement ", " without matching type in parent ", " is no longer allowed")).hl(PolymorphicMethodMissingTypeInParent.this.rsym, PolymorphicMethodMissingTypeInParent.this.parentSym)(PolymorphicMethodMissingTypeInParent.this.ctx)
2066 51203 79086 - 79182 Apply scala.StringContext.apply scala.StringContext.apply("polymorphic refinement ", " without matching type in parent ", " is no longer allowed")
2066 51206 79086 - 79086 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.ctx PolymorphicMethodMissingTypeInParent.this.ctx
2068 51214 79211 - 79436 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Polymorphic ", " is not allowed in the structural refinement of ", " because\n |", " does not override any method in ", ". Structural refinement does not allow for\n |polymorphic methods.")).hl(PolymorphicMethodMissingTypeInParent.this.rsym, PolymorphicMethodMissingTypeInParent.this.parentSym, PolymorphicMethodMissingTypeInParent.this.rsym, PolymorphicMethodMissingTypeInParent.this.parentSym)(PolymorphicMethodMissingTypeInParent.this.ctx)
2068 51213 79211 - 79211 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.ctx PolymorphicMethodMissingTypeInParent.this.ctx
2068 51210 79282 - 79291 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.parentSym PolymorphicMethodMissingTypeInParent.this.parentSym
2068 51209 79229 - 79233 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.rsym PolymorphicMethodMissingTypeInParent.this.rsym
2068 51208 79211 - 79436 Apply scala.StringContext.apply scala.StringContext.apply("Polymorphic ", " is not allowed in the structural refinement of ", " because\n |", " does not override any method in ", ". Structural refinement does not allow for\n |polymorphic methods.")
2069 51212 79350 - 79359 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.parentSym PolymorphicMethodMissingTypeInParent.this.parentSym
2069 51211 79312 - 79316 Select dotty.tools.dotc.reporting.diagnostic.messages.PolymorphicMethodMissingTypeInParent.rsym PolymorphicMethodMissingTypeInParent.this.rsym
2075 51215 79563 - 79571 Literal <nosymbol> "Syntax"
2076 51216 79586 - 79663 Apply scala.StringContext.apply scala.StringContext.apply("", " modifier cannot be used for a ", " parameter")
2076 51219 79635 - 79649 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.showKind ParamsNoInline.this.owner.showKind(ParamsNoInline.this.ctx)
2076 51218 79641 - 79641 Select dotty.tools.dotc.reporting.diagnostic.messages.ParamsNoInline.ctx ParamsNoInline.this.ctx
2076 51221 79586 - 79663 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", " modifier cannot be used for a ", " parameter")).hl("inline", ParamsNoInline.this.owner.showKind(ParamsNoInline.this.ctx))(ParamsNoInline.this.ctx)
2076 51217 79593 - 79601 Literal <nosymbol> "inline"
2076 51220 79586 - 79586 Select dotty.tools.dotc.reporting.diagnostic.messages.ParamsNoInline.ctx ParamsNoInline.this.ctx
2077 51222 79686 - 79688 Literal <nosymbol> ""
2081 51223 79826 - 79841 Literal <nosymbol> "Type Mismatch"
2084 51231 79906 - 79906 Select dotty.tools.dotc.reporting.diagnostic.messages.JavaSymbolIsNotAValue.ctx JavaSymbolIsNotAValue.this.ctx
2084 51225 79887 - 79887 Select dotty.tools.dotc.reporting.diagnostic.messages.JavaSymbolIsNotAValue.ctx JavaSymbolIsNotAValue.this.ctx
2084 51228 79887 - 79904 ApplyToImplicitArgs dotty.tools.dotc.core.SymDenotations.SymDenotation.is dotc.core.Symbols.toDenot(JavaSymbolIsNotAValue.this.symbol)(JavaSymbolIsNotAValue.this.ctx).is(dotty.tools.dotc.core.Flags.Package)(JavaSymbolIsNotAValue.this.ctx)
2084 51227 79894 - 79894 Select dotty.tools.dotc.reporting.diagnostic.messages.JavaSymbolIsNotAValue.ctx JavaSymbolIsNotAValue.this.ctx
2084 51230 79910 - 79916 Select dotty.tools.dotc.reporting.diagnostic.messages.JavaSymbolIsNotAValue.symbol JavaSymbolIsNotAValue.this.symbol
2084 51233 79906 - 79917 Block dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(JavaSymbolIsNotAValue.this.symbol)(JavaSymbolIsNotAValue.this.ctx)
2084 51224 79887 - 79893 Select dotty.tools.dotc.reporting.diagnostic.messages.JavaSymbolIsNotAValue.symbol JavaSymbolIsNotAValue.this.symbol
2084 51232 79906 - 79917 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("", "")).hl(JavaSymbolIsNotAValue.this.symbol)(JavaSymbolIsNotAValue.this.ctx)
2084 51226 79897 - 79904 Select dotty.tools.dotc.core.Flags.Package dotty.tools.dotc.core.Flags.Package
2084 51229 79906 - 79917 Apply scala.StringContext.apply scala.StringContext.apply("", "")
2085 51240 79931 - 79973 ApplyToImplicitArgs dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Java defined ", "")).hl("class ".+(JavaSymbolIsNotAValue.this.symbol.name(JavaSymbolIsNotAValue.this.ctx)))(JavaSymbolIsNotAValue.this.ctx)
2085 51234 79931 - 79973 Apply scala.StringContext.apply scala.StringContext.apply("Java defined ", "")
2085 51237 79960 - 79971 ApplyToImplicitArgs dotty.tools.dotc.core.Symbols.Symbol.name JavaSymbolIsNotAValue.this.symbol.name(JavaSymbolIsNotAValue.this.ctx)
2085 51236 79967 - 79967 Select dotty.tools.dotc.reporting.diagnostic.messages.JavaSymbolIsNotAValue.ctx JavaSymbolIsNotAValue.this.ctx
2085 51239 79931 - 79931 Select dotty.tools.dotc.reporting.diagnostic.messages.JavaSymbolIsNotAValue.ctx JavaSymbolIsNotAValue.this.ctx
2085 51241 79931 - 79973 Block dotty.tools.dotc.core.Decorators.StringInterpolators.hl dotc.core.Decorators.StringInterpolators(scala.StringContext.apply("Java defined ", "")).hl("class ".+(JavaSymbolIsNotAValue.this.symbol.name(JavaSymbolIsNotAValue.this.ctx)))(JavaSymbolIsNotAValue.this.ctx)
2085 51235 79949 - 79957 Literal <nosymbol> "class "
2085 51238 79949 - 79971 Apply java.lang.String.+ "class ".+(JavaSymbolIsNotAValue.this.symbol.name(JavaSymbolIsNotAValue.this.ctx))
2087 51242 79981 - 80004 Apply scala.StringContext.s scala.StringContext.apply("", " is not a value").s(kind)
2089 51243 80033 - 80035 Literal <nosymbol> ""