Max Schaefer
7491b5ea53
JavaScript: Add a comment.
2019-02-24 21:02:12 +00:00
Max Schaefer
f726125b71
JavaScript: Restrict E4X processing instruction disambiguation to the <?xml ...?> case.
2019-02-24 20:56:43 +00:00
Max Schaefer
cc216ad250
JavaScript: Buffer recoverable syntax errors during speculative parsing.
...
Analogous to how we buffer tokens, we need to delay reporting these errors until we have committed to a parse.
2019-02-24 20:45:41 +00:00
Max Schaefer
c7e428eb27
JavaScript: Handle E4X/Flow lexical ambiguity.
2019-02-24 20:45:41 +00:00
Max Schaefer
d6deefed86
JavaScript: Accept CDATA in E4X content.
2019-02-24 20:45:41 +00:00
Max Schaefer
81b86d9a0f
JavaScript: Skip XML processing instructions in E4X content.
2019-02-24 20:45:41 +00:00
Max Schaefer
be67d5129a
JavaScript: Add QL library support for E4X.
2019-02-24 20:45:41 +00:00
Max Schaefer
5a89024507
JavaScript: Be more lenient about keywords used as identifiers.
2019-02-24 20:45:41 +00:00
Max Schaefer
dbbb961b48
JavaScript: Accept let expressions with an object literal as their body.
2019-02-24 20:45:41 +00:00
Max Schaefer
63ed569724
JavaScript: Recover from missing initializers in const/destructuring declarations.
2019-02-24 20:45:41 +00:00
Max Schaefer
fbf2774bb3
JavaScript: Accept expression-bodied function declarations in experimental mode.
2019-02-24 20:45:41 +00:00
Max Schaefer
a42bec7f44
JavaScript: Accept comments in E4X XML literals (but not in JSX HTML literals).
2019-02-24 20:45:41 +00:00
Max Schaefer
b2366c7a68
JavaScript: Refactor parsing of JSX element content.
2019-02-24 20:45:41 +00:00
Max Schaefer
88be67a4fc
JavaScript: Add support for for-each-in comprehensions.
2019-02-24 20:45:41 +00:00
Max Schaefer
d3ae2954ff
JavaScript: Add support for parsing postfix generator comprehensions.
2019-02-24 20:45:41 +00:00
Max Schaefer
bb93cef20a
JavaScript: Refactor parsing of parenthesised expressions.
2019-02-24 20:45:41 +00:00
Max Schaefer
92c8501e67
JavaScript: Refactor parsing of generator/array comprehensions.
2019-02-24 20:45:41 +00:00
Max Schaefer
f3ea810c21
JavaScript: Add parser support for E4X.
2019-02-24 20:45:41 +00:00
Max Schaefer
1ad4867f2a
JavaScript: Make parsing of decorators more restrictive.
...
As per [the proposal](https://tc39.github.io/proposal-decorators/#sec-new-syntax ), decorators can only contain identifiers or parenthesised expressions, optionally followed by property accesses and arguments.
2019-02-24 20:45:41 +00:00
Max Schaefer
c6fc4e4764
JavaScript: Address review comments.
2019-02-23 21:43:13 +00:00
Max Schaefer
e7c95bae49
JavaScript: Add flow steps modelling Electron IPC.
2019-02-23 21:43:13 +00:00
Max Schaefer
a4e4957f31
JavaScript: Model webContents property.
2019-02-23 21:43:13 +00:00
Max Schaefer
ff83e600dc
JavaScript: Track Electron browser objects inter-procedurally.
2019-02-23 21:43:13 +00:00
Max Schaefer
d59c12e6eb
JavaScript: Recognise Electron browser objects based on TypeScript types when available.
2019-02-23 21:43:13 +00:00
Max Schaefer
143bb711f9
JavaScript: Slightly restructure Electron BrowserWindow class hierarchy.
2019-02-23 21:43:13 +00:00
Max Schaefer
20d41b85de
JavaScript: Delete an unused package.json in a test.
...
While this file is part of the project used in the tutorial, it isn't necessary for the queries to work. It also specifies a dependency on a vulnerable version of Express, causing it to be (spuriously) flagged by security scanners.
2019-02-23 13:59:18 +00:00
Max Schaefer
db9ac72e7a
Merge pull request #957 from esben-semmle/js/another-autobinder-model
...
JS: model one more 'autobind' for js/unbound-event-handler-receiver
2019-02-22 20:58:17 +00:00
Max Schaefer
12ed2ca000
Merge pull request #958 from esben-semmle/js/improve-tainted-path
...
JS: add taint steps for fs.realpath and fs.realpathSync
2019-02-22 20:55:39 +00:00
Esben Sparre Andreasen
6c1b29e4b6
JS: add missing flowstep for unused parameter field initializers
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
6766716867
JS: add PropWrite tests for parameter field initializers
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
bdd8691e65
JS: add type inference for the return value of captured method calls
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
8af501d4d5
JS: avoid double reporting dead code with js/unused-variable
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
91dccc3356
JS: add query js/unused-property
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
0cf2eaec5e
JS: introduce CapturedSource
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
305a249280
JS: add taint steps for fs.realpath and fs.realpathSync
2019-02-21 09:48:35 +01:00
Esben Sparre Andreasen
27cae0c190
JS: model one more 'autobind' for js/unbound-event-handler-receiver
2019-02-21 08:23:54 +01:00
james
50ad8a4089
update link in vue.qll
2019-02-20 16:43:56 +00:00
semmle-qlci
f5e419e774
Merge pull request #933 from xiemaisi/js/createContextualFragment
...
Approved by asger-semmle
2019-02-20 12:42:27 +00:00
Asger F
e7e29101e4
JS: add StringOps::Concatenation
2019-02-15 16:57:26 +00:00
Asger F
c115451b9d
JS: Fix copy-pasta bug
2019-02-15 16:48:42 +00:00
Asger F
ab0ed66266
JS: Add EndsWith::Range
2019-02-15 16:48:15 +00:00
Asger F
2ccfd73be5
JS: Add Includes::Range
2019-02-15 16:42:41 +00:00
Asger F
56e081f7c9
JS: Add StartsWith::Range
2019-02-15 16:38:18 +00:00
Asger F
1aba111a00
JS: Use ::Range pattern for abstract classes
2019-02-15 14:28:07 +00:00
Asger F
c8823fa7cf
JS: change charpred of ClosureModule to be AST-based
2019-02-15 14:28:06 +00:00
Asger F
d1607f7c47
JS: remove SourceNode supertype from ClosureNamespaceAccess
2019-02-15 14:28:06 +00:00
Asger F
8801431352
JS: elaborate qldoc for isTopLevelExpr
2019-02-15 14:28:06 +00:00
Asger F
fa34f8f414
JS: replace dataflow -> data flow
2019-02-15 14:28:06 +00:00
Asger F
701e662bc4
JS: rename more predicates for consistency
2019-02-15 14:28:06 +00:00
Asger F
23bd9e62f0
JS: Add ClosureNamespaceAccess
2019-02-15 14:28:06 +00:00