@awayfl/avm2
Version:
Virtual machine for executing AS3 code
92 lines • 3.01 kB
TypeScript
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