ContextFunctionResults

class Object
trait Matchable
class Any

Value members

Concrete methods

Annotate methods that have context function result types directly matched by context closures on their right-hand side. Parameters to such closures will be integrated as additional method parameters in erasure.

Annotate methods that have context function result types directly matched by context closures on their right-hand side. Parameters to such closures will be integrated as additional method parameters in erasure.

def contextFunctionResultTypeCovering(meth: Symbol, paramCount: Int)(using Context): Type

The rightmost context function type in the result type of meth that represents paramCount curried, non-erased parameters that are included in the contextResultCount of meth. Example:

The rightmost context function type in the result type of meth that represents paramCount curried, non-erased parameters that are included in the contextResultCount of meth. Example:

Say we have def m(x: A): B ?=> (C1, C2, C3) ?=> D ?=> E ?=> F, paramCount == 4, and the contextResultCount of m is 3. Then we return the type (C1, C2, C3) ?=> D ?=> E ?=> F, since this type covers the 4 rightmost parameters C1, C2, C3 and D before the contextResultCount runs out at E ?=> F. Erased parameters are ignored; they contribute nothing to the parameter count.

The argument of a ContextResultCount annotation, or 0 if none exists. See PostTyper#annotateContextResults.

The argument of a ContextResultCount annotation, or 0 if none exists. See PostTyper#annotateContextResults.

def integrateContextResults(tp: Type, crCount: Int)(using Context): Type

Turn the first crCount context function types in the result type of tp into the curried method types.

Turn the first crCount context function types in the result type of tp into the curried method types.

def integrateSelect(tree: Tree, n: Int)(using Context): Boolean

Should selection tree be eliminated since it refers to an apply node of a context function type whose parameters will end up being integrated in the preceding method?

Should selection tree be eliminated since it refers to an apply node of a context function type whose parameters will end up being integrated in the preceding method?

Value Params
`n`

the select nodes seen in previous recursive iterations of this method

def totalParamCount(sym: Symbol)(using Context): Int

The total number of parameters of method sym, not counting erased parameters, but including context result parameters.

The total number of parameters of method sym, not counting erased parameters, but including context result parameters.