object optimizedCodegen extends CommonCodegen
- Source
- MatchCodeGen.scala
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- optimizedCodegen
- CommonCodegen
- AbsCodegen
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
- class OptimizedCasegen extends OptimizedCodegen.CommonCodegen with OptimizedCodegen.Casegen
Value Members
-
def
_asInstanceOf(b: Global.Symbol, tp: Global.Type): Global.Tree
- Definition Classes
- CommonCodegen → AbsCodegen
-
def
_equals(checker: Global.Tree, binder: Global.Symbol): Global.Tree
- Definition Classes
- CommonCodegen → AbsCodegen
-
def
_isInstanceOf(b: Global.Symbol, tp: Global.Type): Global.Tree
- Definition Classes
- CommonCodegen → AbsCodegen
-
def
drop(tgt: Global.Tree)(n: Int): Global.Tree
- Definition Classes
- CommonCodegen → AbsCodegen
-
def
fun(arg: Global.Symbol, body: Global.Tree): Global.Tree
- Definition Classes
- CommonCodegen
-
def
index(tgt: Global.Tree)(i: Int): Global.Tree
- Definition Classes
- CommonCodegen → AbsCodegen
-
def
matcher(scrut: Global.Tree, scrutSym: Global.Symbol, restpe: Global.Type)(cases: List[(OptimizedCodegen.Casegen) ⇒ Global.Tree], matchFailGen: Option[(Global.Tree) ⇒ Global.Tree]): Global.Tree
Inline runOrElse and get rid of Option allocations
Inline runOrElse and get rid of Option allocations
runOrElse(scrut: scrutTp)(matcher): resTp = matcher(scrut) getOrElse ${catchAll(
scrut
)} the matcher's optional result is encoded as a flag, keepGoing, where keepGoing == true encodes result.isEmpty, if keepGoing is false, the result Some(x) of the naive translation is encoded as matchRes == x- Definition Classes
- optimizedCodegen → AbsCodegen
-
def
mkZero(tp: Global.Type): Global.Tree
- Definition Classes
- CommonCodegen → AbsCodegen
-
def
tupleSel(binder: Global.Symbol)(i: Int): Global.Tree
- Definition Classes
- CommonCodegen → AbsCodegen
The Scala compiler and reflection APIs.