final class ClassInfo extends AnyRef
- Alphabetic
- By Inheritance
- ClassInfo
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ClassInfo(name: ClassName, kind: ClassKind, jsClassCaptures: Option[List[ParamDef]], allFieldDefs: List[FieldDef], classImplementsAnyInterface: Boolean, hasInstances: Boolean, isAbstract: Boolean, hasRuntimeTypeInfo: Boolean, jsNativeLoadSpec: Option[JSNativeLoadSpec], jsNativeMembers: Map[MethodName, JSNativeLoadSpec], staticFieldMirrors: Map[FieldName, List[String]], _specialInstanceTypes: Int, resolvedMethodInfos: Map[MethodName, ConcreteMethodInfo], tableEntries: List[MethodName], _itableIdx: Int)
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
- val allFieldDefs: List[FieldDef]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val classImplementsAnyInterface: Boolean
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
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()
- val hasInstances: Boolean
- val hasRuntimeTypeInfo: Boolean
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val isAbstract: Boolean
-
def
isAncestorOfHijackedClass: Boolean
Is this class an ancestor of any hijacked class?
Is this class an ancestor of any hijacked class?
This includes but is not limited to the hijacked classes themselves, as well as
jl.Object
. -
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isInterface: Boolean
-
def
itableIdx: Int
Returns the index of this interface's itable in the classes' interface tables.
Returns the index of this interface's itable in the classes' interface tables.
Only interfaces that have instances get an itable index.
- val jsClassCaptures: Option[List[ParamDef]]
- val jsNativeLoadSpec: Option[JSNativeLoadSpec]
- val jsNativeMembers: Map[MethodName, JSNativeLoadSpec]
- val kind: ClassKind
- val name: ClassName
-
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()
- val resolvedMethodInfos: Map[MethodName, ConcreteMethodInfo]
-
val
specialInstanceTypes: Int
A bitset of the
jsValueType
s corresponding to hijacked classes that extend this class.A bitset of the
jsValueType
s corresponding to hijacked classes that extend this class.This value is used for instance tests against this class. A JS value
x
is an instance of this type iffjsValueType(x)
is a member of this bitset. Because of how a bitset works, this means testing the following formula:((1 << jsValueType(x)) & specialInstanceTypes) != 0
For example, if this class is
Comparable
, we want the bitset to contain the values forboolean
,string
andnumber
(but notundefined
), becausejl.Boolean
,jl.String
andjl.Double
implementComparable
.This field is initialized with 0, and augmented during preprocessing by calls to
addSpecialInstanceType
.This technique is used both for static
isInstanceOf
tests as well as reflective tests throughClass.isInstance
. For the latter, this value is stored intypeData.specialInstanceTypes
. For the former, it is embedded as a constant in the generated code.See the
isInstance
andgenInstanceTest
helpers.Special cases: this value remains 0 for all the numeric hijacked classes except
jl.Double
, sincejsValueType(x) == JSValueTypeNumber
is not enough to deduce thatx.isInstanceOf[Int]
, for example. - val staticFieldMirrors: Map[FieldName, List[String]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val tableEntries: List[MethodName]
-
def
toString(): String
- Definition Classes
- ClassInfo → 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()