Changeset 28540 in webkit for trunk/JavaScriptCore/kjs/Parser.cpp


Ignore:
Timestamp:
Dec 7, 2007, 4:01:13 PM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Sam Weinig.


Refactored parsing of global code: Removed the assumption that
ProgramNode inherits from FunctionBodyNode from the parser.

  • kjs/Parser.cpp: (KJS::Parser::parseProgram): (KJS::Parser::parseFunctionBody): (KJS::Parser::parse):
  • kjs/Parser.h: (KJS::Parser::didFinishParsing):
  • kjs/function.cpp:
  • kjs/grammar.y:
  • kjs/nodes.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/Parser.cpp

    r27846 r28540  
    4545{
    4646    parse(sourceURL, startingLineNumber, code, length, sourceId, errLine, errMsg);
    47     return m_progNode.release();
     47    if (!m_sourceElements)
     48        return 0;
     49    return new ProgramNode(m_sourceElements.release());
    4850}
    4951
     
    5355{
    5456    parse(sourceURL, startingLineNumber, code, length, sourceId, errLine, errMsg);
    55     return m_progNode.release();
     57    if (!m_sourceElements)
     58        return 0;
     59    return new FunctionBodyNode(m_sourceElements.release());
    5660}
    5761
     
    6064    int* sourceId, int* errLine, UString* errMsg)
    6165{
    62     ASSERT(!m_progNode);
     66    ASSERT(!m_sourceElements);
    6367
    6468    if (errLine)
     
    8589        if (errMsg)
    8690            *errMsg = "Parse error";
    87         m_progNode = 0;
     91        m_sourceElements.clear();
    8892    }
    89 }
    90 
    91 void Parser::didFinishParsing(PassRefPtr<ProgramNode> progNode)
    92 {
    93     m_progNode = progNode;
    9493}
    9594
Note: See TracChangeset for help on using the changeset viewer.