TailRecElimination

class TailRecElimination(method: Symbol, enclosingClass: ClassSymbol, paramSyms: List[Symbol], isMandatory: Boolean) extends TreeMap
class TreeMap
class Object
trait Matchable
class Any

Value members

Concrete methods

def noTailTransform(tree: Tree)(using Context): Tree
def noTailTransforms[Tr <: Tree](trees: List[Tr])(using Context): List[Tr]
def transform(tree: Tree, tailPosition: Boolean)(using Context): Tree

Rewrite this tree to contain no tail recursive calls

Rewrite this tree to contain no tail recursive calls

override def transform(tree: Tree)(using Context): Tree
Definition Classes
def yesTailTransform(tree: Tree)(using Context): Tree

Inherited methods

def transform(trees: List[Tree])(using Context): List[Tree]
Inherited from:
TreeMap
def transformBlock(blk: Block)(using Context): Block
Inherited from:
TreeMap
Inherited from:
TreeMap
Inherited from:
TreeMap
def transformStats(trees: List[Tree], exprOwner: Symbol)(using Context): List[Tree]
Inherited from:
TreeMap
def transformSub[Tr <: Tree](trees: List[Tr])(using Context): List[Tr]
Inherited from:
TreeMap
def transformSub[Tr <: Tree](tree: Tr)(using Context): Tr
Inherited from:
TreeMap

Concrete fields

The subset of paramSyms that are modified in at least one recursive call, and which therefore need a replacement var.

The subset of paramSyms that are modified in at least one recursive call, and which therefore need a replacement var.

The local var that replaces this, if it is modified in at least one recursive call.

The local var that replaces this, if it is modified in at least one recursive call.

The replacement vars for the params in rewrittenParamSyms.

The replacement vars for the params in rewrittenParamSyms.

Inherited fields

Inherited from:
TreeMap