/// /// import { ArrayValueInitializerOutlet, AtomicValueInitializerOutlet, ClassValueInitializerOutlet } from "../../../view/constructs/InitializerOutlet"; import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet"; import { TranslationUnitContext } from "../../compilation/contexts"; import { FunctionEntity, ObjectEntity, UnboundReferenceEntity } from "../../compilation/entities"; import { CPPObject } from "../../runtime/objects"; import { Simulation } from "../../runtime/Simulation"; import { CompiledTemporaryDeallocator } from "../TemporaryDeallocator"; import { AtomicType, BoundedArrayType, CompleteClassType, CompleteObjectType, FunctionType, VoidType } from "../../compilation/types"; import { RuntimeConstruct, SuccessfullyCompiled } from "../CPPConstruct"; import { CompiledFunctionCall, FunctionCall, RuntimeFunctionCall } from "../FunctionCall"; import { Initializer, RuntimeInitializer } from "./Initializer"; export declare abstract class ValueInitializer extends Initializer { static create(context: TranslationUnitContext, target: UnboundReferenceEntity): ReferenceValueInitializer; static create(context: TranslationUnitContext, target: ObjectEntity): AtomicValueInitializer; static create(context: TranslationUnitContext, target: ObjectEntity): ArrayValueInitializer; static create(context: TranslationUnitContext, target: ObjectEntity): ClassValueInitializer; static create(context: TranslationUnitContext, target: ObjectEntity): AtomicValueInitializer | ArrayValueInitializer | ClassValueInitializer; static create(context: TranslationUnitContext, target: ObjectEntity | UnboundReferenceEntity): ReferenceValueInitializer | AtomicValueInitializer | ArrayValueInitializer | ClassValueInitializer; readonly kind = "value"; abstract createRuntimeInitializer(this: CompiledValueInitializer, parent: RuntimeConstruct): RuntimeValueInitializer; } export interface CompiledValueInitializer extends ValueInitializer, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly target: ObjectEntity; } export declare abstract class RuntimeValueInitializer = CompiledValueInitializer> extends RuntimeInitializer { protected constructor(model: C, parent: RuntimeConstruct); } export declare class AtomicValueInitializer extends ValueInitializer { readonly construct_type = "AtomicValueInitializer"; readonly target: ObjectEntity; constructor(context: TranslationUnitContext, target: ObjectEntity); createRuntimeInitializer(this: CompiledAtomicValueInitializer, parent: RuntimeConstruct): RuntimeAtomicValueInitializer; createRuntimeInitializer(this: CompiledValueInitializer, parent: RuntimeConstruct): never; createDefaultOutlet(this: CompiledAtomicValueInitializer, element: JQuery, parent?: ConstructOutlet): AtomicValueInitializerOutlet; explain(sim: Simulation, rtConstruct: RuntimeConstruct): { message: string; }; } export interface CompiledAtomicValueInitializer extends AtomicValueInitializer, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly target: ObjectEntity; } export declare class RuntimeAtomicValueInitializer extends RuntimeValueInitializer> { constructor(model: CompiledAtomicValueInitializer, parent: RuntimeConstruct); protected upNextImpl(): void; stepForwardImpl(): void; } export declare class ReferenceValueInitializer extends ValueInitializer { readonly construct_type = "ReferenceValueInitializer"; readonly target: UnboundReferenceEntity; constructor(context: TranslationUnitContext, target: UnboundReferenceEntity); createRuntimeInitializer(parent: RuntimeConstruct): never; createDefaultOutlet(element: JQuery, parent?: ConstructOutlet): never; explain(sim: Simulation, rtConstruct: RuntimeConstruct): { message: string; }; } export declare class ArrayValueInitializer extends ValueInitializer { readonly construct_type = "ArrayValueInitializer"; readonly target: ObjectEntity; readonly elementInitializers?: ValueInitializer[]; constructor(context: TranslationUnitContext, target: ObjectEntity); createRuntimeInitializer(this: CompiledArrayValueInitializer, parent: RuntimeConstruct): RuntimeArrayValueInitializer; createRuntimeInitializer(this: CompiledValueInitializer, parent: RuntimeConstruct): never; createDefaultOutlet(this: CompiledArrayValueInitializer, element: JQuery, parent?: ConstructOutlet): ArrayValueInitializerOutlet; explain(sim: Simulation, rtConstruct: RuntimeConstruct): { message: string; }; } export interface CompiledArrayValueInitializer extends ArrayValueInitializer, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly target: ObjectEntity; readonly elementInitializers?: CompiledValueInitializer[]; } export declare class RuntimeArrayValueInitializer extends RuntimeValueInitializer> { readonly elementInitializers?: RuntimeValueInitializer[]; private index; constructor(model: CompiledArrayValueInitializer, parent: RuntimeConstruct); protected upNextImpl(): void; stepForwardImpl(): void; } export declare class ClassValueInitializer extends ValueInitializer { readonly construct_type = "ClassValueInitializer"; readonly target: ObjectEntity; readonly ctor?: FunctionEntity>; readonly ctorCall?: FunctionCall; constructor(context: TranslationUnitContext, target: ObjectEntity); createRuntimeInitializer(this: CompiledClassValueInitializer, parent: RuntimeConstruct): RuntimeClassValueInitializer; createRuntimeInitializer(this: CompiledValueInitializer, parent: RuntimeConstruct): never; createDefaultOutlet(this: CompiledClassValueInitializer, element: JQuery, parent?: ConstructOutlet): ClassValueInitializerOutlet; explain(sim: Simulation, rtConstruct: RuntimeConstruct): { message: string; }; } export interface CompiledClassValueInitializer extends ClassValueInitializer, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly target: ObjectEntity; readonly ctor: FunctionEntity>; readonly ctorCall: CompiledFunctionCall>; } export declare class RuntimeClassValueInitializer extends RuntimeValueInitializer> { readonly ctorCall: RuntimeFunctionCall>; private index; readonly target: CPPObject; constructor(model: CompiledClassValueInitializer, parent: RuntimeConstruct); protected upNextImpl(): void; stepForwardImpl(): void; }