Changeset 21761 in webkit


Ignore:
Timestamp:
May 25, 2007 10:26:32 AM (17 years ago)
Author:
weinig
Message:

JavaScriptCore:

Reviewed by Darin.

  • http://bugs.webkit.org/show_bug.cgi?id=13623 (Decompilation of function doesn't compile with "++(x,y)")
  • Create the error node based on the actual node, not the node inside parenthesis
  • Fix applies to postfix, prefix and typeof operators
  • Produces run-time ReferenceError like other non-lvalue assignments etc.
  • kjs/grammar.y: Create {Prefix,Postfix}ErrorNode based on the actual node, not the based on the node returned by "nodeInsideAllParens()". Same for TypeOfValueNode.

LayoutTests:

Reviewed by Darin.

  • fast/js/resources/toString-prefix-postfix-preserve-parens.js: Added.
  • fast/js/toString-prefix-postfix-preserve-parens-expected.txt: Added.
  • fast/js/toString-prefix-postfix-preserve-parens.html: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r21751 r21761  
     12007-05-25  Kimmo Kinnunen  <kimmok@iki.fi>
     2
     3        Reviewed by Darin.
     4
     5        - http://bugs.webkit.org/show_bug.cgi?id=13623 (Decompilation of function
     6          doesn't compile with "++(x,y)")
     7        - Create the error node based on the actual node, not the node inside
     8          parenthesis
     9        - Fix applies to postfix, prefix and typeof operators
     10        - Produces run-time ReferenceError like other non-lvalue assignments etc.
     11
     12        * kjs/grammar.y: Create {Prefix,Postfix}ErrorNode based on the actual node,
     13        not the based on the node returned by "nodeInsideAllParens()". Same for
     14        TypeOfValueNode.
     15
    1162007-05-25  Simon Hausmann  <hausmann@kde.org>
    217
  • trunk/JavaScriptCore/kjs/grammar.y

    r21399 r21761  
    896896
    897897    if (!n->isLocation())
    898         return new PrefixErrorNode(n, op);
     898        return new PrefixErrorNode(expr, op);
    899899   
    900900    if (n->isResolveNode()) {
     
    916916
    917917    if (!n->isLocation())
    918         return new PostfixErrorNode(n, op);
     918        return new PostfixErrorNode(expr, op);
    919919   
    920920    if (n->isResolveNode()) {
     
    964964        return new TypeOfResolveNode(resolve->identifier());
    965965    } else
    966         return new TypeOfValueNode(n);
     966        return new TypeOfValueNode(expr);
    967967}
    968968
  • trunk/LayoutTests/ChangeLog

    r21760 r21761  
     12007-05-25  Kimmo Kinnunen  <kimmok@iki.fi>
     2
     3        Reviewed by Darin.
     4
     5        - http://bugs.webkit.org/show_bug.cgi?id=13623 (Decompilation of function
     6          doesn't compile with "++(x,y)")
     7        - Contains tests for grouping expression that is inside typeof or prefix/postfix
     8          expression
     9
     10        * fast/js/resources/toString-prefix-postfix-preserve-parens.js: Added.
     11        * fast/js/toString-prefix-postfix-preserve-parens-expected.txt: Added.
     12        * fast/js/toString-prefix-postfix-preserve-parens.html: Added.
     13
    1142007-05-25  Mitz Pettel  <mitz@webkit.org>
    215
Note: See TracChangeset for help on using the changeset viewer.