vox.fe.passes.type_check

Members

Enums

IsNested
enum IsNested
Undocumented in source.

Functions

autoconvTo
bool autoconvTo(AstIndex exprIndex, AstIndex typeIndex, CompilationContext* c)

Returns true if conversion was successful. False otherwise

autoconvToBool
void autoconvToBool(AstIndex exprIndex, CompilationContext* context)
Undocumented in source. Be warned that the author may not have intended to support it.
autoconvToCommonType
bool autoconvToCommonType(AstIndex leftIndex, AstIndex rightIndex, CompilationContext* c)
Undocumented in source. Be warned that the author may not have intended to support it.
calcCommonType
CommonTypeResult calcCommonType(AstIndex indexA, AstIndex indexB, AstIndex leftExpr, AstIndex rightExpr, CompilationContext* c)
Undocumented in source. Be warned that the author may not have intended to support it.
checkTypeConversion
TypeConvResKind checkTypeConversion(AstIndex fromTypeIndex, AstIndex toTypeIndex, AstIndex expr, CompilationContext* c)
Undocumented in source. Be warned that the author may not have intended to support it.
insertCast
void insertCast(AstIndex exprIndex, AstIndex typeIndex, TypeConvResKind kind, CompilationContext* c)
Undocumented in source. Be warned that the author may not have intended to support it.
pass_type_check
void pass_type_check(CompilationContext context, CompilePassPerModule[] subPasses)
Undocumented in source. Be warned that the author may not have intended to support it.
require_type_check
void require_type_check(AstIndex nodeIndex, CompilationContext* context, IsNested isNested)

Type checking for static context

require_type_check
void require_type_check(AstNodes items, TypeCheckState state, IsNested isNested)
Undocumented in source. Be warned that the author may not have intended to support it.
require_type_check
void require_type_check(AstIndex nodeIndex, TypeCheckState state, IsNested isNested)

Annotates all expression nodes with their type Type checking, casting isNested: If true, then type check must be performed. If check is already in progress then it is an error. Indirect check requests over expr_name_use, expr_member pass false.

require_type_check_expr
void require_type_check_expr(AstIndex targetType, AstIndex nodeIndex, CompilationContext* context)
Undocumented in source. Be warned that the author may not have intended to support it.
require_type_check_expr
void require_type_check_expr(AstIndex targetType, AstIndex nodeIndex, TypeCheckState state)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

CommonTypeResult
struct CommonTypeResult
Undocumented in source.
TypeCheckState
struct TypeCheckState
Undocumented in source.

Meta

Authors

Andrey Penechko.