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. Defaults are added as named arguments calling the corresponding default getter.

    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: WeakHashMap[Symbol, Set[Symbol]]

  11. def deprecatedName(sym: Symbol): Option[Name]

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

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

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

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

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

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

    returns true' if every element is equal to its index

  18. final def isInstanceOf[T0]: Boolean

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

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

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

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

    Definition Classes
    AnyRef
  23. val noApplyInfo: NamedApplyInfo

  24. final def notify(): Unit

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

    Definition Classes
    AnyRef
  26. def paramPos(params: List[Symbol], name: Name): (Int, Option[Name])

    Returns

    Returns

    • the position of the parameter named name
    • optionally, if name is @deprecatedName, the new name
  27. 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.

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

    pos

    maps indicies from old to new

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

    pos

    maps indicies from new to old (!)

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

    Definition Classes
    AnyRef
  31. def toString(): String

    Definition Classes
    AnyRef → Any
  32. 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

  33. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any