/// /// import { ForStatementASTNode } from "../../../ast/ast_statements"; import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet"; import { BlockContext, SemanticContext } from "../../compilation/contexts"; import { AnalyticConstruct } from "../../../analysis/predicates"; import { Bool } from "../../compilation/types"; import { SuccessfullyCompiled } from "../CPPConstruct"; import { CompiledExpression, Expression } from "../expressions/Expression"; import { RuntimeExpression } from "../expressions/RuntimeExpression"; import { CompiledObjectDeallocator, ObjectDeallocator, RuntimeObjectDeallocator } from "../ObjectDeallocator"; import { DeclarationStatement, CompiledDeclarationStatement, RuntimeDeclarationStatement } from "./DeclarationStatement"; import { ExpressionStatement, CompiledExpressionStatement, RuntimeExpressionStatement } from "./ExpressionStatement"; import { NullStatement, CompiledNullStatement, RuntimeNullStatement } from "./NullStatement"; import { CompiledStatement, Statement, RuntimeStatement } from "./Statement"; import { ForStatementOutlet } from "../../../view/constructs/StatementOutlets"; export declare class ForStatement extends Statement { readonly construct_type = "for_statement"; readonly initial: ExpressionStatement | NullStatement | DeclarationStatement; readonly condition: Expression; readonly body: Statement; readonly post?: Expression; readonly localDeallocator: ObjectDeallocator; constructor(context: BlockContext, ast: ForStatementASTNode, initial: ExpressionStatement | NullStatement | DeclarationStatement, condition: Expression, body: Statement, post: Expression | undefined); static createFromAST(ast: ForStatementASTNode, outerContext: BlockContext): ForStatement; createDefaultOutlet(this: CompiledForStatement, element: JQuery, parent?: ConstructOutlet): ForStatementOutlet; isSemanticallyEquivalent_impl(other: AnalyticConstruct, equivalenceContext: SemanticContext): boolean; } export interface CompiledForStatement extends ForStatement, SuccessfullyCompiled { readonly initial: CompiledExpressionStatement | CompiledNullStatement | CompiledDeclarationStatement; readonly condition: CompiledExpression; readonly body: CompiledStatement; readonly post?: CompiledExpression; readonly localDeallocator: CompiledObjectDeallocator; } export declare class RuntimeForStatement extends RuntimeStatement { readonly initial: RuntimeExpressionStatement | RuntimeNullStatement | RuntimeDeclarationStatement; readonly condition: RuntimeExpression; readonly body?: RuntimeStatement; readonly post?: RuntimeExpression; readonly localDeallocator: RuntimeObjectDeallocator; private index; private upNextFns; constructor(model: CompiledForStatement, parent: RuntimeStatement); private static upNextFns; protected upNextImpl(): void; stepForwardImpl(): void; }