scala.tools.nsc

# backend

#### package backend

Visibility

1. Public
2. All

### Type Members

1. #### trait JavaPlatform extends Platform

2. #### trait Platform extends AnyRef

   The platform dependent pieces of Global.

3. #### abstract class ScalaPrimitives extends AnyRef

   Scala primitive operations are represented as methods in `Any` and `AnyVal` subclasses.

   Scala primitive operations are represented as methods in `Any` and `AnyVal` subclasses. Here we demultiplex them by providing a mapping from their symbols to integers. Different methods exist for different value types, but with the same meaning (like plus, minus, etc.). They will all be mapped to the same int.

   Note: The three equal methods have the following semantics:

   - `"=="` checks for `null`, and if non-null, calls `java.lang.Object.equals` `(class: Any; modifier: final)`. Primitive: `EQ`
   - `"eq"` usual reference comparison `(class: AnyRef; modifier: final)`. Primitive: `ID`
   - `"equals"` user-defined equality (Java semantics) `(class: Object; modifier: none)`. Primitive: `EQUALS`

   Inspired from the `scalac` compiler.

4. #### trait WorklistAlgorithm extends AnyRef

   Simple implementation of a worklist algorithm.

   Simple implementation of a worklist algorithm. A processing function is applied repeatedly to the first element in the worklist, as long as the stack is not empty.

   The client class should mix-in this class and initialize the worklist field and define the `processElement` method. Then call the `run` method providing a function that initializes the worklist.

   Version

     1.0

   See also

     scala.tools.nsc.backend.icode.Linearizers

### Value Members

1. #### package icode

2. #### package jvm

3. #### package opt

### Ungrouped