TestApplication

abstract class TestApplication[Arg](methRef: TermRef, funType: Type, args: List[Arg], resultType: Type, argMatch: ArgMatch)(using `x$6`: Context) extends Application[Arg]

Subclass of Application for the cases where we are interested only in a "can/cannot apply" answer, without needing to construct trees or issue error messages.

class Object
trait Matchable
class Any

Type members

Types

type Result = Unit
type TypedArg = Arg

Value members

Abstract methods

protected def argType(arg: Arg, formal: Type): Type

The type of the given argument

The type of the given argument

Concrete methods

final def addArg(arg: TypedArg, formal: Type): Unit
protected def argOK(arg: TypedArg, formal: Type): Boolean
def fail(msg: Message, arg: Arg): Unit
def fail(msg: Message): Unit
def makeVarArg(n: Int, elemFormal: Type): Unit
def typedArg(arg: Arg, formal: Type): Arg

Inherited methods

protected def harmonizeArgs(args: List[TypedArg]): List[TypedArg]

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
Application
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
protected def isVarArg(arg: Arg): 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
Application
protected 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

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

Match re-ordered arguments against formal parameters

Match re-ordered arguments against formal parameters

Value Params
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): Arg

Turn a typed tree into an argument

Turn a typed tree into an argument

Inherited from
Application
protected def typeOfArg(arg: Arg): Type
Inherited from
Application

Concrete fields

Inherited fields

Inherited from
Application
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[Arg]

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