On 07.04.2018 00:25, Philip Martin wrote:
> Philip Martin <philip_at_codematters.co.uk> writes:
>
>> Iterator iter(get_iterator());
>> while (iter.has_next())
>> + {
>> + m_env.PushLocalFrame(10);
>> function(T(m_env, NativeT(iter.next())));
>> + m_env.PopLocalFrame();
>> + }
>> return function;
> Rewriting as:
>
> while (iter.has_next())
> {
> NativeT nt(iter.next());
> m_env.PushLocalFrame(10);
> T t(m_env, nt);
> function(t);
> m_env.PopLocalFrame();
> }
>
> also removes the warning, but if I move the T construction before the
> PushLocalframe then the warning returns. T is JavaHL:ExternalItem.
I'll take another look. At the very least this should be using the local
frame manager object, which is exception-safe, unlike explicitly pushing
and popping the frame.
-- Brane
Received on 2018-04-07 12:25:48 CEST