/// /// import { CompleteObjectType, FunctionType, CompleteClassType, PotentiallyCompleteObjectType } from "../../compilation/types"; import { ExpressionContext, ConstructDescription, SemanticContext } from "../../compilation/contexts"; import { SuccessfullyCompiled, RuntimeConstruct } from "../CPPConstruct"; import { FunctionEntity, MemberVariableEntity } from "../../compilation/entities"; import { LexicalIdentifier } from "../../compilation/lexical"; import { Expression, CompiledExpression, TypedExpression, t_TypedExpression } from "./Expression"; import { RuntimeExpression } from "./RuntimeExpression"; import { DotExpressionOutlet } from "../../../view/constructs/ExpressionOutlets"; import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet"; import { AnalyticConstruct } from "../../../analysis/predicates"; import { CompiledTemporaryDeallocator } from "../TemporaryDeallocator"; import { DotExpressionASTNode } from "../../../ast/ast_expressions"; export declare class DotExpression extends Expression { readonly construct_type = "dot_expression"; readonly type?: PotentiallyCompleteObjectType | FunctionType; readonly valueCategory = "lvalue"; readonly operand: Expression; readonly memberName: LexicalIdentifier; readonly entity?: MemberVariableEntity | FunctionEntity; static createFromAST(ast: DotExpressionASTNode, context: ExpressionContext): DotExpression; constructor(context: ExpressionContext, ast: DotExpressionASTNode, operand: Expression, memberName: LexicalIdentifier); createDefaultOutlet(this: CompiledObjectDotExpression | CompiledFunctionDotExpression, element: JQuery, parent?: ConstructOutlet): DotExpressionOutlet; describeEvalResult(depth: number): ConstructDescription; entitiesUsed(): (FunctionEntity> | MemberVariableEntity)[]; isSemanticallyEquivalent_impl(other: AnalyticConstruct, ec: SemanticContext): boolean; } export interface TypedObjectDotExpression extends DotExpression, t_TypedExpression { readonly type: T; readonly entity: MemberVariableEntity; readonly operand: TypedExpression; } export interface CompiledObjectDotExpression extends TypedObjectDotExpression, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly operand: CompiledExpression; } export interface TypedFunctionDotExpression extends DotExpression, t_TypedExpression { readonly type: T; readonly entity: FunctionEntity; readonly operand: TypedExpression; } export interface CompiledFunctionDotExpression extends TypedFunctionDotExpression, SuccessfullyCompiled { readonly temporaryDeallocator?: CompiledTemporaryDeallocator; readonly operand: CompiledExpression; } export declare class RuntimeObjectDotExpression extends RuntimeExpression> { readonly operand: RuntimeExpression; constructor(model: CompiledObjectDotExpression, parent: RuntimeConstruct); protected upNextImpl(): void; protected stepForwardImpl(): void; } export declare class RuntimeFunctionDotExpression extends RuntimeExpression { readonly operand: RuntimeExpression; constructor(model: CompiledFunctionDotExpression, parent: RuntimeConstruct); protected upNextImpl(): void; protected stepForwardImpl(): void; get contextualReceiver(): import("../../runtime/objects").CPPObject; }