vbscript: Ignore parentheses in call expression.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2019-10-28 18:40:56 +01:00 committed by Alexandre Julliard
parent 273a3a5869
commit 216f7146ef
2 changed files with 16 additions and 1 deletions

View File

@ -460,7 +460,8 @@ static HRESULT compile_call_expression(compile_ctx_t *ctx, call_expression_t *ex
if(FAILED(hres))
return hres;
call = expr->call_expr;
for(call = expr->call_expr; call->type == EXPR_BRACKETS; call = ((unary_expression_t*)call)->subexpr);
if(call->type == EXPR_MEMBER)
return compile_member_expression(ctx, (member_expression_t*)call, arg_cnt, ret_val);

View File

@ -1279,6 +1279,14 @@ x = Array(1)
seta0 (x)
todo_wine_ok x(0) = 1, "x(0) = " & x(0)
x = Array(1)
call (((seta0))) ((x))
todo_wine_ok x(0) = 1, "x(0) = " & x(0)
x = Array(1)
call (((seta0))) (x)
ok x(0) = 2, "x(0) = " & x(0)
x = Array(Array(3))
seta0 x(0)
call ok(x(0)(0) = 2, "x(0)(0) = " & x(0)(0))
@ -1287,6 +1295,12 @@ x = Array(Array(3))
seta0 (x(0))
call todo_wine_ok(x(0)(0) = 3, "x(0)(0) = " & x(0)(0))
y = (seta0)(x)
ok y = 1, "y = " & y
y = ((x))(0)
ok y = 2, "y = " & y
sub changearg(x)
x = 2
end sub