Ignore:
Timestamp:
Jul 5, 2006, 9:52:54 AM (19 years ago)
Author:
ggaren
Message:

JavaScriptCore:

Reviewed by Maciej.

  • Return syntax error in JSCheckSyntax through a JSValueRef* exception argument


  • API/JSBase.h:
  • API/JSContextRef.cpp: (JSCheckSyntax):
  • API/testapi.c: (main):
  • JavaScriptCore.exp:
  • kjs/interpreter.cpp: (KJS::Interpreter::checkSyntax):
  • kjs/interpreter.h:

JavaScriptGlue:

Reviewed by Maciej.


  • JSRun.cpp: (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
  • JavaScriptGlue.xcodeproj/project.pbxproj:
File:
1 edited

Legend:

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

    r15125 r15163  
    413413}
    414414
    415 bool Interpreter::checkSyntax(const UString &code)
     415Completion Interpreter::checkSyntax(const UString& sourceURL, int startingLineNumber, const UString& code)
     416{
     417    return checkSyntax(sourceURL, startingLineNumber, code.data(), code.size());
     418}
     419
     420Completion Interpreter::checkSyntax(const UString& sourceURL, int startingLineNumber, const UChar* code, int codeLength)
    416421{
    417422    JSLock lock;
    418    
    419     // Parser::parse() returns 0 in a syntax error occurs
    420     RefPtr<ProgramNode> progNode = Parser::parse(UString(), 0, code.data(), code.size(), 0, 0, 0);
    421     return progNode;
     423
     424    int errLine;
     425    UString errMsg;
     426    RefPtr<ProgramNode> progNode = Parser::parse(sourceURL, startingLineNumber, code, codeLength, 0, &errLine, &errMsg);
     427    if (!progNode)
     428        return Completion(Throw, Error::create(&m_globalExec, SyntaxError, errMsg, errLine, 0, &sourceURL));
     429    return Completion(Normal);
    422430}
    423431
Note: See TracChangeset for help on using the changeset viewer.