Changeset 33979 in webkit for trunk/JavaScriptCore/kjs/Parser.cpp
- Timestamp:
- May 21, 2008, 6:20:45 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/Parser.cpp
r31944 r33979 25 25 #include "config.h" 26 26 #include "Parser.h" 27 #include "debugger.h" 27 28 28 29 #include "lexer.h" … … 43 44 } 44 45 45 void Parser::parse( int startingLineNumber,46 const UChar* code, unsigned length,47 int* sourceId, int* errLine, UString* errMsg)46 void Parser::parse(ExecState* exec, const UString& sourceURL, int startingLineNumber, 47 PassRefPtr<SourceProvider> prpSource, 48 int* sourceId, int* errLine, UString* errMsg) 48 49 { 49 50 ASSERT(!m_sourceElements); 51 52 int defaultSourceId; 53 int defaultErrLine; 54 UString defaultErrMsg; 55 56 RefPtr<SourceProvider> source = prpSource; 50 57 51 if (errLine) 52 *errLine = -1; 53 if (errMsg) 54 *errMsg = 0; 58 if (!sourceId) 59 sourceId = &defaultSourceId; 60 if (!errLine) 61 errLine = &defaultErrLine; 62 if (!errMsg) 63 errMsg = &defaultErrMsg; 64 65 *errLine = -1; 66 *errMsg = 0; 55 67 56 68 Lexer& lexer = KJS::lexer(); 57 69 58 lexer.setCode(startingLineNumber, code, length); 59 m_sourceId++; 60 if (sourceId) 61 *sourceId = m_sourceId; 70 lexer.setCode(startingLineNumber, source); 71 *sourceId = ++m_sourceId; 62 72 63 73 int parseError = kjsyyparse(&lexer); … … 68 78 69 79 if (parseError || lexError) { 70 if (errLine) 71 *errLine = lexer.lineNo(); 72 if (errMsg) 73 *errMsg = "Parse error"; 80 *errLine = lexer.lineNo(); 81 *errMsg = "Parse error"; 74 82 m_sourceElements.clear(); 75 83 } 84 85 if (Debugger* debugger = exec->dynamicGlobalObject()->debugger()) 86 debugger->sourceParsed(exec, *sourceId, sourceURL, *source, startingLineNumber, *errLine, *errMsg); 76 87 } 77 88 … … 79 90 ParserRefCountedData<DeclarationStacks::FunctionStack>* funcStack, bool usesEval, bool needsClosure, int lastLine) 80 91 { 81 m_sourceElements = sourceElements ? sourceElements : new SourceElements;92 m_sourceElements = sourceElements; 82 93 m_varDeclarations = varStack; 83 94 m_funcDeclarations = funcStack;
Note:
See TracChangeset
for help on using the changeset viewer.