/// /// import { DynamicObject } from "../../runtime/objects"; import { BoundedArrayType, FunctionType, VoidType, PointerToCompleteType as PointerToCompleteObjectType } from "../../compilation/types"; import { ExpressionContext, ConstructDescription } from "../../compilation/contexts"; import { SuccessfullyCompiled, RuntimeConstruct } from "../CPPConstruct"; import { Expression, CompiledExpression, t_TypedExpression } from "./Expression"; import { RuntimeExpression } from "./RuntimeExpression"; import { DeleteExpressionOutlet, DeleteArrayExpressionOutlet } from "../../../view/constructs/ExpressionOutlets"; import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet"; import { CompiledTemporaryDeallocator } from "../TemporaryDeallocator"; import { CompiledFunctionCall, FunctionCall, RuntimeFunctionCall } from "../FunctionCall"; import { DeleteExpressionASTNode, DeleteArrayExpressionASTNode } from "../../../ast/ast_expressions"; import { NewObjectType } from "./NewExpression"; export declare class DeleteExpression extends Expression { readonly construct_type = "delete_expression"; readonly type: VoidType; readonly valueCategory = "prvalue"; readonly operand: Expression; readonly dtor?: FunctionCall; readonly operator = "delete"; constructor(context: ExpressionContext, ast: DeleteExpressionASTNode, operand: Expression); static createFromAST(ast: DeleteExpressionASTNode, context: ExpressionContext): DeleteExpression; createDefaultOutlet(this: CompiledDeleteExpression, element: JQuery, parent?: ConstructOutlet): DeleteExpressionOutlet; describeEvalResult(depth: number): ConstructDescription; } export interface TypedDeleteExpression extends DeleteExpression, t_TypedExpression { } export interface CompiledDeleteExpression extends TypedDeleteExpression, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly operand: CompiledExpression; readonly dtor?: CompiledFunctionCall>; } export declare class RuntimeDeleteExpression extends RuntimeExpression { readonly operand: RuntimeExpression; readonly dtor?: RuntimeFunctionCall>; readonly destroyedObject?: DynamicObject; constructor(model: CompiledDeleteExpression, parent: RuntimeConstruct); protected upNextImpl(): void; protected stepForwardImpl(): void; } export declare class DeleteArrayExpression extends Expression { readonly construct_type = "delete_array_expression"; readonly type: VoidType; readonly valueCategory = "prvalue"; readonly operand: Expression; readonly elementDtor?: FunctionCall; readonly operator = "delete"; constructor(context: ExpressionContext, ast: DeleteArrayExpressionASTNode, operand: Expression); static createFromAST(ast: DeleteArrayExpressionASTNode, context: ExpressionContext): DeleteArrayExpression; createDefaultOutlet(this: CompiledDeleteArrayExpression, element: JQuery, parent?: ConstructOutlet): DeleteArrayExpressionOutlet; describeEvalResult(depth: number): ConstructDescription; } export interface TypedDeleteArrayExpression extends DeleteArrayExpression, t_TypedExpression { } export interface CompiledDeleteArrayExpression extends TypedDeleteArrayExpression, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly operand: CompiledExpression; readonly elementDtor?: CompiledFunctionCall>; } export declare class RuntimeDeleteArrayExpression extends RuntimeExpression { private index; readonly operand: RuntimeExpression; readonly dtors: readonly RuntimeFunctionCall>[]; readonly targetArray?: DynamicObject; constructor(model: CompiledDeleteArrayExpression, parent: RuntimeConstruct); protected upNextImpl(): void; protected stepForwardImpl(): void; }