abstract class SymbolPairs extends AnyRef
An abstraction for considering symbol pairs. One of the greatest sources of compiler bugs is that symbols can trivially lose their prefixes and turn into some completely different type with the smallest of errors. It is the exception not the rule that type comparisons are done correctly.
This offers a small step toward coherence with two abstractions which come up over and over again:
RelativeTo: operations relative to a prefix SymbolPair: two symbols being related somehow, plus the class in which the relation is being performed
This is only a start, but it is a start.
- Alphabetic
- By Inheritance
- SymbolPairs
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new SymbolPairs()
Type Members
-
abstract
class
Cursor extends AnyRef
The cursor class
- final case class SymbolPair(base: SymbolTable.Symbol, low: SymbolTable.Symbol, high: SymbolTable.Symbol) extends Product with Serializable
Abstract Value Members
- abstract val global: SymbolTable
Concrete 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.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
-
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()
-
def
sameInBaseClass(baseClass: SymbolTable.Symbol)(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean
Are types tp1 and tp2 equivalent seen from the perspective of
baseClass
? For instance List[Int] and Seq[Int] are =:= when viewed from IterableClass. -
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
- @native() @throws( ... )