import { AbstractVisitor, LiteralExpression, AdditiveExpression, AndExpression, ArrayExpression, AssignDestination, AssignExpression, SendExpression, ConditionalExpression, OrExpression, EqualityExpression, RelationalExpression, MultiplicativeExpression, UnaryExpression, PostfixExpression, ReceiveExpression, ProcedureCall, ClassCall, IdentifierExpression, StatementWrapper, BreakStatement, StartExpression, ContinueStatement, StatementBlock, StatementExpression, SelectStatement, Case, IfStatement, WhileStatement, DoStatement, ForStatement, ForInit, ReturnStatement, PrimitiveStatement, ConditionStatement, PrintStatement, Program, MainAgent, ProcedureDeclaration, ProcedureParameter, Monitor, Struct, ConditionDeclaration, VariableDeclarations, VariableDeclarator, VariableInitializer, SimpleTypeNode, ArrayTypeNode, ChannelTypeNode, ClassTypeNode } from "@pseuco/lang"; import { TypeCheckCoordinator } from "./TypeCheckCoordinator"; import { Type } from "./types/Type"; export declare class TypeCheckVisitor extends AbstractVisitor { readonly coordinator: TypeCheckCoordinator; constructor(coordinator: TypeCheckCoordinator); visitLiteralExpression(node: LiteralExpression): Type; visitAdditiveExpression(node: AdditiveExpression): Type; visitMultiplicativeExpression(node: MultiplicativeExpression): Type; visitUnaryExpression(node: UnaryExpression): Type; visitPostfixExpression(node: PostfixExpression): Type; visitAndExpression(node: AndExpression): Type; visitOrExpression(node: OrExpression): Type; visitArrayExpression(node: ArrayExpression): Type; visitAssignDestination(node: AssignDestination): Type; visitAssignExpression(node: AssignExpression): Type; visitSendExpression(node: SendExpression): Type; visitReceiveExpression(node: ReceiveExpression): Type; visitConditionalExpression(node: ConditionalExpression): Type; visitEqualityExpression(node: EqualityExpression): Type; visitRelationalExpression(node: RelationalExpression): Type; private checkProcedureCall; visitProcedureCall(node: ProcedureCall): Type; visitClassCall(node: ClassCall): Type; visitStartExpression(node: StartExpression): Type; visitIdentifierExpression(node: IdentifierExpression): Type; visitStatementWrapper(node: StatementWrapper): Type; visitBreakStatement(node: BreakStatement): Type; visitContinueStatement(node: ContinueStatement): Type; visitStatementBlock(node: StatementBlock): Type; visitStatementExpression(node: StatementExpression): Type; visitSelectStatement(node: SelectStatement): Type; visitCase(node: Case): Type; visitIfStatement(node: IfStatement): Type; visitWhileStatement(node: WhileStatement): Type; visitDoStatement(node: DoStatement): Type; visitForStatement(node: ForStatement): Type; visitForInit(node: ForInit): Type; visitReturnStatement(node: ReturnStatement): Type; visitPrimitiveStatement(node: PrimitiveStatement): Type; visitConditionStatement(node: ConditionStatement): Type; visitPrintStatement(node: PrintStatement): Type; visitProgram(node: Program): Type; visitMainAgent(node: MainAgent): Type; visitProcedureDeclaration(node: ProcedureDeclaration): Type; visitProcedureParameter(node: ProcedureParameter): Type; visitMonitor(node: Monitor): Type; visitStruct(node: Struct): Type; visitConditionDeclaration(node: ConditionDeclaration): Type; visitVariableDeclarations(node: VariableDeclarations): Type; visitVariableDeclarator(node: VariableDeclarator): Type; visitVariableInitializer(node: VariableInitializer): Type; visitSimpleTypeNode(node: SimpleTypeNode): Type; visitArrayTypeNode(node: ArrayTypeNode): Type; visitChannelTypeNode(node: ChannelTypeNode): Type; visitClassTypeNode(node: ClassTypeNode): Type; }