TypedApply

abstract class TypedApply[T >: Untyped](app: Apply, fun: Tree, methRef: TermRef, args: List[Tree[T]], resultType: Type, val applyKind: ApplyKind)(using x$7: Context) extends Application[Tree[T]]

Subclass of Application for type checking an Apply node, where types of arguments are either known or unknown.

class Application[Tree[T]]
class Object
trait Matchable
class Any

Type members

Types

type TypedArg = Tree

Value members

Concrete methods

def addArg(arg: Tree, formal: Type): Unit
override def appPos: SrcPos
Definition Classes
def fail(msg: Message, arg: Tree[T]): Unit
def fail(msg: Message): Unit

An argument is safe if it is a pure expression or a default getter call If all arguments are safe, no reordering is necessary

An argument is safe if it is a pure expression or a default getter call If all arguments are safe, no reordering is necessary

def isVarArg(arg: Tree[T]): Boolean
override def liftFun(): Unit
Definition Classes
def makeVarArg(n: Int, elemFormal: Type): Unit

Inherited methods

protected def init(): Unit
Inherited from:
Application

Is sym a constructor of a Java-defined annotation?

Is sym a constructor of a Java-defined annotation?

Inherited from:
Application
def matchArgs(args: List[Tree[T]], formals: List[Type], n: Int): Unit

Match re-ordered arguments against formal parameters

Match re-ordered arguments against formal parameters

Value parameters:
n

The position of the first parameter in formals in methType.

Inherited from:
Application
protected def methodType: MethodType
Inherited from:
Application
protected def needLiftFun: Boolean

Whether liftFun is needed? It is the case if default arguments are used.

Whether liftFun is needed? It is the case if default arguments are used.

Inherited from:
Application
def ok: Boolean
Inherited from:
Application
def ok_=(x: Boolean): Unit
Inherited from:
Application
def reorder[T >: Untyped](args: List[Tree[T]]): List[Tree[T]]

Re-order arguments to correctly align named arguments

Re-order arguments to correctly align named arguments

Inherited from:
Application

The application was successful

The application was successful

Inherited from:
Application
protected def treeToArg(arg: Tree): Tree[T]

Turn a typed tree into an argument

Turn a typed tree into an argument

Inherited from:
Application
protected def typeOfArg(arg: Tree[T]): Type
Inherited from:
Application
protected def typedArg(arg: Tree[T], formal: Type): TypedArg

Given an original argument and the type of the corresponding formal parameter, produce a typed argument.

Given an original argument and the type of the corresponding formal parameter, produce a typed argument.

Inherited from:
Application

Concrete fields

override val applyKind: ApplyKind

Inherited fields

lazy val methType: Type

The function's type after widening and instantiating polytypes with TypeParamRefs in constraint set

The function's type after widening and instantiating polytypes with TypeParamRefs in constraint set

Inherited from:
Application
lazy val orderedArgs: List[Tree[T]]

The arguments re-ordered so that each named argument matches the same-named formal parameter.

The arguments re-ordered so that each named argument matches the same-named formal parameter.

Inherited from:
Application