Interflow

class Interflow(val config: Config)(implicit val analysis: Result) extends Visit with Opt with NoOpt with Eval with Combine with Inline with PolyInline with Intrinsics with Log
Companion:
object
trait Log
trait Inline
trait Combine
trait Eval
trait NoOpt
trait Opt
trait Visit
class Object
trait Matchable
class Any

Value members

Concrete methods

def allTodo(): Seq[Member]
def blockFresh: Fresh
def currentFreshScope: ScopedVar[Fresh]
def currentLexicalScopes: ScopedVar[UnrolledBuffer[LexicalScope]]
def getDone(name: Member): Define
def getModulePurity(name: Top): Boolean
def getOriginal(name: Member): Define
def hasModulePurity(name: Top): Boolean
def hasOriginal(name: Member): Boolean
def hasStarted(name: Member): Boolean
def inliningBacktrace: SymbolsStack
def isDenylisted(name: Member): Boolean
def isDone(name: Member): Boolean
def markDenylisted(name: Member): Unit
def markStarted(name: Member): Unit
def maybeDone(name: Member): Option[Define]
def maybeOriginal(name: Member): Option[Define]
def popTodo(): Global
def pushBlockFresh(value: Fresh): Unit
def pushContext(value: String): Unit
def pushTodo(name: Member): Unit
def result(): Seq[Defn]
def setDone(name: Member, value: Define): Unit
def setModulePurity(name: Top, value: Boolean): Unit

Inherited methods

def adapt(args: Seq[Val], sig: Function)(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Seq[Val]
Inherited from:
Inline
def adapt(value: Val, ty: Type)(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Val
Inherited from:
Inline
def argumentTypes(name: Member): Seq[Type]
Inherited from:
Visit
def combine(conv: Conv, ty: Type, value: Val)(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Val
Inherited from:
Combine
def combine(comp: Comp, ty: Type, l: Val, r: Val)(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Val
Inherited from:
Combine
def combine(bin: Bin, ty: Type, l: Val, r: Val)(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Val
Inherited from:
Combine
def debug[T](msg: String)(f: => T): T
Inherited from:
Log
def duplicateName(name: Member, argtys: Seq[Type]): Member
Inherited from:
Visit
def eval(value: Val)(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Val
Inherited from:
Eval
def eval(conv: Conv, ty: Type, value: Val)(implicit state: State): Val
Inherited from:
Eval
def eval(comp: Comp, ty: Type, l: Val, r: Val)(implicit state: State): Val
Inherited from:
Eval
def eval(bin: Bin, ty: Type, l: Val, r: Val)(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Val
Inherited from:
Eval
def eval(op: Op)(implicit state: State, analysis: Result, srcPosition: SourcePosition, scopeId: ScopeId): Val
Inherited from:
Eval
def in[T](msg: String)(f: => T): T
Inherited from:
Log
def inline(name: Member, args: Seq[Val])(implicit state: State, analysis: Result, parentScopeId: ScopeId): Val
Inherited from:
Inline
Inherited from:
Eval
def intrinsic(ty: Function, name: Member, rawArgs: Seq[Val])(implicit state: State, srcPosition: SourcePosition, scopeId: ScopeId): Option[Val]
Inherited from:
Intrinsics
def log(msg: => String): Unit
Inherited from:
Log
def noOpt(defn: Define): Unit
Inherited from:
NoOpt
def noOptGlobal(name: Global): Unit
Inherited from:
NoOpt
def noOptInst(inst: Inst): Unit
Inherited from:
NoOpt
def noOptInsts(insts: Seq[Inst]): Unit
Inherited from:
NoOpt
def noOptNext(next: Next): Unit
Inherited from:
NoOpt
def noOptOp(op: Op): Unit
Inherited from:
NoOpt
def noOptVal(value: Val): Unit
Inherited from:
NoOpt
def opt(name: Member): Define
Inherited from:
Opt
def originalFunctionType(name: Member): Function
Inherited from:
Visit
def originalName(name: Member): Member
Inherited from:
Visit
def polyInline(op: Method, args: Seq[Val])(implicit state: State, analysis: Result, srcPosition: SourcePosition, scopeIdId: ScopeId): Val
Inherited from:
PolyInline
def process(insts: Array[Inst], debugInfo: DebugInfo, args: Seq[Val], state: State, doInline: Boolean, retTy: Type, parentScopeId: ScopeId): Seq[MergeBlock]
Inherited from:
Opt
def run(insts: Array[Inst], offsets: Map[Local, Int], from: Local, debugInfo: DebugInfo, scopeMapping: ScopeId => ScopeId)(implicit state: State): Cf
Inherited from:
Eval
def shallDuplicate(name: Member, argtys: Seq[Type]): Boolean
Inherited from:
Visit
def shallInline(name: Member, args: Seq[Val])(implicit state: State, analysis: Result): Boolean
Inherited from:
Inline
def shallOpt(name: Member): Boolean
Inherited from:
Opt
def shallPolyInline(op: Method, args: Seq[Val])(implicit state: State, analysis: Result): Boolean
Inherited from:
PolyInline
def shallVisit(name: Member): Boolean
Inherited from:
Visit
def visitDuplicate(name: Member, argtys: Seq[Type]): Option[Define]
Inherited from:
Visit
Inherited from:
Visit
def visitEntry(name: Global): Unit
Inherited from:
Visit
def visitLoop()(implicit ec: ExecutionContext): Future[Unit]
Inherited from:
Visit
def visitMethod(name: Member): Unit
Inherited from:
Visit
def visitRoot(name: Member): Unit
Inherited from:
Visit
def withLogger(f: (String => Unit) => Unit): Unit
Inherited from:
Log

Concrete fields

Inherited fields

Inherited from:
Intrinsics
val arrayIntrinsics: Set[Global]
Inherited from:
Intrinsics
Inherited from:
Intrinsics
Inherited from:
Intrinsics
val intrinsics: Set[Global]
Inherited from:
Intrinsics
Inherited from:
Eval

Implicits

Implicits

implicit val analysis: Result
implicit val platform: PlatformInfo