dotty.tools.backend.jvm
Members list
Type members
Classlikes
This trait contains code shared between GenBCode and GenASM that depends on types defined in the compiler cake (Global).
Attributes
- Companion
- class
- Supertypes
- Self type
-
BCodeAsmCommon.type
Attributes
- Supertypes
-
trait BCodeSkelBuildertrait BCodeHelperstrait BCodeIdiomaticclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait BCodeSyncAndTryobject Impl
Attributes
- Companion
- object
- Supertypes
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
- Self type
-
BCodeHelpers.type
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
trait BCodeBodyBuildertrait BCodeSkelBuildertrait BCodeHelperstrait BCodeIdiomaticclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
object Impl
The BTypes component defines The BType class hierarchy. BTypes encapsulates all type information that is required after building the ASM nodes. This includes optimizations, geneartion of InnerClass attributes and generation of stack map frames.
The BTypes component defines The BType class hierarchy. BTypes encapsulates all type information that is required after building the ASM nodes. This includes optimizations, geneartion of InnerClass attributes and generation of stack map frames.
This representation is immutable and independent of the compiler data structures, hence it can be queried by concurrent threads.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class BTypesFromSymbols[I]
- Self type
This class mainly contains the method classBTypeFromSymbol, which extracts the necessary information from a symbol and its type to create the corresponding ClassBType. It requires access to the compiler (global parameter).
This component hosts tools and utilities used in the backend that require access to a BTypes
instance.
This component hosts tools and utilities used in the backend that require access to a BTypes
instance.
Attributes
- Supertypes
Attributes
- Supertypes
Collect all super calls to trait members.
Collect all super calls to trait members.
For each super reference to trait member, register a call from the current class to the owner of the referenced member.
This information is used to know if it is safe to remove a redundant mixin class. A redundant mixin class is one that is implemented by another mixin class. As the methods in a redundant mixin class could be implemented with a default abstract method, the redundant mixin class could be required as a parent by the JVM.
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- class
- Supertypes
- Self type
-
CollectSuperCalls.type
Attributes
- Supertypes
- Known subtypes
-
class CoreBTypesFromSymbols[I]
Attributes
- Supertypes
Attributes
- Companion
- class
- Supertypes
- Self type
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.
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.
Attributes
- Supertypes
- Known subtypes
-
class JSPrimitives
Attributes
- Companion
- class
- Supertypes
- Self type
-
GenBCodeOps.type
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object GenBCodeOps
The result of code generation. isArtifact is true
for mirror.
The result of code generation. isArtifact is true
for mirror.
Attributes
- Supertypes
Attributes
- Supertypes
Attributes
- Supertypes
Attributes
- Supertypes
- Known subtypes
-
class NestedClassesCollector[T]
Attributes
- Supertypes
Implements late stages of the backend that don't depend on a Global instance, i.e., optimizations, post-processing and classfile serialization and writing.
Implements late stages of the backend that don't depend on a Global instance, i.e., optimizations, post-processing and classfile serialization and writing.
Attributes
- Supertypes
- Self type
Functionality needed in the post-processor whose implementation depends on the compiler frontend. All methods are synchronized.
Attributes
- Companion
- class
- Supertypes
- Self type
Attributes
- Supertypes
- Self type
-
Primitives.type