@awayfl/avm2
Version:
Virtual machine for executing AS3 code
31 lines • 1.34 kB
TypeScript
import { RuntimeTraitInfo } from './RuntimeTraitInfo';
import { Namespace } from './Namespace';
import { Multiname } from './Multiname';
export declare class RuntimeTraits {
readonly superTraits: RuntimeTraits;
readonly protectedNs: Namespace;
readonly protectedNsMappings: Record<string, RuntimeTraitInfo>;
slots: RuntimeTraitInfo[];
private _traits;
private _nextSlotID;
constructor(superTraits: RuntimeTraits, protectedNs: Namespace, protectedNsMappings: Record<string, RuntimeTraitInfo>);
/**
* Adds the given trait and returns any trait that might already exist under that name.
*
* See the comment for `Trait#resolveRuntimeTraits` for an explanation of the lookup scheme.
*/
addTrait(trait: RuntimeTraitInfo): RuntimeTraitInfo;
addSlotTrait(trait: RuntimeTraitInfo): void;
private multinames;
getTraitMultiname(mn: Multiname): RuntimeTraitInfo;
/**
* Returns the trait matching the given multiname parts, if any.
*
* See the comment for `Trait#resolveRuntimeTraits` for an explanation of the lookup scheme.
*/
getTrait(namespaces: Namespace[], name: string): RuntimeTraitInfo;
getTraitsList(): RuntimeTraitInfo[];
getPublicTraitNames(): string[];
getSlot(i: number): RuntimeTraitInfo;
}
//# sourceMappingURL=RuntimeTraits.d.ts.map