Documentation
¶
Index ¶
- type TypeChecker
- func (t *TypeChecker) Check() []error
- func (t *TypeChecker) VisitBinary(expr *ast.BinaryExpr) any
- func (t *TypeChecker) VisitBlock(stmt ast.BlockStmt) any
- func (t *TypeChecker) VisitCall(expr *ast.CallExpr) any
- func (t *TypeChecker) VisitDotAccess(expr *ast.DotAccessExpr) any
- func (t *TypeChecker) VisitExec(stmt ast.ExecStmt) any
- func (t *TypeChecker) VisitExpression(stmt ast.ExpressionStmt) any
- func (t *TypeChecker) VisitFunctionDeclaration(stmt ast.FunctionDeclarationStmt) any
- func (t *TypeChecker) VisitGrouping(expr *ast.GroupingExpr) any
- func (t *TypeChecker) VisitIf(stmt ast.IfStmt) any
- func (t *TypeChecker) VisitImport(_ ast.ImportStmt) any
- func (t *TypeChecker) VisitList(expr *ast.ListExpr) any
- func (t *TypeChecker) VisitLiteral(expr *ast.LiteralExpr) any
- func (t *TypeChecker) VisitLogical(expr *ast.LogicalExpr) any
- func (t *TypeChecker) VisitReturn(stmt ast.ReturnStmt) any
- func (t *TypeChecker) VisitSetReturnFlag(_ ast.SetReturnFlagStmt) any
- func (t *TypeChecker) VisitSlice(expr *ast.SliceExpr) any
- func (t *TypeChecker) VisitStructDeclaration(stmt ast.StructDeclarationStmt) any
- func (t *TypeChecker) VisitUnary(expr *ast.UnaryExpr) any
- func (t *TypeChecker) VisitVariable(expr *ast.VariableExpr) any
- func (t *TypeChecker) VisitVariableAssignment(stmt ast.VariableAssignmentStmt) any
- func (t *TypeChecker) VisitVariableDeclaration(stmt ast.VariableDeclarationStmt) any
- func (t *TypeChecker) VisitWhile(stmt ast.WhileStmt) any
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TypeChecker ¶
type TypeChecker struct { ast.StatementVisitor ast.ExpressionVisitor // contains filtered or unexported fields }
func NewTypeChecker ¶
func NewTypeChecker(source []ast.Statement, table *symbol.Table) *TypeChecker
func (*TypeChecker) Check ¶
func (t *TypeChecker) Check() []error
func (*TypeChecker) VisitBinary ¶
func (t *TypeChecker) VisitBinary(expr *ast.BinaryExpr) any
func (*TypeChecker) VisitBlock ¶
func (t *TypeChecker) VisitBlock(stmt ast.BlockStmt) any
func (*TypeChecker) VisitDotAccess ¶
func (t *TypeChecker) VisitDotAccess(expr *ast.DotAccessExpr) any
func (*TypeChecker) VisitExpression ¶
func (t *TypeChecker) VisitExpression(stmt ast.ExpressionStmt) any
func (*TypeChecker) VisitFunctionDeclaration ¶
func (t *TypeChecker) VisitFunctionDeclaration(stmt ast.FunctionDeclarationStmt) any
func (*TypeChecker) VisitGrouping ¶
func (t *TypeChecker) VisitGrouping(expr *ast.GroupingExpr) any
func (*TypeChecker) VisitImport ¶
func (t *TypeChecker) VisitImport(_ ast.ImportStmt) any
func (*TypeChecker) VisitLiteral ¶
func (t *TypeChecker) VisitLiteral(expr *ast.LiteralExpr) any
func (*TypeChecker) VisitLogical ¶
func (t *TypeChecker) VisitLogical(expr *ast.LogicalExpr) any
func (*TypeChecker) VisitReturn ¶
func (t *TypeChecker) VisitReturn(stmt ast.ReturnStmt) any
func (*TypeChecker) VisitSetReturnFlag ¶
func (t *TypeChecker) VisitSetReturnFlag(_ ast.SetReturnFlagStmt) any
func (*TypeChecker) VisitSlice ¶
func (t *TypeChecker) VisitSlice(expr *ast.SliceExpr) any
func (*TypeChecker) VisitStructDeclaration ¶
func (t *TypeChecker) VisitStructDeclaration(stmt ast.StructDeclarationStmt) any
func (*TypeChecker) VisitUnary ¶
func (t *TypeChecker) VisitUnary(expr *ast.UnaryExpr) any
func (*TypeChecker) VisitVariable ¶
func (t *TypeChecker) VisitVariable(expr *ast.VariableExpr) any
func (*TypeChecker) VisitVariableAssignment ¶
func (t *TypeChecker) VisitVariableAssignment(stmt ast.VariableAssignmentStmt) any
func (*TypeChecker) VisitVariableDeclaration ¶
func (t *TypeChecker) VisitVariableDeclaration(stmt ast.VariableDeclarationStmt) any
func (*TypeChecker) VisitWhile ¶
func (t *TypeChecker) VisitWhile(stmt ast.WhileStmt) any
Click to show internal directories.
Click to hide internal directories.