Before commenting on the general question, I'm confused about
something in your code. How did a proxy get bound to "this" in your
example?

On Sun, Jan 20, 2013 at 10:49 AM, Kevin Smith <khs4...@gmail.com> wrote:
>
>>> Does the stack unwind as with normal error handling?  Does "after bar"
>>> get logged?  (FF18 answers yes to the first and no to the second question.)
>>
>> I agree with FF18 here.
>
>
> OK.  Consider this:
>
> class Purse {
>
>     private balance;
>
>     constructor() {
>         balance = 0;
>         Object.freeze(this);
>     }
>
>     getBalance() { return balance; }
>
>     somethingInocuous() {}
>
>     deposit(amount, srcPurse) {
>         private(srcPurse).balance -= amount;
>         this.somethingInocuous();
>         balance += amount;
>     }
> }
>
> A proxy for a Purse instance could throw on access to "somethingInocuous",
> leaving the high-integrity object in an inconsistent state.  It would seem
> that a high-integrity object would need to assume that any access to a
> public property might throw, in case the object is being proxied.
>
> Am I thinking about this correctly?
>
> { Kevin }
>
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>



-- 
    Cheers,
    --MarkM
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to