import { MemberSimpleDeclarationASTNode } from "../../../../ast/ast_declarations"; import { MemberSpecificationContext, SemanticContext } from "../../../compilation/contexts"; import { MemberObjectEntity, MemberReferenceEntity, MemberVariableEntity, ObjectEntityType } from "../../../compilation/entities"; import { AnalyticConstruct } from "../../../../analysis/predicates"; import { CompleteObjectType, ReferenceType } from "../../../compilation/types"; import { SuccessfullyCompiled } from "../../CPPConstruct"; import { CompiledInitializer, Initializer } from "../../initializers/Initializer"; import { OtherSpecifiers } from "../declarations"; import { CompiledDeclarator, Declarator, TypedDeclarator } from "../Declarator"; import { CompiledStorageSpecifier, StorageSpecifier } from "../StorageSpecifier"; import { CompiledTypeSpecifier, TypeSpecifier } from "../TypeSpecifier"; import { VariableDefinitionBase } from "../variable/VariableDefinitionBase"; export declare class MemberVariableDeclaration extends VariableDefinitionBase { readonly construct_type = "member_variable_declaration"; readonly type: CompleteObjectType | ReferenceType; readonly declaredEntity: MemberVariableEntity; constructor(context: MemberSpecificationContext, ast: MemberSimpleDeclarationASTNode, typeSpec: TypeSpecifier, storageSpec: StorageSpecifier, declarator: Declarator, otherSpecs: OtherSpecifiers, type: CompleteObjectType | ReferenceType); protected initializerWasSet(init: Initializer): void; isSemanticallyEquivalent_impl(other: AnalyticConstruct, equivalenceContext: SemanticContext): boolean; } export interface TypedMemberVariableDeclaration extends MemberVariableDeclaration { readonly type: T; readonly declarator: TypedDeclarator; readonly declaredEntity: MemberObjectEntity> | MemberReferenceEntity>; } export interface CompiledMemberVariableDeclaration extends TypedMemberVariableDeclaration, SuccessfullyCompiled { readonly typeSpecifier: CompiledTypeSpecifier; readonly storageSpecifier: CompiledStorageSpecifier; readonly declarator: CompiledDeclarator; readonly initializer?: CompiledInitializer; }