NonLubbingTypeFlowInterpreter

dotty.tools.backend.jvm.analysis.NonLubbingTypeFlowInterpreter

A TypeFlowInterpreter which collapses LUBs of non-equal reference types to Object. This could be made more precise by looking up ClassBTypes for the two reference types and using the jvmWiseLUB method.

Attributes

Graph
Supertypes
trait Opcodes
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

Inherited methods

override def binaryOperation(insn: AbstractInsnNode, value1: BasicValue, value2: BasicValue): BasicValue

Attributes

Definition Classes
Inherited from:
TypeFlowInterpreter
def isRef(tp: Type | Null): Boolean

Attributes

Inherited from:
TypeFlowInterpreter
final override def merge(a: BasicValue, b: BasicValue): BasicValue

Attributes

Definition Classes
Inherited from:
TypeFlowInterpreter
override def naryOperation(insn: AbstractInsnNode, values: List[_ <: BasicValue]): BasicValue

Attributes

Definition Classes
Inherited from:
TypeFlowInterpreter

Attributes

Inherited from:
Interpreter

Attributes

Inherited from:
BasicInterpreter
override def newParameterValue(isInstanceMethod: Boolean, local: Int, tpe: Type): BasicValue

Attributes

Definition Classes
Inherited from:
TypeFlowInterpreter

Attributes

Inherited from:
Interpreter
override def newValue(tp: Type | Null): BasicValue

Attributes

Definition Classes
Inherited from:
TypeFlowInterpreter