Changeset 238365 in webkit
- Timestamp:
- Nov 18, 2018 11:10:08 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChakraCore/test/Function/FuncBodyES5.baseline-jsc
r237299 r238365 10 10 PASS: 9: new Function succeeded as expected 11 11 PASS: 10: new Function succeeded as expected 12 PASS: 100: new Function failed as expected. SyntaxError: Unexpected token '{'. Expected ')' to end a compound expression.13 PASS: 100: new Function failed as expected. SyntaxError: Unexpected token '{'. Expected ')' to end a compound expression.14 PASS: 101: new Function failed as expected. SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound expression.15 PASS: 102: new Function failed as expected. SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound expression.16 PASS: 103: new Function failed as expected. SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound expression.17 PASS: 104: new Function failed as expected. SyntaxError: Unexpected token ';'. Expected ')' to end a compound expression.18 PASS: 105: new Function failed as expected. SyntaxError: Unexpected token ';'. Expected ')' to end a compound expression.12 PASS: 100: new Function failed as expected. SyntaxError: Parser error 13 PASS: 100: new Function failed as expected. SyntaxError: Parser error 14 PASS: 101: new Function failed as expected. SyntaxError: Parser error 15 PASS: 102: new Function failed as expected. SyntaxError: Parameters should match arguments offered as parameters in Function constructor. 16 PASS: 103: new Function failed as expected. SyntaxError: Parser error 17 PASS: 104: new Function failed as expected. SyntaxError: Parameters should match arguments offered as parameters in Function constructor. 18 PASS: 105: new Function failed as expected. SyntaxError: Parser error 19 19 PASS: 200: new Function failed as expected. SyntaxError: Unexpected token ','. Expected a parameter pattern or a ')' in parameter list. 20 20 PASS: 200: new Function failed as expected. SyntaxError: Unexpected token ','. Expected a parameter pattern or a ')' in parameter list. -
trunk/JSTests/ChangeLog
r238326 r238365 1 2018-11-18 Yusuke Suzuki <yusukesuzuki@slowstart.org> 2 3 Unreviewed, rolling in the rest of r237254 4 https://bugs.webkit.org/show_bug.cgi?id=190340 5 6 * ChakraCore/test/Function/FuncBodyES5.baseline-jsc: 7 * stress/function-cache-with-parameters-end-position.js: Added. 8 (shouldBe): 9 (shouldThrow): 10 (i.anonymous): 11 * stress/function-constructor-name.js: Added. 12 (shouldBe): 13 (GeneratorFunction): 14 (AsyncFunction.async): 15 (AsyncGeneratorFunction.async): 16 (anonymous): 17 (async.anonymous): 18 * test262/expectations.yaml: 19 1 20 2018-11-16 Filip Pizlo <fpizlo@apple.com> 2 21 -
trunk/JSTests/test262/expectations.yaml
r238004 r238365 901 901 strict mode: "ReferenceError: Can't find variable: verifyNotEnumerable" 902 902 test/built-ins/Function/prototype/toString/AsyncFunction.js: 903 default: "SyntaxError: Unexpected token ' }'. Expected a ')' or a ',' after a parameter declaration."904 strict mode: "SyntaxError: Unexpected token ' }'. Expected a ')' or a ',' after a parameter declaration."903 default: "SyntaxError: Unexpected token ';'. Expected a ')' or a ',' after a parameter declaration." 904 strict mode: "SyntaxError: Unexpected token ';'. Expected a ')' or a ',' after a parameter declaration." 905 905 test/built-ins/Function/prototype/toString/Function.js: 906 default: "SyntaxError: Unexpected token ' }'. Expected a ')' or a ',' after a parameter declaration."907 strict mode: "SyntaxError: Unexpected token ' }'. Expected a ')' or a ',' after a parameter declaration."906 default: "SyntaxError: Unexpected token ';'. Expected a ')' or a ',' after a parameter declaration." 907 strict mode: "SyntaxError: Unexpected token ';'. Expected a ')' or a ',' after a parameter declaration." 908 908 test/built-ins/Function/prototype/toString/GeneratorFunction.js: 909 default: "SyntaxError: Unexpected token '}'. Expected a ')' or a ',' after a parameter declaration."910 strict mode: "SyntaxError: Unexpected token '}'. Expected a ')' or a ',' after a parameter declaration."909 default: "SyntaxError: Unexpected keyword 'yield'. Expected a ')' or a ',' after a parameter declaration." 910 strict mode: "SyntaxError: Unexpected keyword 'yield'. Expected a ')' or a ',' after a parameter declaration." 911 911 test/built-ins/Function/prototype/toString/async-arrow-function.js: 912 912 default: "Test262Error: Conforms to NativeFunction Syntax: 'async ( /* b */ a /* c */ , /* d */ b /* e */ ) /* f */ => /* g */ { /* h */ ; /* i */ }'.(async /* a */ ( /* b */ a /* c */ , /* d */ b /* e */ ) /* f */ => /* g */ { /* h */ ; /* i */ })" -
trunk/LayoutTests/ChangeLog
r238350 r238365 1 2018-11-18 Yusuke Suzuki <yusukesuzuki@slowstart.org> 2 3 Unreviewed, rolling in the rest of r237254 4 https://bugs.webkit.org/show_bug.cgi?id=190340 5 6 * fast/dom/attribute-event-listener-errors-expected.txt: 7 * fast/events/attribute-listener-deletion-crash-expected.txt: 8 * fast/events/window-onerror-syntax-error-in-attr-expected.txt: 9 * js/dom/invalid-syntax-for-function-expected.txt: 10 * js/dom/script-start-end-locations-expected.txt: 11 1 12 2018-11-17 Devin Rousso <drousso@apple.com> 2 13 -
trunk/LayoutTests/fast/dom/attribute-event-listener-errors-expected.txt
r237299 r238365 1 1 CONSOLE MESSAGE: line 4: ReferenceError: Can't find variable: error 2 CONSOLE MESSAGE: line 9: SyntaxError: Invalid character: '@'2 CONSOLE MESSAGE: line 5: SyntaxError: Invalid character: '@' 3 3 This test verifies that an attribute event listener error shows the right line number even if the attribute contains newlines. 4 4 -
trunk/LayoutTests/fast/events/attribute-listener-deletion-crash-expected.txt
r237299 r238365 1 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'2 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'3 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'4 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'5 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'6 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'7 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'8 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'9 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'10 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'11 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'12 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'13 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'14 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'15 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'16 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'17 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'18 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'19 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'20 CONSOLE MESSAGE: line 2: SyntaxError: Unexpected token '|'1 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 2 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 3 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 4 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 5 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 6 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 7 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 8 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 9 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 10 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 11 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 12 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 13 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 14 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 15 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 16 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 17 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 18 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 19 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 20 CONSOLE MESSAGE: line 1: SyntaxError: Unexpected token '|' 21 21 PASS -
trunk/LayoutTests/fast/events/window-onerror-syntax-error-in-attr-expected.txt
r237299 r238365 1 1 Test that window.onerror is called on window object when there is a syntax error in attribute handler. Bug 70991. 2 2 3 Main frame window.onerror: SyntaxError: Unexpected token '%' at window-onerror-syntax-error-in-attr.html:1 1:38 SyntaxError: Unexpected token '%'4 Main frame window.onerror: SyntaxError: Unexpected token '%' at window-onerror-syntax-error-in-attr.html:3 7:38 SyntaxError: Unexpected token '%'5 Main frame window.onerror: SyntaxError: Unexpected token '%' at window-onerror-syntax-error-in-attr.html:3 7:14 SyntaxError: Unexpected token '%'3 Main frame window.onerror: SyntaxError: Unexpected token '%' at window-onerror-syntax-error-in-attr.html:10:38 SyntaxError: Unexpected token '%' 4 Main frame window.onerror: SyntaxError: Unexpected token '%' at window-onerror-syntax-error-in-attr.html:36:38 SyntaxError: Unexpected token '%' 5 Main frame window.onerror: SyntaxError: Unexpected token '%' at window-onerror-syntax-error-in-attr.html:36:14 SyntaxError: Unexpected token '%' 6 6 Button 1 Button 2 Button 3 -
trunk/LayoutTests/imported/w3c/ChangeLog
r238262 r238365 1 2018-11-18 Yusuke Suzuki <yusukesuzuki@slowstart.org> 2 3 Unreviewed, rolling in the rest of r237254 4 https://bugs.webkit.org/show_bug.cgi?id=190340 5 6 * web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt: 7 * web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt: 8 * web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt: 9 * web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt: 10 1 11 2018-11-15 Truitt Savell <tsavell@apple.com> 2 12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt
r237299 r238365 1 1 CONSOLE MESSAGE: line 19: SyntaxError: Unexpected token '}' 2 CONSOLE MESSAGE: line 5 4: SyntaxError: Unexpected token '}'2 CONSOLE MESSAGE: line 52: SyntaxError: Unexpected token '}' 3 3 4 4 PASS Inline event handlers retain their ordering when invalid and force-compiled -
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt
r237299 r238365 1 CONSOLE MESSAGE: line 2 6: SyntaxError: Unexpected token '}'. Expected ')' to end a compound expression.2 CONSOLE MESSAGE: line 21: SyntaxError: Unexpected token '}'. Expected ')' to end a compound expression.1 CONSOLE MESSAGE: line 24: SyntaxError: Parser error 2 CONSOLE MESSAGE: line 21: SyntaxError: Parser error 3 3 4 4 FAIL Invalid uncompiled raw handlers should only be compiled when about to call them. assert_array_equals: lengths differ, expected 3 got 4 -
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt
r237299 r238365 1 CONSOLE MESSAGE: line 2 6: SyntaxError: Unexpected token ')'1 CONSOLE MESSAGE: line 24: SyntaxError: Unexpected end of script 2 2 3 3 PASS window.onerror - compile error in attribute -
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt
r237299 r238365 1 1 CONSOLE MESSAGE: line 19: SyntaxError: Unexpected token ')' 2 CONSOLE MESSAGE: line 1 8: SyntaxError: Unexpected token ')'2 CONSOLE MESSAGE: line 16: SyntaxError: Unexpected end of script 3 3 4 4 PASS window.onerror - compile error in <body onerror> -
trunk/LayoutTests/js/dom/invalid-syntax-for-function-expected.txt
r237299 r238365 1 CONSOLE MESSAGE: line 2: SyntaxError: Invalid character: '#'1 CONSOLE MESSAGE: line 1: SyntaxError: Invalid character: '#' 2 2 This test ensures we don't crash when we are given garbage for an attribute expecting a function. 3 3 https://bugs.webkit.org/show_bug.cgi?id=19025 -
trunk/LayoutTests/js/dom/script-start-end-locations-expected.txt
r237299 r238365 244 244 245 245 new Function Object: 246 function "anonymous" { 1: 20- 2:228 }246 function "anonymous" { 1:19 - 2:228 } 247 247 function "nf1a" { 2:57 - 2:219 } 248 248 function "nf1b" { 2:87 - 2:209 } 249 249 function "nf1c" { 2:117 - 2:199 } 250 250 eval { 1:1 - 1:56 } 251 function "anonymous" { 1: 20- 18:8 }251 function "anonymous" { 1:19 - 18:8 } 252 252 function "nf2a" { 5:18 - 16:5 } 253 253 function "nf2b" { 7:22 - 14:9 } 254 254 function "nf2c" { 9:26 - 12:13 } 255 255 eval { 1:1 - 1:56 } 256 function "anonymous" { 1: 20- 2:228 }256 function "anonymous" { 1:19 - 2:228 } 257 257 function "nf1a" { 2:57 - 2:219 } 258 258 function "nf1b" { 2:87 - 2:209 } 259 259 function "nf1c" { 2:117 - 2:199 } 260 260 eval { 1:1 - 1:56 } 261 function "anonymous" { 1: 20- 2:237 }261 function "anonymous" { 1:19 - 2:237 } 262 262 function "nfi1a" { 2:58 - 2:227 } 263 263 function "nfi1b" { 2:90 - 2:216 } 264 264 function "nfi1c" { 2:122 - 2:205 } 265 265 eval { 1:1 - 1:56 } 266 function "anonymous" { 1: 20- 18:8 }266 function "anonymous" { 1:19 - 18:8 } 267 267 function "nf2a" { 5:18 - 16:5 } 268 268 function "nf2b" { 7:22 - 14:9 } 269 269 function "nf2c" { 9:26 - 12:13 } 270 270 eval { 1:1 - 1:56 } 271 function "anonymous" { 1: 20- 18:9 }271 function "anonymous" { 1:19 - 18:9 } 272 272 function "nfi2a" { 5:19 - 16:5 } 273 273 function "nfi2b" { 7:23 - 14:9 } -
trunk/Source/JavaScriptCore/ChangeLog
r238350 r238365 1 2018-11-18 Yusuke Suzuki <yusukesuzuki@slowstart.org> 2 3 Unreviewed, rolling in the rest of r237254 4 https://bugs.webkit.org/show_bug.cgi?id=190340 5 6 * parser/ParserModes.h: 7 * parser/ParserTokens.h: 8 (JSC::JSTextPosition::JSTextPosition): 9 (JSC::JSTokenLocation::JSTokenLocation): Deleted. 10 * runtime/CodeCache.cpp: 11 (JSC::CodeCache::getUnlinkedGlobalFunctionExecutable): 12 * runtime/FunctionConstructor.cpp: 13 (JSC::constructFunctionSkippingEvalEnabledCheck): 14 1 15 2018-11-17 Devin Rousso <drousso@apple.com> 2 16 -
trunk/Source/JavaScriptCore/parser/ParserModes.h
r237478 r238365 34 34 enum class JSParserBuiltinMode { NotBuiltin, Builtin }; 35 35 enum class JSParserScriptMode { Classic, Module }; 36 enum class JSParserCodeType { Program, Function, Module };37 36 38 37 enum class ConstructorKind { None, Base, Extends }; -
trunk/Source/JavaScriptCore/parser/ParserTokens.h
r237478 r238365 194 194 JSTextPosition() = default; 195 195 JSTextPosition(int _line, int _offset, int _lineStartOffset) : line(_line), offset(_offset), lineStartOffset(_lineStartOffset) { } 196 JSTextPosition(const JSTextPosition& other) : line(other.line), offset(other.offset), lineStartOffset(other.lineStartOffset) { }197 196 198 197 JSTextPosition operator+(int adjustment) const { return JSTextPosition(line, offset + adjustment, lineStartOffset); } … … 247 246 struct JSTokenLocation { 248 247 JSTokenLocation() = default; 249 JSTokenLocation(const JSTokenLocation& location)250 {251 line = location.line;252 lineStartOffset = location.lineStartOffset;253 startOffset = location.startOffset;254 endOffset = location.endOffset;255 }256 248 257 249 int line { 0 }; -
trunk/Source/JavaScriptCore/runtime/CodeCache.cpp
r238185 r238365 120 120 121 121 JSTextPosition positionBeforeLastNewline; 122 std::unique_ptr<ProgramNode> program = parse<ProgramNode>( 123 &vm, source, Identifier(), JSParserBuiltinMode::NotBuiltin, 124 JSParserStrictMode::NotStrict, JSParserScriptMode::Classic, SourceParseMode::ProgramMode, SuperBinding::NotNeeded, 125 error, &positionBeforeLastNewline); 122 std::unique_ptr<ProgramNode> program = parseFunctionForFunctionConstructor(vm, source, error, &positionBeforeLastNewline, functionConstructorParametersEndPosition); 126 123 if (!program) { 127 124 RELEASE_ASSERT(error.isValid()); … … 130 127 131 128 // This function assumes an input string that would result in a single function declaration. 132 StatementNode* statement = program->singleStatement(); 133 if (UNLIKELY(!statement)) { 134 JSToken token; 135 error = ParserError(ParserError::SyntaxError, ParserError::SyntaxErrorIrrecoverable, token, "Parser error", -1); 136 return nullptr; 137 } 138 ASSERT(statement->isBlock()); 139 140 StatementNode* funcDecl = static_cast<BlockNode*>(statement)->singleStatement(); 129 StatementNode* funcDecl = program->singleStatement(); 141 130 if (UNLIKELY(!funcDecl)) { 142 131 JSToken token; -
trunk/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
r238185 r238365 95 95 break; 96 96 case FunctionConstructionMode::AsyncGenerator: 97 prefix = " {async function*";97 prefix = "async function*"; 98 98 break; 99 99 } 100 101 auto checkBody = [&] (const String& body) {102 // The spec mandates that the body parses a valid function body independent103 // of the parameters.104 String program = makeString("(", prefix, "(){\n", body, "\n})");105 SourceCode source = makeSource(program, sourceOrigin, sourceURL, position);106 JSValue exception;107 checkSyntax(exec, source, &exception);108 if (exception) {109 scope.throwException(exec, exception);110 return;111 }112 };113 100 114 101 // How we stringify functions is sometimes important for web compatibility. 115 102 // See https://bugs.webkit.org/show_bug.cgi?id=24350. 116 103 String program; 104 std::optional<int> functionConstructorParametersEndPosition = std::nullopt; 117 105 if (args.isEmpty()) 118 program = makeString( "{", prefix, functionName.string(), "() {\n\n}}");106 program = makeString(prefix, functionName.string(), "() {\n\n}"); 119 107 else if (args.size() == 1) { 120 108 auto body = args.at(0).toWTFString(exec); 121 109 RETURN_IF_EXCEPTION(scope, nullptr); 122 checkBody(body); 123 RETURN_IF_EXCEPTION(scope, nullptr); 124 program = makeString("{", prefix, functionName.string(), "() {\n", body, "\n}}"); 110 program = makeString(prefix, functionName.string(), "() {\n", body, "\n}"); 125 111 } else { 126 112 StringBuilder builder(StringBuilder::OverflowHandler::RecordOverflow); 127 builder.append('{');128 113 builder.append(prefix); 129 114 builder.append(functionName.string()); 115 130 116 builder.append('('); 131 StringBuilder parameterBuilder(StringBuilder::OverflowHandler::RecordOverflow);132 117 auto viewWithString = args.at(0).toString(exec)->viewWithUnderlyingString(exec); 133 118 RETURN_IF_EXCEPTION(scope, nullptr); 134 parameterBuilder.append(viewWithString.view);135 for (size_t i = 1; ! parameterBuilder.hasOverflowed() && i < args.size() - 1; i++) {136 parameterBuilder.appendLiteral(", ");119 builder.append(viewWithString.view); 120 for (size_t i = 1; !builder.hasOverflowed() && i < args.size() - 1; i++) { 121 builder.appendLiteral(", "); 137 122 auto viewWithString = args.at(i).toString(exec)->viewWithUnderlyingString(exec); 138 123 RETURN_IF_EXCEPTION(scope, nullptr); 139 parameterBuilder.append(viewWithString.view);124 builder.append(viewWithString.view); 140 125 } 141 if ( parameterBuilder.hasOverflowed()) {126 if (builder.hasOverflowed()) { 142 127 throwOutOfMemoryError(exec, scope); 143 128 return nullptr; 144 129 } 145 auto body = args.at(args.size() - 1).toWTFString(exec); 130 131 functionConstructorParametersEndPosition = builder.length() + 1; 132 builder.appendLiteral(") {\n"); 133 134 auto body = args.at(args.size() - 1).toString(exec)->viewWithUnderlyingString(exec); 146 135 RETURN_IF_EXCEPTION(scope, nullptr); 147 148 { 149 // The spec mandates that the parameters parse as a valid parameter list 150 // independent of the function body. 151 String program = tryMakeString("(", prefix, "(", parameterBuilder.toString(), "){\n\n})"); 152 if (UNLIKELY(!program)) { 153 throwOutOfMemoryError(exec, scope); 154 return nullptr; 155 } 156 SourceCode source = makeSource(program, sourceOrigin, sourceURL, position); 157 JSValue exception; 158 checkSyntax(exec, source, &exception); 159 if (exception) { 160 scope.throwException(exec, exception); 161 return nullptr; 162 } 163 } 164 165 builder.append(parameterBuilder); 166 builder.appendLiteral(") {\n"); 167 checkBody(body); 168 RETURN_IF_EXCEPTION(scope, nullptr); 169 builder.append(body); 170 builder.appendLiteral("\n}}"); 136 builder.append(body.view); 137 builder.appendLiteral("\n}"); 171 138 if (builder.hasOverflowed()) { 172 139 throwOutOfMemoryError(exec, scope); … … 178 145 SourceCode source = makeSource(program, sourceOrigin, sourceURL, position); 179 146 JSObject* exception = nullptr; 180 FunctionExecutable* function = FunctionExecutable::fromGlobalCode(functionName, *exec, source, exception, overrideLineNumber, std::nullopt);147 FunctionExecutable* function = FunctionExecutable::fromGlobalCode(functionName, *exec, source, exception, overrideLineNumber, functionConstructorParametersEndPosition); 181 148 if (!function) { 182 149 ASSERT(exception);
Note: See TracChangeset
for help on using the changeset viewer.