ExprBuffer

scala.scalanative.nscplugin.NirGenExpr.ExprBuffer
class ExprBuffer(using fresh: Fresh) extends FixupBuffer

Attributes

Graph
Supertypes
class FixupBuffer
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

object SafeZoneInstance extends Key[Val]

Attributes

Supertypes
class Key[Val]
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def fromExtern(expectedTy: Type, value: Val)(using SourcePosition): Val
def genAlignmentOf(app: Apply): Val
def genApply(app: Apply): Val
def genApplyMethod(sym: Symbol, statically: Boolean, selfp: Tree, argsp: Seq[Tree])(using SourcePosition): Val
def genApplyModuleMethod(module: Symbol, method: Symbol, args: Seq[Tree])(using SourcePosition): Val
def genApplyStaticMethod(sym: Symbol, receiver: Symbol, argsp: Seq[Tree])(using SourcePosition): Val
def genAssign(tree: Assign): Val
def genBlock(block: Block): Val
def genCQuoteOp(app: Apply): Val
def genCastOp(from: Type, to: Type, value: Val)(using SourcePosition): Val
def genClassFieldRawPtr(app: Apply): Val
def genClosure(tree: Closure): Val
def genExpr(tree: Tree): Val
def genIdent(tree: Ident): Val
def genIf(tree: If): Val
def genIf(retty: Type, condp: Tree, thenp: Tree, elsep: Tree, ensureLinktime: Boolean)(using enclosingPos: SourcePosition): Val
def genJavaSeqLiteral(tree: JavaSeqLiteral): Val
def genLabelDef(label: Labeled): Val
def genLiteral(lit: Literal): Val
def genLoadExtern(ty: Type, externTy: Type, sym: Symbol)(using SourcePosition): Val
def genMatch(m: Match): Val
def genMethodArgs(sym: Symbol, argsp: Seq[Tree]): Seq[Val]
def genModule(sym: Symbol)(using SourcePosition): Val
def genRawSizeCastOp(app: Apply, code: Int): Val
def genReturn(tree: Return): Val
def genReturn(value: Val, from: Option[Local])(using pos: SourcePosition): Val
def genSafeZoneAlloc(app: Apply): Val
def genSelect(tree: Select): Val
def genSizeOf(app: Apply): Val
def genStackalloc(app: Apply): Val
def genStoreExtern(externTy: Type, sym: Symbol, value: Val)(using SourcePosition): Val
def genSynchronized(receiverp: Tree)(bodyGen: ExprBuffer => Val)(using SourcePosition): Val
def genThis(tree: This): Val
def genTry(tree: Try): Val
def genTypeApply(tree: TypeApply): Val
def genTyped(tree: Typed): Val
def genValDef(vd: ValDef): Val
def genWhileDo(wd: WhileDo): Val
def liftStringConcat(tree: Tree): List[Tree]
def toExtern(expectedTy: Type, value: Val)(using SourcePosition): Val

Inherited methods

override def ++=(other: InstructionBuilder): Unit

Attributes

Definition Classes
Inherited from:
FixupBuffer
override def ++=(insts: Seq[Inst]): Unit

Attributes

Definition Classes
Inherited from:
FixupBuffer
override def +=(inst: Inst): Unit

Attributes

Definition Classes
Inherited from:
FixupBuffer
def alignmentOf(ty: Type, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def arrayalloc(ty: Type, init: Val, unwind: Next, zone: Option[Val])(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def arraylength(arr: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def arrayload(ty: Type, arr: Val, idx: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def arraystore(ty: Type, arr: Val, idx: Val, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def as(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def bin(bin: Bin, ty: Type, l: Val, r: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def box(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def branch(value: Val, thenp: Next, elsep: Next)(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def branchLinktime(condition: LinktimeCondition, thenp: Next, elsep: Next)(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def call(ty: Function, ptr: Val, args: Seq[Val], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def classalloc(name: Top, unwind: Next, zone: Option[Val])(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def comp(comp: Comp, ty: Type, l: Val, r: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def conv(conv: Conv, ty: Type, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def copy(value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def dynmethod(obj: Val, sig: Sig, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def elem(ty: Type, ptr: Val, indexes: Seq[Val], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def exists(pred: Inst => Boolean): Boolean

Attributes

Inherited from:
InstructionBuilder
def extract(aggr: Val, indexes: Seq[Int], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def fence(memoryOrder: MemoryOrder)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def field(obj: Val, name: Member, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def fieldload(ty: Type, obj: Val, name: Member, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def fieldstore(ty: Type, obj: Val, name: Member, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def foreach(fn: Inst => Unit): Unit

Attributes

Inherited from:
InstructionBuilder
def insert(aggr: Val, value: Val, indexes: Seq[Int], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def is(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def jump(to: Local, args: Seq[Val])(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def jump(next: Next)(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def label(id: Local, params: Seq[Local])(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def label(id: Local)(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def let(op: Op, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def let(id: Local, op: Op, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def load(ty: Type, ptr: Val, unwind: Next, memoryOrder: Option[MemoryOrder])(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def method(obj: Val, sig: Sig, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def module(name: Top, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def raise(value: Val, unwind: Next)(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def ret(value: Val)(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def size: Int

Attributes

Inherited from:
InstructionBuilder
def sizeOf(ty: Type, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def stackalloc(ty: Type, n: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def store(ty: Type, ptr: Val, value: Val, unwind: Next, memoryOrder: Option[MemoryOrder])(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def switch(value: Val, default: Next, cases: Seq[Next])(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def toSeq: Seq[Inst]

Attributes

Inherited from:
InstructionBuilder
def unbox(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def unreachable(unwind: Next)(implicit pos: SourcePosition): Unit

Attributes

Inherited from:
InstructionBuilder
def var_(ty: Type, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def varload(slot: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder
def varstore(slot: Val, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local

Attributes

Inherited from:
InstructionBuilder