Ignore:
Timestamp:
Nov 18, 2015, 4:03:26 PM (10 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r192436 and r192586.
https://bugs.webkit.org/show_bug.cgi?id=151417

Caused a hang in the inspector and a crash @ google.com.
(Requested by saamyjoon on #webkit).

Reverted changesets:

"Allow any LeftHandSideExpression as a valid
AssignmentElement"
https://bugs.webkit.org/show_bug.cgi?id=151026
http://trac.webkit.org/changeset/192436

"There is a bug when default parameter values are mixed with
destructuring parameter values"
https://bugs.webkit.org/show_bug.cgi?id=151369
http://trac.webkit.org/changeset/192586

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/parser/Nodes.h

    r192436 r192597  
    154154        virtual bool isNumber() const { return false; }
    155155        virtual bool isString() const { return false; }
    156         virtual bool isObjectLiteral() const { return false; }
    157         virtual bool isArrayLiteral() const { return false; }
    158156        virtual bool isNull() const { return false; }
    159157        virtual bool isPure(BytecodeGenerator&) const { return false; }       
     
    595593        ArrayNode(const JSTokenLocation&, int elision, ElementNode*);
    596594
    597         virtual bool isArrayLiteral() const override { return true; }
    598 
    599595        ArgumentListNode* toArgumentList(ParserArena&, int, int) const;
    600596
     
    652648        ObjectLiteralNode(const JSTokenLocation&);
    653649        ObjectLiteralNode(const JSTokenLocation&, PropertyListNode*);
    654         virtual bool isObjectLiteral() const override { return true; }
    655650
    656651    private:
     
    20542049    };
    20552050
    2056     class AssignmentElementNode : public DestructuringPatternNode {
    2057     public:
    2058         AssignmentElementNode(ExpressionNode* assignmentTarget, const JSTextPosition& start, const JSTextPosition& end);
    2059         const ExpressionNode* assignmentTarget() { return m_assignmentTarget; }
    2060 
    2061         const JSTextPosition& divotStart() const { return m_divotStart; }
    2062         const JSTextPosition& divotEnd() const { return m_divotEnd; }
    2063 
    2064     private:
    2065         virtual void collectBoundIdentifiers(Vector<Identifier>&) const override;
    2066         virtual void bindValue(BytecodeGenerator&, RegisterID*) const override;
    2067         virtual void toString(StringBuilder&) const override;
    2068 
    2069         JSTextPosition m_divotStart;
    2070         JSTextPosition m_divotEnd;
    2071         ExpressionNode* m_assignmentTarget;
    2072     };
    2073 
    20742051    class DestructuringAssignmentNode : public ExpressionNode {
    20752052    public:
Note: See TracChangeset for help on using the changeset viewer.