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 "../../../base/utilities"; 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 _stringOffsets; private _namespaces; private _namespaceOffsets; private _namespaceSets; private _namespaceSetOffsets; private _multinames; private _multinameOffsets; private _metadata; private _metadataInfoOffsets; private _methods; private _methodBodies; private _methodInfoOffsets; classes: ClassInfo[]; scripts: ScriptInfo[]; instances: InstanceInfo[]; constructor(env: { app: AXApplicationDomain; url: string; }, _buffer: Uint8Array); private _parseConstantPool; private _parseNumericConstants; private _parseStringConstants; private _parseNamespaces; private _parseNamespaceSets; private _consumeMultiname; 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 _consumeMethodInfo; 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; stress(): void; trace(writer: IndentingWriter): void; }