@awayfl/avm2
Version:
Virtual machine for executing AS3 code
75 lines (71 loc) • 1.65 kB
text/typescript
import { release } from '@awayfl/swf-loader';
export const enum CONSTANT {
Undefined = 0x00,
Utf8 = 0x01,
Float = 0x02,
Int = 0x03,
UInt = 0x04,
PrivateNs = 0x05,
Double = 0x06,
QName = 0x07,
Namespace = 0x08,
Multiname = 0x09,
False = 0x0A,
True = 0x0B,
Null = 0x0C,
QNameA = 0x0D,
MultinameA = 0x0E,
RTQName = 0x0F,
RTQNameA = 0x10,
RTQNameL = 0x11,
RTQNameLA = 0x12,
NameL = 0x13,
NameLA = 0x14,
NamespaceSet = 0x15,
PackageNamespace = 0x16,
PackageInternalNs = 0x17,
ProtectedNamespace = 0x18,
ExplicitNamespace = 0x19,
StaticProtectedNs = 0x1A,
MultinameL = 0x1B,
MultinameLA = 0x1C,
TypeName = 0x1D,
ClassSealed = 0x01,
ClassFinal = 0x02,
ClassInterface = 0x04,
ClassProtectedNs = 0x08
}
const CONSTANTNames = [
'Undefined',
'Utf8|ClassSealed',
'Float|ClassFinal',
'Int',
'UInt|ClassInterface',
'PrivateNs',
'Double',
'QName',
'Namespace|ClassProtectedNs',
'Multiname',
'False',
'True',
'Null',
'QNameA',
'MultinameA',
'RTQName',
'RTQNameA',
'RTQNameL',
'RTQNameLA',
'NameL',
'NameLA',
'NamespaceSet',
'PackageNamespace',
'PackageInternalNs',
'ProtectedNamespace',
'ExplicitNamespace',
'StaticProtectedNs',
'MultinameL',
'MultinameLA',
'TypeName'];
export function getCONSTANTName(constant: CONSTANT): string {
return release ? String(constant) : CONSTANTNames[constant];
}