/// /// import { PointerType, CompleteClassType } from "../../compilation/types"; import { ExpressionContext, ConstructDescription } from "../../compilation/contexts"; import { SuccessfullyCompiled, RuntimeConstruct } from "../CPPConstruct"; import { Expression, t_TypedExpression } from "./Expression"; import { ThisExpressionOutlet } from "../../../view/constructs/ExpressionOutlets"; import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet"; import { CompiledTemporaryDeallocator } from "../TemporaryDeallocator"; import { ThisExpressionASTNode } from "../../../ast/ast_expressions"; import { SimpleRuntimeExpression } from "./SimpleRuntimeExpression"; export declare class ThisExpression extends Expression { readonly construct_type = "this_expression"; readonly type?: PointerType; readonly valueCategory = "prvalue"; constructor(context: ExpressionContext, ast: ThisExpressionASTNode); static createFromAST(ast: ThisExpressionASTNode, context: ExpressionContext): ThisExpression; createDefaultOutlet(this: CompiledThisExpression, element: JQuery, parent?: ConstructOutlet): ThisExpressionOutlet; describeEvalResult(depth: number): ConstructDescription; } export interface TypedThisExpression = PointerType> extends ThisExpression, t_TypedExpression { readonly type: T; } export interface CompiledThisExpression = PointerType> extends TypedThisExpression, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; } export declare class RuntimeThisExpression = PointerType> extends SimpleRuntimeExpression> { constructor(model: CompiledThisExpression, parent: RuntimeConstruct); protected operate(): void; }