-
Notifications
You must be signed in to change notification settings - Fork 858
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
384 - member box call error #353
Conversation
…sed using getPropertyDescriptor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this! A few small requests, please see below.
if (setter != null) desc.defineProperty("set", setter, EMPTY); | ||
if (getter != null) | ||
{ | ||
if( getter instanceof MemberBox ) desc.defineProperty("get", new FunctionObject("f", ((MemberBox)getter).member(),scope), EMPTY); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sadly there is not a single code style for this huge, old code base, but generally we follow the style of the code "around us" when making a change. You can see that this change is pretty different from other Rhino code. Specifically:
- Please use spaces and not tabs
- Put the spaces on the other side of the parentheses (like you see elsewhere in the file)
- It's not a hard and fast rule yet, but using brackets for every "if" and "else" statement, even if there is only a single statement, avoids lots of errors later.
(I also think this is why the Travis CI build is failing for this PR.)
public void testPrototypeProperty() { | ||
Context cx = Context.enter(); | ||
try { | ||
assertEquals(evaluate(cx, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see a few of properties and functions on "AnnotatedHostObject," but it looks like this test is only checking for "foo." Is there a reason why we can't test the other properties? Similarly, are you sure that all the code paths in ScriptableObject are being exercised here for both Member and MemberBox?
Thanks! I'm just going to squash this myself and merge it. |
This fixes both the issue of not being able to call "call" on the returned value from getOwnPropertyDescriptor().get, it also stops the JS conversion error message from showing up when the get/set properties are referenced in a boolean condition. #348