UNPKG

@awayfl/avm2

Version:

Virtual machine for executing AS3 code

65 lines (63 loc) 4.93 kB
/* * +--------------------------+ * | Base Prototype | * +--------------------------+ * |- axHasPropertyInternal | * |- axHasProperty | +-------------------+ * |- axSetProperty | +-----#| objectPrototype | * |- axGetProperty | | +-------------------+ * |- axSetPublicProperty | | | - sec | * |- axGetSlot |<----+ +-------------------+ * |- axSetSlot | | * | … | | * | | | +-------------------+ * | | +-----#| objectPrototype | * | | +-------------------+ * +--------------------------+ | - sec | * +-------------------+ * ^ * | * | * # * +-----------------+ +------------+ * +-#| Class Object |----------------------->| tPrototype |<-----------------<--------------------+ * | +-----------------+ +------------+ | | * | ^ | | * | | | | * | |--------+ | | * | | | # # * | +------------+ | | +-----------------+ +-----------------+ * | | - traits | # | | Number | | Uint | * | +-----------------+ +------------+ +------------+ | +-----------------+ +-----------------+ * +-#| Class Class |--->| tPrototype |#---->| dPrototype | | | - value | | - value | * | +-----------------+ +------------+ +------------+ | +-----------------+ +-----------------+ * | ^ | * | | | +-----------------+ +-----------------+ * +--------------------------------+----------------------------+-----#| Boolean | | Array | * | | +-----------------+ +-----------------+ * | | | - value | | - value | * | +-----------------+ +------------+ +------------+ | +-----------------+ +-----------------+ * +-#| Class A |--->| tPrototype |#---->| dPrototype |#-+ * | +-----------------+ +------------+ +------------+ +-----------------+ +-----------------+ * | | - traits |--+ ^ | Int | | Function | * | +------------+ | | +-----------------+ +-----------------+ * | ^ | | | - value | | - value | * | | | +--------+ +-----------------+ +-----------------+ * | # | | * | +------------+ | +------------+ | +-----------------+ * | | Object A | +-->| Traits | | | String | * | +------------+ +------------+ | +-----------------+ * | | | - value | * | | +-----------------+ * | | * | | * | | * | | * | | * | +-----------------+ +------------+ +------------+ | * +#|Class B extends A|---->| tPrototype |#---->| dPrototype |#-+ * +-----------------+ +------------+ +------------+ * | - traits | * +------------+ * */