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 doc
    Definition Classes
    nsc
  • package model
    Definition Classes
    doc
  • trait ModelFactoryImplicitSupport extends AnyRef

    This trait finds implicit conversions for a class in the default scope and creates scaladoc entries for each of them.

    This trait finds implicit conversions for a class in the default scope and creates scaladoc entries for each of them.

    Let's take this as an example:

    object Test {
      class A
    
      class B {
        def foo = 1
      }
    
      class C extends B {
        def bar = 2
        class implicit
      }
    
      D def conv(a: A) = new C
    }

    Overview: - scaladoc-ing the above classes, A will get two more methods: foo and bar, over its default methods - the nested classes (specifically D above), abstract types, type aliases and constructor members are not added to A (see makeMember0 in ModelFactory, last 3 cases) - the members added by implicit conversion are always listed under the implicit conversion, not under the class they actually come from (foo will be listed as coming from the implicit conversion to C instead of B) - see definitionName in MemberImpl

    Internals: TODO: Give an overview here

    Definition Classes
    model
  • ImplicitConversionImpl
  • ImplicitNotFound
  • typeVarToOriginOrWildcard
  • wildcardToNothing

class ImplicitNotFound extends Exception

This is a flag that indicates whether to eliminate implicits that cannot be satisfied within the current scope. For example, if an implicit conversion requires that there is a Numeric[T] in scope:

class A[T]
class B extends A[Int]
class C extends A[String]
implicit def enrichA[T: Numeric](a: A[T]): D

For B, no constraints are generated as Numeric[Int] is already in the default scope. On the other hand, for the conversion from C to D, depending on -implicits-show-all, the conversion can:

  • not be generated at all, since there's no Numeric[String] in scope (if ran without -implicits-show-all)
  • generated with a *weird* constraint, Numeric[String] as the user might add it by hand (if flag is enabled)
Source
ModelFactoryImplicitSupport.scala
Linear Supertypes
java.lang.Exception, java.lang.Throwable, java.io.Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ImplicitNotFound
  2. Exception
  3. Throwable
  4. Serializable
  5. AnyRef
  6. Any
Implicitly
  1. by RichException
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ImplicitNotFound(tpe: Global.Type)

Value Members

  1. final def addSuppressed(arg0: java.lang.Throwable): Unit
    Definition Classes
    Throwable
  2. def fillInStackTrace(): java.lang.Throwable
    Definition Classes
    Throwable
  3. def getCause(): java.lang.Throwable
    Definition Classes
    Throwable
  4. def getLocalizedMessage(): String
    Definition Classes
    Throwable
  5. def getMessage(): String
    Definition Classes
    Throwable
  6. def getStackTrace(): Array[StackTraceElement]
    Definition Classes
    Throwable
  7. final def getSuppressed(): Array[java.lang.Throwable]
    Definition Classes
    Throwable
  8. def initCause(arg0: java.lang.Throwable): java.lang.Throwable
    Definition Classes
    Throwable
  9. def printStackTrace(arg0: PrintWriter): Unit
    Definition Classes
    Throwable
  10. def printStackTrace(arg0: PrintStream): Unit
    Definition Classes
    Throwable
  11. def printStackTrace(): Unit
    Definition Classes
    Throwable
  12. def setStackTrace(arg0: Array[StackTraceElement]): Unit
    Definition Classes
    Throwable
  13. def toString(): String
    Definition Classes
    Throwable → AnyRef → Any

Deprecated Value Members

  1. def getStackTraceString: String
    Implicit
    This member is added by an implicit conversion from (ModelFactoryImplicitSupport.this)#ImplicitNotFound to RichException performed by method RichException in scala.Predef.
    Definition Classes
    RichException
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use Throwable#getStackTrace