diff --git a/javascript/extractor/src/com/semmle/js/extractor/JSExtractor.java b/javascript/extractor/src/com/semmle/js/extractor/JSExtractor.java index 51121ba4c6e..c8ef8b32b49 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/JSExtractor.java +++ b/javascript/extractor/src/com/semmle/js/extractor/JSExtractor.java @@ -130,7 +130,7 @@ public class JSExtractor { if (!config.isTolerateParseErrors()) throw parseError; Label key = trapwriter.freshLabel(); String errorLine = textualExtractor.getLine(parseError.getPosition().getLine()); - trapwriter.addTuple("jsParseErrors", key, toplevelLabel, "Error: " + parseError, errorLine); + trapwriter.addTuple("js_parse_errors", key, toplevelLabel, "Error: " + parseError, errorLine); locationManager.emitErrorLocation( key, parseError.getPosition(), textualExtractor.getNumLines()); lexicalExtractor.extractLines(source, toplevelLabel); diff --git a/javascript/extractor/tests/encoding/output/trap/zwsp.js.trap b/javascript/extractor/tests/encoding/output/trap/zwsp.js.trap index 60c812c4c89..f74356384ba 100644 --- a/javascript/extractor/tests/encoding/output/trap/zwsp.js.trap +++ b/javascript/extractor/tests/encoding/output/trap/zwsp.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected character '​' (U+200B)","​ +js_parse_errors(#20003,#20001,"Error: Unexpected character '​' (U+200B)","​ ") hasLocation(#20003,#20002) #20004=* diff --git a/javascript/extractor/tests/errors/output/trap/errors.js.trap b/javascript/extractor/tests/errors/output/trap/errors.js.trap index e5afaf5044a..56265a4cceb 100644 --- a/javascript/extractor/tests/errors/output/trap/errors.js.trap +++ b/javascript/extractor/tests/errors/output/trap/errors.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","hi~~") +js_parse_errors(#20003,#20001,"Error: Unexpected token","hi~~") #20004=@"loc,{#10000},1,3,1,3" locations_default(#20004,#10000,1,3,1,3) hasLocation(#20003,#20004) diff --git a/javascript/extractor/tests/errors/output/trap/incomplete.js.trap b/javascript/extractor/tests/errors/output/trap/incomplete.js.trap index 84bd91ea037..3e950d57691 100644 --- a/javascript/extractor/tests/errors/output/trap/incomplete.js.trap +++ b/javascript/extractor/tests/errors/output/trap/incomplete.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","") +js_parse_errors(#20003,#20001,"Error: Unexpected token","") hasLocation(#20003,#20002) #20004=* lines(#20004,#20001,"if (b) {"," diff --git a/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap b/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap index f49b3a1cc8d..4d01e4e9373 100644 --- a/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap +++ b/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap @@ -105,7 +105,7 @@ successor(#20025,#20026) successor(#20022,#20030) successor(#20028,#20021) #20031=* -jsParseErrors(#20031,#20001,"Error: Unexpected assignment pattern.","(x = 0) = y +js_parse_errors(#20031,#20001,"Error: Unexpected assignment pattern.","(x = 0) = y ") hasLocation(#20031,#20007) #20032=* diff --git a/javascript/extractor/tests/errors/output/trap/kwident.js.trap b/javascript/extractor/tests/errors/output/trap/kwident.js.trap index 9974ec4795a..14d3767ff8a 100644 --- a/javascript/extractor/tests/errors/output/trap/kwident.js.trap +++ b/javascript/extractor/tests/errors/output/trap/kwident.js.trap @@ -90,7 +90,7 @@ successor(#20021,#20022) successor(#20019,#20025) successor(#20023,#20018) #20026=* -jsParseErrors(#20026,#20001,"Error: Cannot use keyword 'class' as an identifier.","var class = 23; +js_parse_errors(#20026,#20001,"Error: Cannot use keyword 'class' as an identifier.","var class = 23; ") #20027=@"loc,{#10000},1,5,1,5" locations_default(#20027,#10000,1,5,1,5) diff --git a/javascript/extractor/tests/errors/output/trap/weirdassign.js.trap b/javascript/extractor/tests/errors/output/trap/weirdassign.js.trap index c768fdecdbf..9569931fc2a 100644 --- a/javascript/extractor/tests/errors/output/trap/weirdassign.js.trap +++ b/javascript/extractor/tests/errors/output/trap/weirdassign.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","a %*= 1") +js_parse_errors(#20003,#20001,"Error: Unexpected token","a %*= 1") #20004=@"loc,{#10000},1,4,1,4" locations_default(#20004,#10000,1,4,1,4) hasLocation(#20003,#20004) diff --git a/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap b/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap index a680f8a7a3f..d1ace3d0446 100644 --- a/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap +++ b/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","function f(x, ...[y, z]) { +js_parse_errors(#20003,#20001,"Error: Unexpected token","function f(x, ...[y, z]) { ") #20004=@"loc,{#10000},1,18,1,18" locations_default(#20004,#10000,1,18,1,18) diff --git a/javascript/extractor/tests/es2015/output/trap/unknown_meta_property.js.trap b/javascript/extractor/tests/es2015/output/trap/unknown_meta_property.js.trap index 49ee2fffeb9..abaddc6dba2 100644 --- a/javascript/extractor/tests/es2015/output/trap/unknown_meta_property.js.trap +++ b/javascript/extractor/tests/es2015/output/trap/unknown_meta_property.js.trap @@ -145,7 +145,7 @@ successor(#20044,#20035) successor(#20032,#20031) successor(#20041,#20032) #20046=* -jsParseErrors(#20046,#20001,"Error: The only valid meta property for new is new.target"," new.source; +js_parse_errors(#20046,#20001,"Error: The only valid meta property for new is new.target"," new.source; ") #20047=@"loc,{#10000},2,7,2,7" locations_default(#20047,#10000,2,7,2,7) diff --git a/javascript/extractor/tests/es2016/output/trap/usestrict.js.trap b/javascript/extractor/tests/es2016/output/trap/usestrict.js.trap index f0c4a84481d..6f7734a9a85 100644 --- a/javascript/extractor/tests/es2016/output/trap/usestrict.js.trap +++ b/javascript/extractor/tests/es2016/output/trap/usestrict.js.trap @@ -157,7 +157,7 @@ successor(#20046,#20035) successor(#20030,#20029) successor(#20043,#20030) #20048=* -jsParseErrors(#20048,#20001,"Error: Illegal 'use strict' directive in function with non-simple parameter list","function f(a=2) { 'use strict'; }") +js_parse_errors(#20048,#20001,"Error: Illegal 'use strict' directive in function with non-simple parameter list","function f(a=2) { 'use strict'; }") #20049=@"loc,{#10000},1,19,1,19" locations_default(#20049,#10000,1,19,1,19) hasLocation(#20048,#20049) diff --git a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad1.js.trap b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad1.js.trap index 52d3ee0229d..5e4dc3945c1 100644 --- a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad1.js.trap +++ b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad1.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","new a?.();") +js_parse_errors(#20003,#20001,"Error: Unexpected token","new a?.();") #20004=@"loc,{#10000},1,8,1,8" locations_default(#20004,#10000,1,8,1,8) hasLocation(#20003,#20004) diff --git a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad2.js.trap b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad2.js.trap index 81d26f56f26..49cf106dca3 100644 --- a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad2.js.trap +++ b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad2.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: An optional chain may not be used in a tagged template expression.","a?.`{b}`;") +js_parse_errors(#20003,#20001,"Error: An optional chain may not be used in a tagged template expression.","a?.`{b}`;") hasLocation(#20003,#20002) #20004=* lines(#20004,#20001,"a?.`{b}`;","") diff --git a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad3.js.trap b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad3.js.trap index e7c42643fce..b697e0f4da1 100644 --- a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad3.js.trap +++ b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad3.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: An optional chain may not be used in a `new` expression.","new a?.b();") +js_parse_errors(#20003,#20001,"Error: An optional chain may not be used in a `new` expression.","new a?.b();") #20004=@"loc,{#10000},1,5,1,5" locations_default(#20004,#10000,1,5,1,5) hasLocation(#20003,#20004) diff --git a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad4.js.trap b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad4.js.trap index 19386282c21..05a06c72b23 100644 --- a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad4.js.trap +++ b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad4.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: An optional chain may not be used in a tagged template expression.","a?.b`{c}`;") +js_parse_errors(#20003,#20001,"Error: An optional chain may not be used in a tagged template expression.","a?.b`{c}`;") hasLocation(#20003,#20002) #20004=* lines(#20004,#20001,"a?.b`{c}`;","") diff --git a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad5.js.trap b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad5.js.trap index ceb1648c62b..6e5c528aa5f 100644 --- a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad5.js.trap +++ b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad5.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Invalid left-hand side in assignment","a?.b = c;") +js_parse_errors(#20003,#20001,"Error: Invalid left-hand side in assignment","a?.b = c;") hasLocation(#20003,#20002) #20004=* lines(#20004,#20001,"a?.b = c;","") diff --git a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad6.js.trap b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad6.js.trap index f328b18d0c1..cb078002809 100644 --- a/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad6.js.trap +++ b/javascript/extractor/tests/esnext/output/trap/optional-chaining_bad6.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: An optional chain may not be used in a `new` expression.","new a.b?.c(); +js_parse_errors(#20003,#20001,"Error: An optional chain may not be used in a `new` expression.","new a.b?.c(); ") #20004=@"loc,{#10000},1,5,1,5" locations_default(#20004,#10000,1,5,1,5) diff --git a/javascript/extractor/tests/flow/output/trap/boundExplicitTypeParameters.js.trap b/javascript/extractor/tests/flow/output/trap/boundExplicitTypeParameters.js.trap index 3424f5a63a6..64fd25704ad 100644 --- a/javascript/extractor/tests/flow/output/trap/boundExplicitTypeParameters.js.trap +++ b/javascript/extractor/tests/flow/output/trap/boundExplicitTypeParameters.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","var b = ::o.m;") +js_parse_errors(#20003,#20001,"Error: Unexpected token","var b = ::o.m;") #20004=@"loc,{#10000},1,17,1,17" locations_default(#20004,#10000,1,17,1,17) hasLocation(#20003,#20004) diff --git a/javascript/extractor/tests/flow/output/trap/importNonTypeInDeclaredModule.js.trap b/javascript/extractor/tests/flow/output/trap/importNonTypeInDeclaredModule.js.trap index 21e3081e298..6d98783360f 100644 --- a/javascript/extractor/tests/flow/output/trap/importNonTypeInDeclaredModule.js.trap +++ b/javascript/extractor/tests/flow/output/trap/importNonTypeInDeclaredModule.js.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Imports within a `declare module` body must always be `import type` or `import typeof`."," import { +js_parse_errors(#20003,#20001,"Error: Imports within a `declare module` body must always be `import type` or `import typeof`."," import { ") #20004=@"loc,{#10000},2,3,2,3" locations_default(#20004,#10000,2,3,2,3) diff --git a/javascript/extractor/tests/jsx/output/trap/err1.jsx.trap b/javascript/extractor/tests/jsx/output/trap/err1.jsx.trap index c19eb4b515f..93201c3cb72 100644 --- a/javascript/extractor/tests/jsx/output/trap/err1.jsx.trap +++ b/javascript/extractor/tests/jsx/output/trap/err1.jsx.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token"," +js_parse_errors(#20003,#20001,"Error: Unexpected token"," ") #20004=@"loc,{#10000},1,2,1,2" locations_default(#20004,#10000,1,2,1,2) diff --git a/javascript/extractor/tests/jsx/output/trap/err2.jsx.trap b/javascript/extractor/tests/jsx/output/trap/err2.jsx.trap index 6cd6cf49bc0..0e01749f43a 100644 --- a/javascript/extractor/tests/jsx/output/trap/err2.jsx.trap +++ b/javascript/extractor/tests/jsx/output/trap/err2.jsx.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unterminated JSX contents","<> +js_parse_errors(#20003,#20001,"Error: Unterminated JSX contents","<> ") #20004=@"loc,{#10000},1,3,1,3" locations_default(#20004,#10000,1,3,1,3) diff --git a/javascript/extractor/tests/jsx/output/trap/err3.jsx.trap b/javascript/extractor/tests/jsx/output/trap/err3.jsx.trap index 2450d3776dc..9105d2a0dcd 100644 --- a/javascript/extractor/tests/jsx/output/trap/err3.jsx.trap +++ b/javascript/extractor/tests/jsx/output/trap/err3.jsx.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Expected corresponding JSX closing tag for "," +js_parse_errors(#20003,#20001,"Error: Expected corresponding JSX closing tag for "," ") #20004=@"loc,{#10000},1,4,1,4" locations_default(#20004,#10000,1,4,1,4) diff --git a/javascript/extractor/tests/jsx/output/trap/err4.jsx.trap b/javascript/extractor/tests/jsx/output/trap/err4.jsx.trap index 22f018c4498..7b73628781e 100644 --- a/javascript/extractor/tests/jsx/output/trap/err4.jsx.trap +++ b/javascript/extractor/tests/jsx/output/trap/err4.jsx.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Expected corresponding JSX closing tag for <>","<> +js_parse_errors(#20003,#20001,"Error: Expected corresponding JSX closing tag for <>","<> ") #20004=@"loc,{#10000},1,3,1,3" locations_default(#20004,#10000,1,3,1,3) diff --git a/javascript/extractor/tests/mozilla/output/trap/exprfns.js.trap b/javascript/extractor/tests/mozilla/output/trap/exprfns.js.trap index dea7c59befa..5ad5f28e965 100644 --- a/javascript/extractor/tests/mozilla/output/trap/exprfns.js.trap +++ b/javascript/extractor/tests/mozilla/output/trap/exprfns.js.trap @@ -410,7 +410,7 @@ successor(#20126,#20079) successor(#20076,#20075) successor(#20113,#20076) #20129=* -jsParseErrors(#20129,#20001,"Error: Missing function name","function(b) { +js_parse_errors(#20129,#20001,"Error: Missing function name","function(b) { ") hasLocation(#20129,#20035) #20130=* diff --git a/javascript/extractor/tests/shebang/output/trap/tst.html.trap b/javascript/extractor/tests/shebang/output/trap/tst.html.trap index fc0a476640a..54d0cee0fb6 100644 --- a/javascript/extractor/tests/shebang/output/trap/tst.html.trap +++ b/javascript/extractor/tests/shebang/output/trap/tst.html.trap @@ -14,7 +14,7 @@ toplevels(#20001,1) locations_default(#20002,#10000,3,17,3,17) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","#!/usr/bin/node +js_parse_errors(#20003,#20001,"Error: Unexpected token","#!/usr/bin/node ") #20004=@"loc,{#10000},4,1,4,1" locations_default(#20004,#10000,4,1,4,1) diff --git a/javascript/extractor/tests/stmts/output/trap/functions.js.trap b/javascript/extractor/tests/stmts/output/trap/functions.js.trap index 46e944beac7..30a902de478 100644 --- a/javascript/extractor/tests/stmts/output/trap/functions.js.trap +++ b/javascript/extractor/tests/stmts/output/trap/functions.js.trap @@ -604,7 +604,7 @@ successor(#20133,#20115) successor(#20117,#20133) successor(#20169,#20117) #20191=* -jsParseErrors(#20191,#20001,"Error: Missing function name","function() {} +js_parse_errors(#20191,#20001,"Error: Missing function name","function() {} ") hasLocation(#20191,#20103) #20192=* diff --git a/javascript/extractor/tests/strictmode/output/trap/assignargs.js.trap b/javascript/extractor/tests/strictmode/output/trap/assignargs.js.trap index 8ea5d1ec21c..261e5854df4 100644 --- a/javascript/extractor/tests/strictmode/output/trap/assignargs.js.trap +++ b/javascript/extractor/tests/strictmode/output/trap/assignargs.js.trap @@ -197,7 +197,7 @@ successor(#20057,#20041) successor(#20038,#20037) successor(#20054,#20038) #20059=* -jsParseErrors(#20059,#20001,"Error: Assigning to arguments in strict mode"," arguments = 42; +js_parse_errors(#20059,#20001,"Error: Assigning to arguments in strict mode"," arguments = 42; ") #20060=@"loc,{#10000},3,3,3,3" locations_default(#20060,#10000,3,3,3,3) diff --git a/javascript/extractor/tests/ts/output/trap/badimport.ts.trap b/javascript/extractor/tests/ts/output/trap/badimport.ts.trap index 59e82686b6e..e6a8f014dd9 100644 --- a/javascript/extractor/tests/ts/output/trap/badimport.ts.trap +++ b/javascript/extractor/tests/ts/output/trap/badimport.ts.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Identifier expected.","import n = 5; +js_parse_errors(#20003,#20001,"Error: Identifier expected.","import n = 5; ") #20004=@"loc,{#10000},1,12,1,12" locations_default(#20004,#10000,1,12,1,12) diff --git a/javascript/extractor/tests/ts/output/trap/emptydecls.ts.trap b/javascript/extractor/tests/ts/output/trap/emptydecls.ts.trap index 8ebf40c9f25..29c9d49c18f 100644 --- a/javascript/extractor/tests/ts/output/trap/emptydecls.ts.trap +++ b/javascript/extractor/tests/ts/output/trap/emptydecls.ts.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unexpected token","var; +js_parse_errors(#20003,#20001,"Error: Unexpected token","var; ") #20004=@"loc,{#10000},1,4,1,4" locations_default(#20004,#10000,1,4,1,4) diff --git a/javascript/extractor/tests/ts/output/trap/invalidModuleSpecifier.ts.trap b/javascript/extractor/tests/ts/output/trap/invalidModuleSpecifier.ts.trap index 9dfd0cd54cd..a6f530abf78 100644 --- a/javascript/extractor/tests/ts/output/trap/invalidModuleSpecifier.ts.trap +++ b/javascript/extractor/tests/ts/output/trap/invalidModuleSpecifier.ts.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Unsupported TypeScript syntax","import * as x from `x`; +js_parse_errors(#20003,#20001,"Error: Unsupported TypeScript syntax","import * as x from `x`; ") hasLocation(#20003,#20002) #20004=* diff --git a/javascript/extractor/tests/ts/output/trap/restPatternWithDefault.ts.trap b/javascript/extractor/tests/ts/output/trap/restPatternWithDefault.ts.trap index a375f4637f6..ca7c7ca97bc 100644 --- a/javascript/extractor/tests/ts/output/trap/restPatternWithDefault.ts.trap +++ b/javascript/extractor/tests/ts/output/trap/restPatternWithDefault.ts.trap @@ -14,7 +14,7 @@ toplevels(#20001,0) locations_default(#20002,#10000,1,1,1,1) hasLocation(#20001,#20002) #20003=* -jsParseErrors(#20003,#20001,"Error: Rest patterns cannot have a default value","[...x = a] = a; // Error, rest element cannot have initializer +js_parse_errors(#20003,#20001,"Error: Rest patterns cannot have a default value","[...x = a] = a; // Error, rest element cannot have initializer ") #20004=@"loc,{#10000},3,5,3,5" locations_default(#20004,#10000,3,5,3,5) diff --git a/javascript/ql/src/semmle/javascript/Aliases.qll b/javascript/ql/src/semmle/javascript/Aliases.qll index 9c4cbd8cb7c..a4169824362 100644 --- a/javascript/ql/src/semmle/javascript/Aliases.qll +++ b/javascript/ql/src/semmle/javascript/Aliases.qll @@ -215,3 +215,8 @@ deprecated predicate isOptionalParameterDeclaration(Parameter parameter) { is_op * Use `PredicateTypeExpr#hasAssertsKeyword() instead. */ deprecated predicate hasAssertsKeyword(PredicateTypeExpr node) { has_asserts_keyword(node) } +/** + * Alias for the predicate `js_parse_errors` defined in the .dbscheme. + * Use the `JSParseError` class instead. + */ +deprecated predicate jsParseErrors(JSParseError id, TopLevel toplevel, string message, string line) { js_parse_errors(id, toplevel, message, line) } diff --git a/javascript/ql/src/semmle/javascript/Errors.qll b/javascript/ql/src/semmle/javascript/Errors.qll index 8e9257d376f..f4836e53c06 100644 --- a/javascript/ql/src/semmle/javascript/Errors.qll +++ b/javascript/ql/src/semmle/javascript/Errors.qll @@ -15,10 +15,10 @@ abstract class Error extends Locatable { /** A JavaScript parse error encountered during extraction. */ class JSParseError extends @js_parse_error, Error { /** Gets the toplevel element this error occurs in. */ - TopLevel getTopLevel() { jsParseErrors(this, result, _, _) } + TopLevel getTopLevel() { js_parse_errors(this, result, _, _) } - override string getMessage() { jsParseErrors(this, _, result, _) } + override string getMessage() { js_parse_errors(this, _, result, _) } /** Gets the source text of the line this error occurs on. */ - string getLine() { jsParseErrors(this, _, _, result) } + string getLine() { js_parse_errors(this, _, _, result) } } diff --git a/javascript/ql/src/semmlecode.javascript.dbscheme b/javascript/ql/src/semmlecode.javascript.dbscheme index 36f4fd713af..c983a5b93e0 100644 --- a/javascript/ql/src/semmlecode.javascript.dbscheme +++ b/javascript/ql/src/semmlecode.javascript.dbscheme @@ -819,7 +819,7 @@ indentation (int file: @file ref, int indentDepth: int ref); // JavaScript parse errors -jsParseErrors (unique int id: @js_parse_error, +js_parse_errors (unique int id: @js_parse_error, int toplevel: @toplevel ref, varchar(900) message: string ref, varchar(900) line: string ref); diff --git a/javascript/ql/src/semmlecode.javascript.dbscheme.stats b/javascript/ql/src/semmlecode.javascript.dbscheme.stats index 527813544a1..4a6ef88cd3d 100644 --- a/javascript/ql/src/semmlecode.javascript.dbscheme.stats +++ b/javascript/ql/src/semmlecode.javascript.dbscheme.stats @@ -18734,7 +18734,7 @@ -jsParseErrors +js_parse_errors 3 diff --git a/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties b/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties index 137c837a01d..39fab3ddf15 100644 --- a/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties +++ b/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties @@ -60,3 +60,5 @@ is_optional_parameter_declaration.rel: reorder isOptionalParameterDeclaration.re isOptionalParameterDeclaration.rel: delete has_asserts_keyword.rel: reorder hasAssertsKeyword.rel(int node) node hasAssertsKeyword.rel: delete +js_parse_errors.rel: reorder jsParseErrors.rel(int id, int toplevel, string message, string line) id toplevel message line +jsParseErrors.rel: delete