scala.tools.nsc.typechecker

NamesDefaults

trait NamesDefaults extends AnyRef

Self Type
Analyzer
Source
NamesDefaults.scala
Version

1.0

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. NamesDefaults
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Type Members

  1. case class NamedApplyInfo(qual: Option[Tree], targs: List[Tree], vargss: List[List[Tree]], blockTyper: Typer) extends Product with Serializable

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def addDefaults(givenArgs: List[Tree], qual: Option[Tree], targs: List[Tree], previousArgss: List[List[Tree]], params: List[Symbol], pos: Position, context: Context): (List[Tree], List[Symbol])

    Extend the argument list givenArgs with default arguments.

    Extend the argument list givenArgs with default arguments. Defaults are added as named arguments calling the corresponding default getter.

    Example: given def foo(x: Int = 2, y: String = "def") foo(y = "lt") the argument list (y = "lt") is transformed to (y = "lt", x = foo$default$1())

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. def defaultGetter(param: Symbol, context: Context): Symbol

    For a parameter with default argument, find the method symbol of the default getter.

  10. val defaultParametersOfMethod: Map[Symbol, Set[Symbol]]

  11. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  14. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  16. def isIdentity(a: Array[Int]): Boolean

    returns true if every element is equal to its index

  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. def isNamed(arg: Tree): Boolean

  19. def missingParams[T](args: List[T], params: List[Symbol], argName: (T) ⇒ Option[Name]): (List[Symbol], Boolean)

  20. def nameOf(arg: Tree): Option[Name]

  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. val noApplyInfo: NamedApplyInfo

  23. final def notify(): Unit

    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  25. def removeNames(typer: Typer)(args: List[Tree], params: List[Symbol]): (List[Tree], Array[Int])

    Removes name assignments from args.

    Removes name assignments from args. Additionally, returns an array mapping argument indicies from call-site-order to definition-site-order.

    Verifies that names are not specified twice, positional args don't appear after named ones.

  26. def reorderArgs[T](args: List[T], pos: (Int) ⇒ Int)(implicit arg0: ClassManifest[T]): List[T]

    pos

    maps indicies from old to new

  27. def reorderArgsInv[T](args: List[T], pos: (Int) ⇒ Int)(implicit arg0: ClassManifest[T]): List[T]

    pos

    maps indicies from new to old (!)

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  29. def toString(): String

    Definition Classes
    AnyRef → Any
  30. def transformNamedApplication(typer: Typer, mode: Int, pt: Type)(tree: Tree, argPos: (Int) ⇒ Int): Tree

    Transform a function application into a Block, and assigns typer.

    Transform a function application into a Block, and assigns typer.context .namedApplyBlockInfo to the new block as side-effect. If tree has the form Apply(fun, args) first the function "fun" (which might be an application itself!) is transformed into a block of the form { val qual$1 = qualifier_of_fun val x$1 = arg_1_of_fun ... val x$n = arg_n_of_fun qual$1.fun[targs](x$1, ...)...(..., x$n) } then for each argument in args, a value is created and entered into the block. finally the application expression of the block is updated. { val qual$1 = .. ... val x$n = ... > val qual$n+1 = arg(1) > ... > val qual$n+m = arg(m) > qual$1.fun[targs](x$1, ...)...(..., x$n)(x$n+1, ..., x$n+m) }

    typer

    the typer calling this method; this method calls typer.doTypedApply

    mode

    the mode to use for calling typer.doTypedApply

    pt

    the expected type for calling typer.doTypedApply

    returns

    the transformed application (a Block) together with the NamedApplyInfo. if isNamedApplyBlock(tree), returns the existing context.namedApplyBlockInfo

  31. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  32. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  33. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any