ApplyToUntyped

class ApplyToUntyped(app: Apply, fun: Tree, methRef: TermRef, proto: FunProto, resultType: Type)(using x$6: Context) extends TypedApply[Nothing]

Subclass of Application for type checking an Apply node with untyped arguments.

class TypedApply[Nothing]
class Application[Tree[Nothing]]
class Object
trait Matchable
class Any

Type members

Inherited types

type TypedArg = Tree

The type of typed arguments: either tpd.Tree or Type

The type of typed arguments: either tpd.Tree or Type

Inherited from:
TypedApply

Value members

Concrete methods

def treeToArg(arg: Tree): Tree

Turn a typed tree into an argument

Turn a typed tree into an argument

def typeOfArg(arg: Tree): Type
def typedArg(arg: Tree, 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 methods

def addArg(arg: Tree, formal: Type): Unit

Check that argument corresponds to type formal and possibly add it to the list of adapted arguments

Check that argument corresponds to type formal and possibly add it to the list of adapted arguments

Inherited from:
TypedApply
override def appPos: SrcPos
Definition Classes
Inherited from:
TypedApply
def fail(msg: Message): Unit

Signal failure with given message at position of the application itself

Signal failure with given message at position of the application itself

Inherited from:
TypedApply
def fail(msg: Message, arg: Tree[Nothing]): Unit

Signal failure with given message at position of given argument

Signal failure with given message at position of given argument

Inherited from:
TypedApply

If all args have primitive numeric types, make sure it's the same one

If all args have primitive numeric types, make sure it's the same one

Inherited from:
TypedApply
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

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

Inherited from:
TypedApply
def isVarArg(arg: Tree[Nothing]): Boolean

Is this an argument of the form expr: _* or a RepeatedParamType derived from such an argument?

Is this an argument of the form expr: _* or a RepeatedParamType derived from such an argument?

Inherited from:
TypedApply
override def liftFun(): Unit

If constructing trees, pull out all parts of the function which are not idempotent into separate prefix definitions

If constructing trees, pull out all parts of the function which are not idempotent into separate prefix definitions

Definition Classes
Inherited from:
TypedApply
def makeVarArg(n: Int, elemFormal: Type): Unit

If constructing trees, turn last n processed arguments into a SeqLiteral tree with element type elemFormal.

If constructing trees, turn last n processed arguments into a SeqLiteral tree with element type elemFormal.

Inherited from:
TypedApply
def matchArgs(args: List[Tree[Nothing]], 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

The current function part, which might be affected by lifting.

The current function part, which might be affected by lifting.

Inherited from:
TypedApply
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

Inherited fields

override val applyKind: ApplyKind

The kind of application that gets typed

The kind of application that gets typed

Inherited from:
TypedApply
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[Nothing]]

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
Inherited from:
TypedApply