1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

checker: fix incomplete implicit ast.CastExpr{} replacements

This commit is contained in:
Delyan Angelov 2022-11-10 13:49:07 +02:00
parent 7543b769ad
commit bbae7a705f
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
3 changed files with 5 additions and 0 deletions

View File

@ -501,6 +501,7 @@ pub fn (mut c Checker) assign_stmt(mut node ast.AssignStmt) {
expr: node.left[0]
typ: modified_left_type
typname: c.table.type_str(modified_left_type)
expr_type: left_type
pos: node.pos
}
op: .right_shift

View File

@ -36,6 +36,7 @@ pub fn (mut c Checker) infix_expr(mut node ast.InfixExpr) ast.Type {
typ: left_type
typname: c.table.get_type_name(left_type)
expr_type: right_type
pos: node.right.pos()
}
}
}
@ -512,6 +513,7 @@ pub fn (mut c Checker) infix_expr(mut node ast.InfixExpr) ast.Type {
expr: node.left
typ: modified_left_type
typname: c.table.type_str(modified_left_type)
expr_type: left_type
pos: node.pos
}
left_type: left_type

View File

@ -104,6 +104,7 @@ pub fn (mut c Checker) return_stmt(mut node ast.Return) {
typname: 'IError'
typ: ast.error_type
expr_type: got_typ
pos: node.pos
}
node.types[0] = ast.error_type
return
@ -161,6 +162,7 @@ pub fn (mut c Checker) return_stmt(mut node ast.Return) {
typname: 'IError'
typ: ast.error_type
expr_type: got_typ
pos: node.pos
}
node.types[expr_idxs[i]] = ast.error_type
continue