jscript: Get rid of no longer needed identifier in exprval_t.
This commit is contained in:
parent
f5a3f1417e
commit
00030ff66f
@ -220,7 +220,7 @@ static void exprval_release(exprval_t *val)
|
|||||||
IDispatch_Release(val->u.idref.disp);
|
IDispatch_Release(val->u.idref.disp);
|
||||||
return;
|
return;
|
||||||
case EXPRVAL_INVALID:
|
case EXPRVAL_INVALID:
|
||||||
SysFreeString(val->u.identifier);
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +240,7 @@ static HRESULT exprval_value(script_ctx_t *ctx, exprval_t *val, jsexcept_t *ei,
|
|||||||
|
|
||||||
return disp_propget(ctx, val->u.idref.disp, val->u.idref.id, ret, ei, NULL/*FIXME*/);
|
return disp_propget(ctx, val->u.idref.disp, val->u.idref.id, ret, ei, NULL/*FIXME*/);
|
||||||
case EXPRVAL_INVALID:
|
case EXPRVAL_INVALID:
|
||||||
return throw_type_error(ctx, ei, JS_E_UNDEFINED_VARIABLE, val->u.identifier);
|
assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR("type %d\n", val->type);
|
ERR("type %d\n", val->type);
|
||||||
@ -653,10 +653,6 @@ static HRESULT identifier_eval(script_ctx_t *ctx, BSTR identifier, DWORD flags,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret->type = EXPRVAL_INVALID;
|
ret->type = EXPRVAL_INVALID;
|
||||||
ret->u.identifier = SysAllocString(identifier);
|
|
||||||
if(!ret->u.identifier)
|
|
||||||
return E_OUTOFMEMORY;
|
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1585,6 +1581,9 @@ static HRESULT interp_ident(exec_ctx_t *ctx)
|
|||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
return hres;
|
return hres;
|
||||||
|
|
||||||
|
if(exprval.type == EXPRVAL_INVALID)
|
||||||
|
return throw_type_error(ctx->parser->script, ctx->ei, JS_E_UNDEFINED_VARIABLE, arg);
|
||||||
|
|
||||||
hres = exprval_to_value(ctx->parser->script, &exprval, ctx->ei, &v);
|
hres = exprval_to_value(ctx->parser->script, &exprval, ctx->ei, &v);
|
||||||
exprval_release(&exprval);
|
exprval_release(&exprval);
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
|
@ -423,7 +423,6 @@ typedef struct {
|
|||||||
IDispatch *disp;
|
IDispatch *disp;
|
||||||
DISPID id;
|
DISPID id;
|
||||||
} idref;
|
} idref;
|
||||||
BSTR identifier;
|
|
||||||
} u;
|
} u;
|
||||||
} exprval_t;
|
} exprval_t;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user