shader: Add tests for invalid binary expressions

This commit is contained in:
Hajime Hoshi 2020-07-04 20:23:37 +09:00
parent f362455387
commit 49b389c8b1

View File

@ -944,6 +944,9 @@ func (cs *compileState) parseExpr(block *block, expr ast.Expr) ([]shaderir.Expr,
case lhst.Main == shaderir.Vec4 && rhst.Main == shaderir.Mat4 ||
lhst.Main == shaderir.Mat4 && rhst.Main == shaderir.Vec4:
t = shaderir.Type{Main: shaderir.Vec4}
default:
cs.addError(e.Pos(), fmt.Sprintf("invalid expression: %s %s %s", lhst.String(), e.Op, rhst.String()))
return nil, nil, nil, false
}
op, ok := shaderir.OpFromToken(e.Op)