Scala Compiler2.12.2-20170504-135222-21d12e9 < Back
 

# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package transform
  Definition Classes
    nsc
-  package patmat
  Definition Classes
    transform
-  trait MatchCodeGen extends Interface

  Factory methods used by TreeMakers to make the actual trees.

  Factory methods used by TreeMakers to make the actual trees.

  We have two modes in which to emit trees: optimized (the default) and pure (aka "virtualized": match is parametric in its monad).

  Definition Classes
    patmat
-  trait OptimizedCodegen extends CodegenCore with TypedSubstitution with MatchMonadInterface
  Definition Classes
    MatchCodeGen
- AbsCodegen
- Casegen
- CommonCodegen
- EmptySubstitution
- Substitution
- optimizedCodegen

o

scala.tools.nsc.transform.patmat.MatchCodeGen.OptimizedCodegen

# optimizedCodegen 

###

#### object optimizedCodegen extends CommonCodegen

Source
  MatchCodeGen.scala

Linear Supertypes
OptimizedCodegen.CommonCodegen, OptimizedCodegen.AbsCodegen, AnyRef, Any
 
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. optimizedCodegen
2. CommonCodegen
3. AbsCodegen
4. AnyRef
5. Any

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Type Members

1.  class OptimizedCasegen extends OptimizedCodegen.CommonCodegen with OptimizedCodegen.Casegen

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##(): Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  def _asInstanceOf(b: Global.Symbol, tp: Global.Type): Global.Tree
   Definition Classes
     CommonCodegen → AbsCodegen
5.  def _equals(checker: Global.Tree, binder: Global.Symbol): Global.Tree
   Definition Classes
     CommonCodegen → AbsCodegen
6.  def _isInstanceOf(b: Global.Symbol, tp: Global.Type): Global.Tree
   Definition Classes
     CommonCodegen → AbsCodegen
7.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
8.  def clone(): AnyRef
   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )
9.  def drop(tgt: Global.Tree)(n: Int): Global.Tree
   Definition Classes
     CommonCodegen → AbsCodegen
10.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
11.  def equals(arg0: Any): Boolean
    Definition Classes
      AnyRef → Any
12.  def finalize(): Unit
    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )
13.  def fun(arg: Global.Symbol, body: Global.Tree): Global.Tree
    Definition Classes
      CommonCodegen
14.  final def getClass(): Class[_]
    Definition Classes
      AnyRef → Any
15.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
16.  def index(tgt: Global.Tree)(i: Int): Global.Tree
    Definition Classes
      CommonCodegen → AbsCodegen
17.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
18.  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
19.  def mkZero(tp: Global.Type): Global.Tree
    Definition Classes
      CommonCodegen → AbsCodegen
20.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
21.  final def notify(): Unit
    Definition Classes
      AnyRef
22.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
23.  final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
      AnyRef
24.  def toString(): String
    Definition Classes
      AnyRef → Any
25.  def tupleSel(binder: Global.Symbol)(i: Int): Global.Tree
    Definition Classes
      CommonCodegen → AbsCodegen
26.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
27.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
28.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from OptimizedCodegen.CommonCodegen

### Inherited from OptimizedCodegen.AbsCodegen

### Inherited from AnyRef

### Inherited from Any

### Ungrouped