ApplyTransform

cps.plugin.forest.ApplyTransform

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

case class FunCallMode(funKind: AsyncKind, argCallMode: ApplyArgCallMode, asyncLambdaApplication: Option[AsyncKind], addMonadToFirstArgList: Boolean, fromCallChain: Boolean)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait MbShiftedFun

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class NonShiftedFun(tree: Tree) extends MbShiftedFun

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait MbShiftedFun
class Object
trait Matchable
class Any
Show all
case class ShiftedFun(originTree: Tree, obj: Tree, method: TermName, targs: List[Tree], additionalArgs: Option[List[Tree]], canBeOverloaded: Boolean, callShouldBeInlined: Boolean, remainingShapeChange: ShiftedArgumentsShape) extends MbShiftedFun

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait MbShiftedFun
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

def adoptCallMode(origin: Tree, plainTree: Tree, owner: Symbol, argss: List[ApplyArgList], callMode: FunCallMode)(using Context, CpsTopLevelContext): CpsTree
def adoptResultKind(origin: Tree, newApply: Tree, owner: Symbol, callMode: FunCallMode, usingDirectContext: Boolean)(using Context, CpsTopLevelContext): CpsTree
def apply(term: Apply, owner: Symbol, nesting: Int)(using Context, CpsTopLevelContext): CpsTree
def applyMArgs(term: Apply, owner: Symbol, nesting: Int, tail: List[ApplyArgList])(using Context, CpsTopLevelContext): CpsTree
def findSymbolOwnerInEnclosing(sym: Symbol)(using Context): Option[Symbol]
def genApplication(origin: Apply, owner: Symbol, nesting: Int, fun: MbShiftedFun, argss: List[ApplyArgList], f: ApplyArg => Tree, callMode: FunCallMode)(using Context, CpsTopLevelContext): CpsTree
def makeArgList(term: Apply, mt: MethodParamsDescriptor, owner: Symbol, nesting: Int)(using Context, CpsTopLevelContext): ApplyTermArgList
def makeTypeArgList(term: TypeApply)(using Context): ApplyTypeArgList
def maybeInlineObject(obj: Tree)(using Context, CpsTopLevelContext): Tree
def parseApplication(appTerm: Apply, owner: Symbol, nesting: Int, argss: List[ApplyArgList])(using Context, CpsTopLevelContext): CpsTree
def parseApplicationCpsFun(appTerm: Apply, owner: Symbol, nesting: Int, cpsFun: CpsTree, argss: List[ApplyArgList], callMode: FunCallMode)(using Context, CpsTopLevelContext): CpsTree
def parseApplicationNonLambda(appTerm: Apply, owner: Symbol, nesting: Int, argss: List[ApplyArgList])(using Context, CpsTopLevelContext): CpsTree
def parseMethodCall(appTerm: Apply, owner: Symbol, nesting: Int, obj: Tree, sel: Select, optTypeApply: Option[TypeApply], argss: List[ApplyArgList])(using Context, CpsTopLevelContext): CpsTree
def parseSyncFunApplication(origin: Apply, owner: Symbol, nesting: Int, fun: Tree, argss: List[ApplyArgList], callMode: FunCallMode)(using Context, CpsTopLevelContext): CpsTree

Value parameters

argss

list of arguments, starting from the first non-type argument lists.

Attributes

def parseSyncFunPureApplication(origin: Apply, owner: Symbol, nesting: Int, fun: Tree, argss: List[ApplyArgList], callMode: FunCallMode)(using Context, CpsTopLevelContext): CpsTree
def resolveAsyncShiftedObject(obj: Tree)(using Context): Either[String, Tree]
def retrieveShiftedFun(origin: Tree, fun: Tree, owner: Symbol, argLists: List[ApplyArgList])(using Context, CpsTopLevelContext): Either[String, ShiftedFun]

Value parameters

fun
  • fun, which can be withFilter invocation.

Attributes

def retrieveShiftedFunNoSpecial(origin: Tree, fun: Tree, owner: Symbol, argLists: List[ApplyArgList])(using Context, CpsTopLevelContext): Either[String, ShiftedFun]

retrieve shifted function or throw exception.

retrieve shifted function or throw exception.

Attributes

Returns

new function (with type arguments and additional parameter list if needed)