DottyPrimitives
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 fornull
, and if non-null, callsjava.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.
Value members
Concrete methods
Return the primitive code of the given operation. If the operation is an array get/set, we inspect the type of the receiver to demux the operation.
Return the primitive code of the given operation. If the operation is an array get/set, we inspect the type of the receiver to demux the operation.
- Value parameters:
- fun
The method symbol
- tpe
The type of the receiver object. It is used only for array operations