/// /// import { ArithmeticType, PointerToCompleteType as PointerToCompleteObjectType } from "../../compilation/types"; import { ExpressionContext, ConstructDescription, SemanticContext } from "../../compilation/contexts"; import { SuccessfullyCompiled, RuntimeConstruct } from "../CPPConstruct"; import { Expression, CompiledExpression, TypedExpression, t_TypedExpression } from "./Expression"; import { RuntimeExpression } from "./RuntimeExpression"; import { PostfixIncrementExpressionOutlet } from "../../../view/constructs/ExpressionOutlets"; import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet"; import { AnalyticConstruct } from "../../../analysis/predicates"; import { CompiledTemporaryDeallocator } from "../TemporaryDeallocator"; import { PostfixIncrementExpressionASTNode } from "../../../ast/ast_expressions"; import { SimpleRuntimeExpression } from "./SimpleRuntimeExpression"; export declare class PostfixIncrementExpression extends Expression { readonly construct_type = "postfix_increment_expression"; readonly type?: ArithmeticType | PointerToCompleteObjectType; readonly valueCategory = "prvalue"; readonly operand: Expression; readonly operator: "++" | "--"; constructor(context: ExpressionContext, ast: PostfixIncrementExpressionASTNode, operand: Expression); static createFromAST(ast: PostfixIncrementExpressionASTNode, context: ExpressionContext): PostfixIncrementExpression; createDefaultOutlet(this: CompiledPostfixIncrementExpression, element: JQuery, parent?: ConstructOutlet): PostfixIncrementExpressionOutlet; describeEvalResult(depth: number): ConstructDescription; isSemanticallyEquivalent_impl(other: AnalyticConstruct, ec: SemanticContext): boolean; } export interface TypedPostfixIncrementExpression extends PostfixIncrementExpression, t_TypedExpression { readonly type: T; readonly operand: TypedExpression; } export interface CompiledPostfixIncrementExpression extends TypedPostfixIncrementExpression, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly operand: CompiledExpression; } export declare class RuntimePostfixIncrementExpression extends SimpleRuntimeExpression> { operand: RuntimeExpression; constructor(model: CompiledPostfixIncrementExpression, parent: RuntimeConstruct); protected operate(): void; }