SymbolTable

mill.codesig.JvmModel.SymbolTable
class SymbolTable

Manages an interning cache for common JvmModel data types. This ensures that once a data type is constructed, the same instance is re-used going forward for any constructions with identical arguments. This reduces total memory usage and lets us replace structural hashing/equality with instance-identity hashing/equality, improving performance.

Attributes

Source
JvmModel.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

object Desc extends Table[String, Desc]

Attributes

Source
JvmModel.scala
Supertypes
class SymbolTable.this.Table[String, Desc]
class Object
trait Matchable
class Any
Self type
SymbolTable.this.SymbolTable.this.Desc.type
object JCls extends Table[String, Cls]

Attributes

Source
JvmModel.scala
Supertypes
class SymbolTable.this.Table[String, Cls]
class Object
trait Matchable
class Any
Self type
SymbolTable.this.SymbolTable.this.JCls.type
object MethodCall extends Table[(Cls, InvokeType, String, Desc), MethodCall]

Attributes

Source
JvmModel.scala
Supertypes
class SymbolTable.this.Table[(Cls, InvokeType, String, Desc), MethodCall]
class Object
trait Matchable
class Any
Self type
object MethodDef extends Table[(Cls, MethodSig), MethodDef]

Attributes

Source
JvmModel.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object MethodSig extends Table[(Boolean, String, Desc), MethodSig]

Attributes

Source
JvmModel.scala
Supertypes
class SymbolTable.this.Table[(Boolean, String, Desc), MethodSig]
class Object
trait Matchable
class Any
Self type
abstract class Table[K, V]

Attributes

Source
JvmModel.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object SymbolTable.this.Desc
object SymbolTable.this.JCls
object SymbolTable.this.MethodCall
object SymbolTable.this.MethodDef
object SymbolTable.this.MethodSig