trait ExistentialsAndSkolems extends AnyRef
The name of this trait defines the eventual intent better than it does the initial contents.
- Self Type
- SymbolTable
- Alphabetic
- By Inheritance
- ExistentialsAndSkolems
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
deriveFreshSkolems(tparams: List[SymbolTable.Symbol]): List[SymbolTable.Symbol]
Map a list of type parameter symbols to skolemized symbols, which can be deskolemized to the original type parameter.
Map a list of type parameter symbols to skolemized symbols, which can be deskolemized to the original type parameter. (A skolem is a representation of a bound variable when viewed inside its scope.) !!!Adriaan: this does not work for hk types.
Skolems will be created at level 0, rather than the current value of
skolemizationLevel
. (See scala/bug#7782) -
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
existentialTransform[T](rawSyms: List[SymbolTable.Symbol], tp: SymbolTable.Type, rawOwner: SymbolTable.Symbol = NoSymbol)(creator: (List[SymbolTable.Symbol], SymbolTable.Type) ⇒ T): T
Given a set
rawSyms
of term- and type-symbols, and a typetp
, produce a set of fresh type parameters and a type so that it can be abstracted to an existential type.Given a set
rawSyms
of term- and type-symbols, and a typetp
, produce a set of fresh type parameters and a type so that it can be abstracted to an existential type. Every type symbolT
inrawSyms
is mapped to a clone. Every term symbolx
of typeT
inrawSyms
is given an associated type symbol of the following form:type x.type <: T with Singleton
The name of the type parameter is
x.type
, to produce nice diagnostics. The Singleton parent ensures that the type parameter is still seen as a stable type. Type symbols in rawSyms are fully replaced by the new symbols. Term symbols are also replaced, except for term symbols of an Ident tree, where only the type of the Ident is changed. -
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isRawParameter(sym: SymbolTable.Symbol): Boolean
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
packSymbols(hidden: List[SymbolTable.Symbol], tp: SymbolTable.Type, rawOwner: SymbolTable.Symbol = NoSymbol): SymbolTable.Type
Compute an existential type from hidden symbols
hidden
and typetp
.Compute an existential type from hidden symbols
hidden
and typetp
.- hidden
The symbols that will be existentially abstracted
- tp
The original type
- rawOwner
The owner for Java raw types.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()