UNPKG

@awayfl/avm2

Version:

Virtual machine for executing AS3 code

92 lines 3.01 kB
import { AXApplicationDomain } from '../../run/AXApplicationDomain'; import { Namespace } from './Namespace'; import { Multiname } from './Multiname'; import { MetadataInfo } from './MetadataInfo'; import { MethodInfo } from './MethodInfo'; import { MethodBodyInfo } from './MethodBodyInfo'; import { ClassInfo } from './ClassInfo'; import { ScriptInfo } from './ScriptInfo'; import { InstanceInfo } from './InstanceInfo'; import { CONSTANT } from './CONSTANT'; import { IndentingWriter } from '@awayfl/swf-loader'; export declare class ABCFile { private _buffer; ints: Int32Array; uints: Uint32Array; doubles: Float64Array; /** * Environment this ABC is loaded into. * In the shell, this is just a wrapper around an applicationDomain, but in the * SWF player, it's a flash.display.LoaderInfo object. */ env: { app: AXApplicationDomain; url: string; }; get applicationDomain(): AXApplicationDomain; private _stream; private _strings; private _namespaces; private _namespaceSets; private _multinames; private _deferredMultinames; private _metadata; private _methods; private _methodBodies; classes: ClassInfo[]; scripts: ScriptInfo[]; instances: InstanceInfo[]; constructor(env: { app: AXApplicationDomain; url: string; }, _buffer: Uint8Array); private _parseNumericConstants; private _parseStringConstants; private _parseNamespaces; private _parseNamespaceSets; private _parseMultinames; private _parseMultiname; private _checkMagic; /** * String duplicates exist in practice but are extremely rare. */ private _checkForDuplicateStrings; /** * Returns the string at the specified index in the string table. */ getString(i: number): string; /** * Returns the multiname at the specified index in the multiname table. */ getMultiname(i: number): Multiname; /** * Returns the namespace at the specified index in the namespace table. */ getNamespace(i: number): Namespace; /** * Returns the namespace set at the specified index in the namespace set table. */ getNamespaceSet(i: number): Namespace[]; private _parseMethodInfos; private _parseMethodInfo; /** * Returns the method info at the specified index in the method info table. */ getMethodInfo(i: number): MethodInfo; getMethodBodyInfo(i: number): MethodBodyInfo; private _parseMetaData; getMetadataInfo(i: number): MetadataInfo; private _parseInstanceAndClassInfos; private _parseInstanceInfo; private _parseTraits; private _parseTrait; private _parseClassInfos; private _parseClassInfo; private _parseScriptInfos; private _parseScriptInfo; private _parseMethodBodyInfos; private _parseException; getConstant(kind: CONSTANT, i: number): any; trace(writer: IndentingWriter): void; } //# sourceMappingURL=ABCFile.d.ts.map