TreeTransformScopeInstance

cps.macros.forest.TreeTransformScopeInstance
trait TreeTransformScopeInstance[F[_], T, C <: CpsMonadContext[F]](val cpsCtx: TransformationContext[F, T, C])(implicit evidence$4: Type[F], evidence$5: Type[T], evidence$6: Type[C], val qctx: Quotes) extends TreeTransformScope[F, T, C]

Attributes

Graph
Supertypes
trait TreeTransformScope[F, T, C]
trait ValDefTreeTransform[F, T, C]
trait BlockTreeTransform[F, T, C]
trait SelectOuterTreeTransform[F, T, C]
trait InlinedTreeTransform[F, T, C]
trait AsyncTreeShifter[F, T, C]
trait MatchTreeTransform[F, T, C]
trait LambdaTreeTransform[F, T, C]
trait SelectTreeTransform[F, T, C]
trait AwaitTreeTransform[F, T, C]
trait ApplicationHelper[F, T, C]
trait PartialShiftedApplyScope[F, T, C]
trait ApplyArgBuilderScope[F, T, C]
trait ApplyArgRecordScope[F, T, C]
trait ApplyTreeTransform[F, T, C]
trait RootTreeTransform[F, T, C]
trait TypeApplyTreeTransform[F, T, C]
trait KnownTreeFragments[F, T, C]
trait CpsTreeScope[F, T, C]
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited classlikes

case class AppendCpsTree(frs: CpsTree, snd: CpsTree) extends CpsTree

append cps tree, which is frs and then snd. we use this representation instead Mapped/Flatmapped in cases, where we later can apply await to append term and simplify tree instead wrapping awaited tree in extra flatMap

append cps tree, which is frs and then snd. we use this representation instead Mapped/Flatmapped in cases, where we later can apply await to append term and simplify tree instead wrapping awaited tree in extra flatMap

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all
case class ApplyArgByNameRecord(term: Term, index: Int, cpsTree: CpsTree, optShiftType: Option[ApplicationShiftType]) extends ApplyArgRecord

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ApplyArgLambdaRecord(term: Term, index: Int, cpsBody: CpsTree, optShiftType: Option[ApplicationShiftType], existsLambdaUnshift: Boolean, owner: Symbol) extends ApplyArgRecord

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ApplyArgNamedRecord(term: NamedArg, name: String, nested: ApplyArgRecord) extends ApplyArgRecord

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ApplyArgNoPrecalcTermRecord(term: Term, index: Int, isChanged: Boolean, isCpsDirect: Boolean) extends ApplyArgRecord

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ApplyArgPrecalcTermRecord(term: Term, index: Int, termCpsTree: CpsTree, valDef: ValDef, ident: Term, isCpsDirect: Boolean) extends ApplyArgRecord

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait ApplyArgRecord

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class ApplyArgRepeatRecord(term: Repeated, index: Int, elements: List[ApplyArgRecord], seqTypeTree: TypeTree) extends ApplyArgRecord

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ApplyArgsSummaryProperties(step1: ApplyArgsSummaryPropertiesStep1, usePrepend: Boolean)

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
case class ApplyArgsSummaryPropertiesStep1(size: Int, hasAsync: Boolean, hasShiftedLambda: Boolean, shouldBeChangedSync: Boolean, hasCpsDirect: Boolean)

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
ApplyArgRecordScope
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed abstract class AsyncCpsTree extends CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
class CpsTree
class Object
trait Matchable
class Any
Known subtypes
case class AsyncLambdaCpsTree(owner: Symbol, originLambda: Term, params: List[ValDef], body: CpsTree, otpe: TypeRepr) extends CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all
case class AwaitAsyncCpsTree(nested: CpsTree, otpe: TypeRepr) extends AsyncCpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class AsyncCpsTree
class CpsTree
class Object
trait Matchable
class Any
Show all
case class AwaitSyncCpsTree(owner: Symbol, origin: Term, otpe: TypeRepr) extends AsyncCpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class AsyncCpsTree
class CpsTree
class Object
trait Matchable
class Any
Show all
object B2

Attributes

Inherited from:
RootTreeTransform
Supertypes
class Object
trait Matchable
class Any
case class BlockCpsTree(owner: Symbol, prevs: Queue[Statement], last: CpsTree) extends CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all
object BlockCpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
case class BuildApplyArgsAcc(posIndex: Int, paramIndex: Int, wasNamed: Boolean, inRepeat: Boolean, inNamed: Boolean, records: Seq[ApplyArgRecord], filledNamed: Set[Int])

Attributes

Inherited from:
ApplyArgBuilderScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class CallChainSubstCpsTree(owner: Symbol, origin: Term, shifted: Term, otpe: TypeRepr) extends CpsTree

when we have swhifted function, which should return F[A] but we want to have in F[A] methods with special meaning, which should be performed on F[_] before jumping into monad (exampe: Iterable.withFilter) we will catch in ApplyTree such methods and substitute to appropriative calls of shifted.

when we have swhifted function, which should return F[A] but we want to have in F[A] methods with special meaning, which should be performed on F[_] before jumping into monad (exampe: Iterable.withFilter) we will catch in ApplyTree such methods and substitute to appropriative calls of shifted.

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all
sealed abstract class CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any

Attributes

Inherited from:
MethodParamsDescriptorScope
Supertypes
class Object
trait Matchable
class Any
case object EmptyCpsTree extends CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
MethodParamsDescriptorScope
Supertypes
class Object
trait Matchable
class Any
case class FlatMappedCpsTree(prev: CpsTree, opm: Term => Term, otpe: TypeRepr) extends AsyncCpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class AsyncCpsTree
class CpsTree
class Object
trait Matchable
class Any
Show all
sealed trait InlinedBindingRecord

Attributes

Inherited from:
InlinedTreeTransform
Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class InlinedBindingsRecord(changes: HashMap[Symbol, InlinedBindingRecord], newBindings: List[Definition], awaitVals: List[ValDef])

Attributes

Inherited from:
InlinedTreeTransform
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class InlinedCpsTree(owner: Symbol, origin: Inlined, bindings: List[Definition], nested: CpsTree) extends CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all
case class InlinedFunBindingRecord(newSym: Symbol, cpsTree: CpsTree, oldValDef: ValDef, newResultType: TypeRepr) extends InlinedBindingRecord

Attributes

Inherited from:
InlinedTreeTransform
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class InlinedValBindingRecord(newSym: Symbol, cpsTree: CpsTree, oldValDef: ValDef) extends InlinedBindingRecord

Attributes

Inherited from:
InlinedTreeTransform
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class MappedCpsTree(prev: CpsTree, op: Term => Term, otpe: TypeRepr) extends AsyncCpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class AsyncCpsTree
class CpsTree
class Object
trait Matchable
class Any
Show all
case class MessageWithPos(message: String, pos: Position)

Attributes

Inherited from:
TreeTransformScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
MethodParamsDescriptorScope
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
MethodParamsDescriptorScope
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Inherited from:
MethodParamsDescriptorScope
Supertypes
class Object
trait Matchable
class Any
object O

Attributes

Inherited from:
ApplyArgBuilderScope
Supertypes
class Object
trait Matchable
class Any
case class PartialShiftedApply(shiftType: ApplicationShiftType, shifted: Term)

Application with one list of params.

Application with one list of params.

Attributes

Inherited from:
PartialShiftedApplyScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class PureCpsTree(owner: Symbol, origin: Statement, isChanged: Boolean) extends CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all
case class SelectTypeApplyCpsTree(origin: Option[Term], nested: CpsTree, targs: List[TypeTree], selects: List[SelectTypeApplyRecord], otpe: TypeRepr, changed: Boolean) extends CpsTree

represent select expression, which can be in monad or outside monad.

represent select expression, which can be in monad or outside monad.

constructor is not devoted to used directly: use SelectTypeApplyCpsTree.create instead. selects is reversed (i.e. external added to head)

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
case class SelectTypeApplyRecord(prevTpe: TypeRepr, symbol: Symbol, targs: List[TypeTree], level: Int)

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ValCpsTree(owner: Symbol, valDef: ValDef, rightPart: CpsTree, nested: CpsTree, canBeLambda: Boolean) extends CpsTree

Attributes

Inherited from:
CpsTreeScope
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all

Value members

Inherited methods

def adoptContextInMyAwait(awaitTerm: Term, arg: Term, monadContext: Term): Term

Attributes

Inherited from:
AwaitTreeTransform
def asyncShift(t: Term, shiftedSymbols: Set[Symbol]): Term

Attributes

Inherited from:
AsyncTreeShifter
def asyncShiftCaseDef(cd: CaseDef, shiftedSymbols: Set[Symbol]): CaseDef

Attributes

Inherited from:
AsyncTreeShifter
def asyncShiftDefinition(t: Definition, shiftedSymbols: Set[Symbol]): Definition

Attributes

Inherited from:
AsyncTreeShifter
def asyncShiftStatement(t: Statement, shiftedSymbols: Set[Symbol]): Statement

Attributes

Inherited from:
AsyncTreeShifter
def blockApplyValueDiscard(t: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
BlockTreeTransform
def blockBuildAwaitValueDiscard(discardTerm: Term, p: Term): Term

Attributes

Inherited from:
BlockTreeTransform
def blockCheckValueDiscarded(t: Term): Boolean

Attributes

Inherited from:
BlockTreeTransform
def buildApply(cpsFun: CpsTree, fun: Term, argRecords: Seq[ApplyArgRecord], applyTerm: Apply, argsProperties: ApplyArgsSummaryProperties, inShiftedCallChain: Boolean, tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def buildApplyPrependArgsFlatMaps(cpsFun: CpsTree, fun: Term, argsRecords: Seq[ApplyArgRecord], applyTerm: Apply, argsProperties: ApplyArgsSummaryProperties, unpure: Boolean, tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def buildShiftedApply(cpsFun: CpsTree, fun: Term, argRecords: Seq[ApplyArgRecord], withAsync: Boolean, tails: List[Seq[ApplyArgRecord]], applyTerm: Apply)(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def checkLambdaDef(term: Term): Option[Term]

Attributes

Inherited from:
InlinedTreeTransform
def cpsShiftedMethodType(paramNames: List[String], paramTypes: List[TypeRepr], otpe: TypeRepr): MethodType

method type for (p1 ... pn) => F[otpe]

method type for (p1 ... pn) => F[otpe]

Attributes

Inherited from:
LambdaTreeTransform
def exprToTree[T](expr: CpsExpr[F, T], e: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
RootTreeTransform
def findAsyncShiftTerm(e: Term): (ImplicitSearchResult, TypeRepr)

Attributes

Inherited from:
ApplyTreeTransform
def generateAwaitFor(term: Term, tpe: TypeRepr): Term

Attributes

Inherited from:
InlinedTreeTransform
def handleArgs1(applyTerm: Apply, fun: Term, cpsFun: CpsTree, args: List[Term], tails: List[Seq[ApplyArgRecord]], unpure: Boolean)(owner: Symbol): CpsTree

How to handle arguments? We want keep evaluation order from left to right, so, imagine we have function f(a1,a2,a3) and a2 is async, a1, a3 - sync. we will transform this to

How to handle arguments? We want keep evaluation order from left to right, so, imagine we have function f(a1,a2,a3) and a2 is async, a1, a3 - sync. we will transform this to

{ val arg1 = a1;
  transform(a2).flatMap( x =>
     { val arg2 = x;
       val arg3 = a3;
       f(arg1, arg2, arg3)
}    }

more generally we at first generate block: { arg1 = a1; ..... argN = aN; f(arg1,...argN) } and then transform one, knowing that all arguments to f are sync (of course, if all arguments are sync, we just call f(arg1,... arg2) without all this machinery)

Value parameters

applyTerm

= Apply(fun, args) - origin apply

args
  • first argument list
fun
  • function to apply (with type-paerameters)
tails
  • next argument lists if any
unpure
  • if true, that this is call from shifted substitution, which is already return F[_] by design.

Attributes

Inherited from:
ApplyTreeTransform
def handleBooleanAndOr(applyTerm: Apply, fun: Term, x: Term, args: List[Term])(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def handleFun(applyTerm: Apply, fun: Term, args: List[Term], tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def handleFunApply(applyTerm: Apply, fun: Term, args: List[Term], fun1: Term, args1: List[Term], tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def handleFunIdent(applyTerm: Apply, fun: Term, args: List[Term], name: String, tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def handleFunSelect(applyTerm: Apply, fun: Term, args: List[Term], obj: Term, methodName: String, tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def handleFunTypeApply(applyTerm: Apply, fun: Term, args: List[Term], obj: Term, targs: List[TypeTree], tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

applyTerm = Apply(fun, args) fun = TypeApply(obj,targs)

applyTerm = Apply(fun, args) fun = TypeApply(obj,targs)

Attributes

Inherited from:
ApplyTreeTransform
def isInMonad(tpe: TypeRepr): Boolean

Attributes

Inherited from:
TreeTransformScope
def posExpr(t: Term): Expr[Any]

Attributes

Inherited from:
TreeTransformScope
def posExprs(terms: Term*): Expr[Any]

Attributes

Inherited from:
TreeTransformScope
def runApply(applyTerm: Apply, fun: Term, args: List[Term], tails: List[Seq[ApplyArgRecord]])(owner: Symbol): CpsTree

case Apply(fun,args) transform application

case Apply(fun,args) transform application

tails -- list of prepared sequence of curried arguments.

Attributes

Inherited from:
ApplyTreeTransform
def runAwait(term: Term, arg: Term, awaitCpsMonadType: TypeRepr, awaitCpsMonadConversion: Term, awaitCpsMonadContext: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
AwaitTreeTransform
def runBlock(block: Block, prevs: List[Statement], last: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
BlockTreeTransform
def runInlined(origin: Inlined)(owner: Symbol): CpsTree

Attributes

Inherited from:
InlinedTreeTransform
def runLambda(lambdaTerm: Term, params: List[ValDef], body: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
LambdaTreeTransform
def runMatch(matchTerm: Match)(owner: Symbol): CpsTree

Attributes

Inherited from:
MatchTreeTransform
def runMyAwait(awaitTerm: Term, arg: Term, context: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
AwaitTreeTransform
def runNonLocalReturnsReturning(applyTerm: Apply, fun: Term, targs: List[TypeTree], args: List[Term])(owner: Symbol): CpsTree

Attributes

Inherited from:
NonLocalReturnsTreeTransform
def runNonLocalReturnsThrowReturn(throwReturnApplyReturner: Apply, throwReturnApplyResult: Apply, arg: Term, targs: List[TypeTree], returner: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
NonLocalReturnsTreeTransform
def runOtherAwait(awaitTerm: Term, arg: Term, targ: TypeRepr, awaitCpsMonadConversion: Term, myMonadContext: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
AwaitTreeTransform
def runRoot(term: Term, muted: Boolean)(owner: Symbol): CpsTree

Attributes

Inherited from:
RootTreeTransform
def runRootUneta(term: Term, muted: Boolean)(owner: Symbol): CpsTree

Attributes

Inherited from:
RootTreeTransform
def runSelect(selectTerm: Select)(owner: Symbol): CpsTree

Attributes

Inherited from:
SelectTreeTransform
def runSelectOuter(term: SelectOuter)(owner: Symbol): CpsTree

Attributes

Inherited from:
SelectOuterTreeTransform
def runTypeApply(applyTerm: Term, fun: Term, targs: List[TypeTree])(owner: Symbol): CpsTree

Attributes

Inherited from:
TypeApplyTreeTransform
def runValDefFromBlock(block: Block, valDef: ValDef)(owner: Symbol): CpsTree

Attributes

Inherited from:
ValDefTreeTransform
def safeShow(t: Tree): String

Attributes

Inherited from:
TreeTransformScope
def safeTypeShow(tp: TypeRepr): String

Attributes

Inherited from:
TreeTransformScope
def sameSelect(funTerm: Term, name: String, targs: List[TypeTree], args: List[Term])(owner: Symbol): Option[Term]

Attributes

Inherited from:
ApplyTreeTransform
def shiftedApplyCps(funCpsTree: CpsTree, argRecords: Seq[ApplyArgRecord], argTails: List[Seq[ApplyArgRecord]], applyTerm: Term, withAsync: Boolean)(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def shiftedApplyTerm(funTerm: Term, argRecords: Seq[ApplyArgRecord], withAsync: Boolean): PartialShiftedApply

Attributes

Inherited from:
ApplyTreeTransform
def shiftedLambdaType(tpe: TypeRepr): TypeRepr

Attributes

Inherited from:
ApplyTreeTransform
def shiftedLambdaTypeTree(tpt: TypeTree): TypeTree

Attributes

Inherited from:
ApplyTreeTransform
def shiftedResultCpsTree(origin: Term, shifted: Term)(owner: Symbol): CpsTree

Attributes

Inherited from:
ApplyTreeTransform
def termIsNoOrderDepended(x: Term): Boolean

Attributes

Inherited from:
ApplyArgRecordScope
def unitTerm: Literal

Attributes

Inherited from:
TreeTransformScope
def valDefApplyMemoization(valDef: ValDef, cpsRhs: CpsTree, rhs: Term): CpsTree

Attributes

Inherited from:
ValDefTreeTransform
def withInlineBindings(owner: Symbol, origin: Inlined, tree: CpsTree): CpsTree

Attributes

Inherited from:
ApplyTreeTransform

Concrete fields

override val cpsCtx: TransformationContext[F, T, C]

Inherited fields

lazy val adoptCpsedCallSymbol: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val awaitSymbol: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val cpsNotChangeSymbol: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val flatMapSymbol: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val logicalAndSym: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val logicalNotSym: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val logicalOrSym: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val mapSymbol: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val monadTypeTree: Inferred

Attributes

Inherited from:
KnownTreeFragments

Attributes

Inherited from:
KnownTreeFragments
lazy val nonFatalUnapplySym: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val nonLocalReturnsReturningSym: Symbol

Attributes

Inherited from:
KnownTreeFragments
lazy val nonLocalReturnsSym: Symbol

Attributes

Inherited from:
KnownTreeFragments

Attributes

Inherited from:
KnownTreeFragments
lazy val objAsyncShift: TypeRepr

Attributes

Inherited from:
KnownTreeFragments
lazy val partialFunctionType: TypeRepr

Attributes

Inherited from:
KnownTreeFragments
lazy val pureSymbol: Symbol

Attributes

Inherited from:
KnownTreeFragments

Attributes

Inherited from:
KnownTreeFragments

Attributes

Inherited from:
KnownTreeFragments

Attributes

Inherited from:
KnownTreeFragments

Extensions

Inherited extensions

extension (otherCake: TreeTransformScope[_[_], _, _])(otherCake: TreeTransformScope[_[_], _, _])
def adopt(t: Term): Term

Attributes

Inherited from:
CpsTreeScope
def adoptStatement(t: Statement): Statement

Attributes

Inherited from:
CpsTreeScope
def adoptSymbol(t: Symbol): Symbol

Attributes

Inherited from:
CpsTreeScope
def adoptTerm(t: Term): Term

Attributes

Inherited from:
CpsTreeScope
def adoptTermFun(op: Term => Term): Term => Term

Attributes

Inherited from:
CpsTreeScope
def adoptType(t: TypeRepr): TypeRepr

Attributes

Inherited from:
CpsTreeScope

Implicits

Implicits

implicit override val qctx: Quotes

Inherited implicits

implicit val ccType: Type[C]

Attributes

Inherited from:
TreeTransformScope
implicit val ctType: Type[T]

Attributes

Inherited from:
TreeTransformScope
implicit val fType: Type[F]

Attributes

Inherited from:
TreeTransformScope