Scala Compiler2.12.3 < Back
 

# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package typechecker
  Definition Classes
    nsc
-  trait Contexts extends AnyRef

  Definition Classes
    typechecker
  Version

    1.0

- Context
- ContextReporter
- ImportContext
- ImportInfo
- NoContext

c

scala.tools.nsc.typechecker.Contexts

# ContextReporter 

###

#### abstract class ContextReporter extends Reporter

A reporter for use during type checking. It has multiple modes for handling errors.

The default (immediate mode) is to send the error to the global reporter. When switched into buffering mode via makeBuffering, errors and warnings are buffered and not be reported (there's a special case for ambiguity errors for some reason: those are force to the reporter when context.ambiguousErrors, or else they are buffered -- TODO: can we simplify this?)

When using the type checker after typers, an error results in a TypeError being thrown. TODO: get rid of this mode.

To handle nested contexts, reporters share buffers. TODO: only buffer in BufferingReporter, emit immediately in ImmediateReporter

Source
  Contexts.scala

Linear Supertypes
Reporter, Reporter, AnyRef, Any
Type Hierarchy
 
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. ContextReporter
2. Reporter
3. Reporter
4. AnyRef
5. Any

Implicitly

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

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Instance Constructors

1.  new ContextReporter(_errorBuffer: LinkedHashSet[Analyzer.AbsTypeError] = null, _warningBuffer: LinkedHashSet[(Global.Position, String)] = null)

### Type Members

1.  class Severity extends AnyRef
   Definition Classes
     Reporter
2.  type Error = Analyzer.AbsTypeError
3.  type Warning = (Global.Position, String)

### Abstract Value Members

1.  abstract def handleError(pos: Global.Position, msg: String): Unit
   Attributes
     protected

### Concrete Value Members

1.  object INFO extends Severity
   Definition Classes
     Reporter → Reporter
2.  object WARNING extends Severity
   Definition Classes
     Reporter → Reporter
3.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def ##(): Int
   Definition Classes
     AnyRef → Any
5.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from Analyzer.ContextReporter to any2stringadd[Analyzer.ContextReporter] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
6.  def ->[B](y: B): (Analyzer.ContextReporter, B)
   Implicit
     This member is added by an implicit conversion from Analyzer.ContextReporter to ArrowAssoc[Analyzer.ContextReporter] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
7.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
8.  lazy val ERROR: Severity
   Definition Classes
     Reporter → Reporter
9.  def addDiagString(msg: String)(implicit context: Analyzer.Context): String
   Attributes
     protected
10.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
11.  var cancelled: Boolean
    Definition Classes
      Reporter
12.  final def clearAll(): Unit
13.  final def clearAllErrors(): Unit
14.  def clone(): AnyRef
    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
15.  def comment(pos: Position, msg: String): Unit
    Definition Classes
      Reporter
16.  def count(severity: Severity): Int
    Definition Classes
      Reporter → Reporter
17.  def echo(msg: String): Unit

    For sending a message which should not be labelled as a warning/error, but also shouldn't require -verbose to be visible.

    For sending a message which should not be labelled as a warning/error, but also shouldn't require -verbose to be visible.

    Definition Classes
      Reporter
18.  def echo(pos: Position, msg: String): Unit
    Definition Classes
      Reporter
19.  final def emitWarnings(): Unit
20.  def ensuring(cond: (Analyzer.ContextReporter) ⇒ Boolean, msg: ⇒ Any): Analyzer.ContextReporter
    Implicit
      This member is added by an implicit conversion from Analyzer.ContextReporter to Ensuring[Analyzer.ContextReporter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
21.  def ensuring(cond: (Analyzer.ContextReporter) ⇒ Boolean): Analyzer.ContextReporter
    Implicit
      This member is added by an implicit conversion from Analyzer.ContextReporter to Ensuring[Analyzer.ContextReporter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
22.  def ensuring(cond: Boolean, msg: ⇒ Any): Analyzer.ContextReporter
    Implicit
      This member is added by an implicit conversion from Analyzer.ContextReporter to Ensuring[Analyzer.ContextReporter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
23.  def ensuring(cond: Boolean): Analyzer.ContextReporter
    Implicit
      This member is added by an implicit conversion from Analyzer.ContextReporter to Ensuring[Analyzer.ContextReporter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
24.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
25.  def equals(arg0: Any): Boolean
    Definition Classes
      AnyRef → Any
26.  def error(pos: Position, msg: String): Unit
    Definition Classes
      Reporter
27.  final def errorBuffer: LinkedHashSet[Analyzer.AbsTypeError]
    Attributes
      protected
28.  def errorCount: Int
    Definition Classes
      Reporter
29.  final def errors: collection.immutable.Seq[Error]
30.  def finalize(): Unit
    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )
31.  def finish(): Unit
    Definition Classes
      Reporter
32.  final def firstError: Option[Analyzer.AbsTypeError]
33.  def flush(): Unit
    Definition Classes
      Reporter
34.  def formatted(fmtstr: String): String
    Implicit
      This member is added by an implicit conversion from Analyzer.ContextReporter to StringFormat[Analyzer.ContextReporter] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()
35.  final def getClass(): Class[_]
    Definition Classes
      AnyRef → Any
36.  def handleSuppressedAmbiguous(err: Analyzer.AbsAmbiguousTypeError): Unit
    Attributes
      protected
37.  def handleWarning(pos: Global.Position, msg: String): Unit
    Attributes
      protected
38.  final def hasErrors: Boolean
    Definition Classes
      ContextReporter → Reporter → Reporter
39.  def hasWarnings: Boolean
    Definition Classes
      Reporter
40.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
41.  final def info(pos: Position, msg: String, force: Boolean): Unit

    Informational messages.

    Informational messages. If `!force`, they may be suppressed.

    Definition Classes
      Reporter
42.  final def info0(pos: Global.Position, msg: String, severity: Severity, force: Boolean): Unit
    Attributes
      protected
    Definition Classes
      ContextReporter → Reporter
43.  def isBuffering: Boolean
44.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
45.  def isThrowing: Boolean
46.  def issue(err: Analyzer.AbsTypeError)(implicit context: Analyzer.Context): Unit
47.  final def issueAmbiguousError(err: Analyzer.AbsAmbiguousTypeError)(implicit context: Analyzer.Context): Unit

    Emit an ambiguous error according to context.ambiguousErrors

    Emit an ambiguous error according to context.ambiguousErrors

    - when true, use global.reporter regardless of whether we're buffering (TODO: can we change this?)
    - else, let this context reporter decide
48.  def makeBuffering: Analyzer.ContextReporter
49.  def makeImmediate: Analyzer.ContextReporter
50.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
51.  final def notify(): Unit
    Definition Classes
      AnyRef
52.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
53.  def propagateImplicitTypeErrorsTo(target: Analyzer.ContextReporter): Unit
54.  final def propagatingErrorsTo[T](target: Analyzer.ContextReporter)(expr: ⇒ T): T
    Annotations
      @inline()
55.  def reportFirstDivergentError(fun: Global.Tree, param: Global.Symbol, paramTp: Global.Type)(implicit context: Analyzer.Context): Unit
56.  def rerunWithDetails(setting: Setting, name: String): String
    Definition Classes
      Reporter
57.  def reset(): Unit
    Definition Classes
      Reporter → Reporter
58.  def resetCount(severity: Severity): Unit
    Definition Classes
      Reporter → Reporter
59.  def retainDivergentErrorsExcept(saved: Analyzer.DivergentImplicitTypeError): Unit
60.  final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
      AnyRef
61.  def toString(): String
    Definition Classes
      AnyRef → Any
62.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
63.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
64.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
65.  def warning(pos: Position, msg: String): Unit
    Definition Classes
      Reporter
66.  final def warningBuffer: LinkedHashSet[(Global.Position, String)]
    Attributes
      protected
67.  def warningCount: Int
    Definition Classes
      Reporter
68.  final def warnings: collection.immutable.Seq[Warning]
69.  final def withFreshErrorBuffer[T](expr: ⇒ T): T
    Annotations
      @inline()
70.  def →[B](y: B): (Analyzer.ContextReporter, B)
    Implicit
      This member is added by an implicit conversion from Analyzer.ContextReporter to ArrowAssoc[Analyzer.ContextReporter] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from Reporter

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from Analyzer.ContextReporter to any2stringadd[Analyzer.ContextReporter]

### Inherited by implicit conversion StringFormat from Analyzer.ContextReporter to StringFormat[Analyzer.ContextReporter]

### Inherited by implicit conversion Ensuring from Analyzer.ContextReporter to Ensuring[Analyzer.ContextReporter]

### Inherited by implicit conversion ArrowAssoc from Analyzer.ContextReporter to ArrowAssoc[Analyzer.ContextReporter]

### Ungrouped