@awayfl/avm2
Version:
Virtual machine for executing AS3 code
109 lines • 5.14 kB
TypeScript
import { IMetaobjectProtocol } from '../run/IMetaobjectProtocol';
import { RuntimeTraits } from '../abc/lazy/RuntimeTraits';
import { ClassInfo } from '../abc/lazy/ClassInfo';
import { Multiname } from '../abc/lazy/Multiname';
import { AXSecurityDomain } from '../run/AXSecurityDomain';
import { Scope } from '../run/Scope';
import { AXFunction } from '../run/AXFunction';
import { Bytecode } from '../abc/ops';
export declare class ASObject implements IMetaobjectProtocol {
traits: RuntimeTraits;
sec: AXSecurityDomain;
static forceNativeConstructor?: boolean;
static forceNativeMethods?: boolean;
static traits: RuntimeTraits;
static dPrototype: ASObject;
static tPrototype: ASObject;
protected static _methodClosureCache: any;
static classNatives: Object[];
static instanceNatives: Object[];
static sec: AXSecurityDomain;
static classSymbols: any;
static instanceSymbols: any;
static classInfo: ClassInfo;
static axResolveMultiname: (mn: Multiname) => any;
static axHasProperty: (mn: Multiname) => boolean;
static axDeleteProperty: (mn: Multiname) => boolean;
static axCallProperty: (mn: Multiname, argArray: any[], isLex: boolean) => any;
static axCallSuper: (mn: Multiname, scope: Scope, argArray: any[]) => any;
static axConstructProperty: (mn: Multiname, args: any[]) => any;
static axHasPropertyInternal: (mn: Multiname) => boolean;
static axHasOwnProperty: (mn: Multiname) => boolean;
static axSetProperty: (mn: Multiname, value: any, bc: Bytecode) => void;
static axInitProperty: (mn: Multiname, value: any) => void;
static axGetProperty: (mn: Multiname) => any;
static axGetMethod: (name: string) => AXFunction;
static axGetSuper: (mn: Multiname, scope: Scope) => any;
static axSetSuper: (mn: Multiname, scope: Scope, value: any) => void;
static axEnumerableKeys: any[];
static axGetEnumerableKeys: () => any[];
static axHasPublicProperty: (nm: any) => boolean;
static axSetPublicProperty: (nm: any, value: any) => void;
static axGetPublicProperty: (nm: any) => any;
static axCallPublicProperty: (nm: any, argArray: any[]) => any;
static axDeletePublicProperty: (nm: any) => boolean;
static axSetNumericProperty: (nm: number, value: any) => void;
static axGetNumericProperty: (nm: number) => any;
static axCoerce: (v: any) => any;
static axConstruct: (argArray?: any[]) => any;
static axNextNameIndex: (index: number) => number;
static axNextName: (index: number) => any;
static axNextValue: (index: number) => any;
static axGetSlot: (i: number) => any;
static axSetSlot: (i: number, value: any) => void;
static axIsType: (value: any) => boolean;
static getPrototypeOf: () => boolean;
static native_isPrototypeOf: (nm: string) => boolean;
static native_hasOwnProperty: (nm: string) => boolean;
static native_propertyIsEnumerable: (nm: string) => boolean;
static native_setPropertyIsEnumerable: (nm: string, enumerable?: boolean) => boolean;
static classInitializer(): void;
static _init(): void;
static init(): void;
static axClass: any;
static axClassName: string;
axClass: any;
axClassName: string;
getPrototypeOf: () => any;
native_isPrototypeOf(v: any): boolean;
native_hasOwnProperty(nm: string): boolean;
native_propertyIsEnumerable(nm: string): boolean;
native_setPropertyIsEnumerable(nm: string, enumerable?: boolean): void;
axResolveMultiname(mn: Multiname): any;
axHasProperty(mn: Multiname): boolean;
axHasPublicProperty(nm: any): boolean;
axSetProperty(mn: Multiname, value: any, bc: Bytecode): void;
axGetProperty(mn: Multiname): any;
protected _methodClosureCache: any;
axGetMethod(name: string): AXFunction;
axGetSuper(mn: Multiname, scope: Scope): any;
axSetSuper(mn: Multiname, scope: Scope, value: any): void;
axDeleteProperty(mn: Multiname): any;
axCallProperty(mn: Multiname, args: any[], isLex: boolean): any;
axCallSuper(mn: Multiname, scope: Scope, args: any[]): any;
axConstructProperty(mn: Multiname, args: any[]): any;
axHasPropertyInternal(mn: Multiname): boolean;
axHasOwnProperty(mn: Multiname): boolean;
axGetEnumerableKeys(): any[];
axGetPublicProperty(nm: any): any;
axSetPublicProperty(nm: any, value: any): void;
axCallPublicProperty(nm: any, argArray: any[]): any;
axDeletePublicProperty(nm: any): boolean;
axGetSlot(i: number): any;
axSetSlot(i: number, value: any): void;
/**
* Gets the next name index of an object. Index |zero| is actually not an
* index, but rather an indicator to start the iteration.
*/
axNextNameIndex(index: number): number;
/**
* Gets the nextName after the specified |index|, which you would expect to
* be index + 1, but it's actually index - 1;
*/
axNextName(index: number): any;
axNextValue(index: number): any;
axSetNumericProperty(nm: number, value: any): void;
axGetNumericProperty(nm: number): any;
axEnumerableKeys: any[];
}
//# sourceMappingURL=ASObject.d.ts.map