TailRecElimination

dotty.tools.dotc.transform.TailRec.TailRecElimination
class TailRecElimination(method: Symbol, enclosingClass: ClassSymbol, paramSyms: List[Symbol], isMandatory: Boolean) extends TreeMap

Attributes

Graph
Supertypes
class TreeMap
class Object
trait Matchable
class Any

Members list

Concise view

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

Attributes

override def transform(tree: Tree)(using Context): Tree

Attributes

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

Inherited methods

def transform(trees: List[Tree])(using Context): List[Tree]

Attributes

Inherited from:
TreeMap
def transformBlock(blk: Block)(using Context): Block

Attributes

Inherited from:
TreeMap

Attributes

Inherited from:
TreeMap

Attributes

Inherited from:
TreeMap
def transformStats(trees: List[Tree], exprOwner: Symbol)(using Context): List[Tree]

Attributes

Inherited from:
TreeMap
def transformSub[Tr <: Tree](trees: List[Tr])(using Context): List[Tr]

Attributes

Inherited from:
TreeMap
def transformSub[Tr <: Tree](tree: Tr)(using Context): Tr

Attributes

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.

Attributes

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.

Attributes

The replacement vars for the params in rewrittenParamSyms.

The replacement vars for the params in rewrittenParamSyms.

Attributes

Inherited fields

Attributes

Inherited from:
TreeMap