@awayfl/avm2
Version:
Virtual machine for executing AS3 code
40 lines • 1.34 kB
TypeScript
import { IGenerator } from './IGenerator';
import { ILexGenerator } from './LexImportsGenerator';
import { Multiname } from '../abc/lazy/Multiname';
import { Scope } from '../run/Scope';
export interface ICallEntry {
name?: Multiname;
alias: string;
isMangled: boolean;
fromLex: boolean;
index: number;
isFunc?: boolean;
methodAlias?: string;
methodImport?: string;
}
/**
* @description Generate a simple call instruction (witout runtime checks) on lexed alliases
*/
export declare class FastCall implements IGenerator {
lexer: ILexGenerator;
scope: Scope;
safeIntrDistance: number;
private _active;
private _imports;
constructor(lexer: ILexGenerator, scope?: Scope);
checkNameToCall(mn: Multiname, propname: string, lex?: boolean): boolean;
mark(alias: string, index: number, isMangled: boolean, name?: Multiname, fromLex?: boolean): void;
sureThatFast(stackAlias: string, method?: string): ICallEntry;
getMethodAlias(stackAlias: string, method?: string): string | null;
kill(stackAlias: string): void;
killFar(index: number): void;
genHeader(ident: string): string;
genBody(): string;
/**
* Drop fastCall cache
*/
drop(): void;
genPost(arr: string[]): string[];
reset(): void;
}
//# sourceMappingURL=FastCall.d.ts.map