Asger F
3a6089740e
JS: Separate JSDoc qualified names into individual identifiers
2025-03-27 11:51:14 +01:00
Asger F
c61454b5ca
JS: Remove unused 'spec' field
2025-03-27 11:51:13 +01:00
Asger F
bf9d7484e4
JS: Use StringBuilder when building up type name
...
This code was a bit of a performance cringe. It copied every character
into a temporary array, copied that into a String, and slow-appended
that onto another String.
Note that the call to Characters.toChars is redundant here as advance()
doesn't return a code point; it returns -1 or a UTF-16 char. The -1 case
is checked for before reaching the call, so we can just cast it to
a char and use it directly.
We use a StringBuilder to accumulate the string. Normally it's faster
to track the start/end indices and do a substring(), but that won't
work in the JSDoc extractor because of the star-skipping logic in
advance().
2025-03-20 09:43:10 +01:00
Napalys
c93be70053
Rename validation methods for type expressions and added recursive call for type validation.
...
Co-authored-by: Asgerf <asgerf@github.com >
2025-03-14 14:58:27 +01:00
Napalys
1468e81c55
Ensure interface extends valid expr.
2025-03-14 13:41:37 +01:00
Napalys Klicius
3191b2c6fc
Update javascript/extractor/src/com/semmle/js/parser/RegExpParser.java
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2025-03-11 09:40:24 +01:00
Napalys
08c07f815f
Improved documentation, removed union fram change note.
2025-03-11 08:30:17 +01:00
Napalys
9c8e0a5537
Applied changes from comments.
...
Co-authored-by: Asgerf <asgerf@github.com >
2025-03-10 13:29:05 +01:00
Napalys
95d05ceab8
Now store vFlagEnabled instead of each time searching for it.
...
Added `uFlagEnabled` for checking how should `\p{}` be treated. And small optimization.
2025-03-05 10:34:38 +01:00
Napalys
8086c25abe
Removed Union as standard character class is already an union.
2025-03-05 10:07:20 +01:00
Napalys
8099423b6d
Renamed character class operators lists to elements.
2025-03-05 09:34:21 +01:00
Napalys
fe6de2f672
Added support for character class union in regex processing
2025-03-03 14:37:46 +01:00
Napalys
3664d50772
Added support for -- subtraction opetor.
2025-03-03 14:37:43 +01:00
Napalys
381b5ebe8a
Added intersection support
2025-03-03 14:37:40 +01:00
Napalys
2333c538d9
Added ability to parse nested character classes while using v flag.
2025-03-03 14:37:38 +01:00
Napalys
ed418be97a
Add support for '\q{}' escape sequence in regular expressions.
2025-03-03 14:37:20 +01:00
Napalys
cb448db3ce
Exposed flags to the regex parser
2025-03-02 17:08:52 +01:00
Asger F
b3f7cd988b
JS: Extract TS snippets with no tsconfig.json file
2025-02-18 12:43:13 +01:00
erik-krogh
55b8e8b748
fix the ECMAScript version to be ES2024
2025-02-16 19:06:14 +01:00
Napalys
4097aa9f78
JS: Added ecma2021, thus extractor now can deal with RegExp v flag
2025-02-16 18:31:06 +01:00
Asger F
6ae06aed9e
Update javascript/extractor/src/com/semmle/js/extractor/CFGExtractor.java
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-02-06 10:03:28 +01:00
Asger F
f0afd6aa5f
Merge branch 'main' into js/hoist-in-block
2025-02-04 14:01:57 +01:00
Asger F
1e5885ea1e
JS: Remove hoisting code from functions
...
'buildFunctionBody' no longer needs to handle hoisting, because hoisting now happens when visiting the block statement that is the body of the function.
Note that curly-brace functions contain a block statement as their body, not a list of statements.
2025-02-04 10:41:47 +01:00
Asger F
427e329363
JS: Bump extractor version string
2025-02-03 15:21:41 +01:00
Asger F
be082578d4
JS: Hoist function decls in a block to the top of the block
2025-02-03 15:21:08 +01:00
Asger F
2d36a5d478
JS: Use JSX syntax in first attempt when extension is .jsx
2025-02-03 13:17:15 +01:00
Asger F
d66d1a79d6
JS: Also update legacy entry point used by qltest
2025-01-29 11:14:10 +01:00
Asger F
8182190120
JS: Remove trailing whitespace
2025-01-29 10:53:26 +01:00
Asger F
bf80f0798b
JS: Treat more file patterns as as tsconfig.json-like
2025-01-29 10:53:18 +01:00
Asger F
a9d21e70c2
JS: Bump extractor version string
2025-01-21 14:04:12 +01:00
Asger F
784d07c95b
JS: Ensure embedded TypeScript is extracted even when not associated with a tsconfig
2025-01-21 14:02:32 +01:00
Asger F
37062763ae
JS: Bump extractor version string
2025-01-17 10:27:01 +01:00
Asger F
859783c08b
JS: Support [(ngModel)]
2025-01-17 10:26:57 +01:00
Asger F
6aef571c17
JS: Bump extractor version string
2024-10-29 11:28:06 +01:00
Asger F
3cc6b11e6b
JS: Expand attribute regex to include some Vue attributes
2024-10-29 11:19:01 +01:00
Ian Lynagh
95a418aa14
JS: Remove call to shouldExtract
...
It always returns true nowadays.
2024-07-04 09:42:07 +01:00
Mauro Baluda
1db5e32e86
Extract SAP XSJS file types as Javascript
2024-06-11 23:53:41 +02:00
Mauro Baluda
45a48f360f
Extract SAP XSJS file types as Javascript
2024-06-11 23:51:44 +02:00
Mauro Baluda
7b3e9b4ec1
Extract .xsaccess files as JSON
2024-06-04 16:28:08 +02:00
Mauro Baluda
73b18129d9
Extract .xsaccess files as JSON
2024-06-04 16:23:05 +02:00
erik-krogh
61c72361cd
move the "isFileTooLarge" earlier in the pipeline, so we're only doing it once
2024-05-21 20:01:24 +02:00
erik-krogh
241f977488
fix that very large TypeScript files would crash the extractor
2024-05-21 19:52:43 +02:00
Asger F
64321b314f
Merge branch 'main' into js-extractor-fix
2024-04-17 20:55:54 +02:00
Asger F
c4eeda1560
JS: Bump EXTRACTOR_VERSION
2024-04-17 08:34:26 +02:00
Rasmus Wriedt Larsen
04a0740ccb
JS: Extractor: More robust ES2015 checking
...
Created shared AbstractDetector to not duplicate all the tedious logic
;)
I took inspiration from the tests in `javascript/extractor/tests/esnext/input/dynamic-import.js`
2024-03-26 17:01:57 +01:00
Rasmus Wriedt Larsen
cd84500c56
JS: Extractor: Separate base detector logic into own file
...
Should hopefully make it easier to review these changes to have it split into its' own commit :)
2024-03-26 17:01:57 +01:00
Jorge
8abd1d9855
Merge branch 'main' into seclab/dotjs
2023-11-30 19:42:18 +01:00
Jorge
91bc043f30
Add .html.dot to Autobuild.java
2023-11-30 19:38:24 +01:00
Cornelius Riemenschneider
6b37d2009b
Merge branch 'main' into criemen/js-bazel
2023-11-08 16:11:47 +01:00
erik-krogh
ae577d1e44
catch when the main: path is invalid on Windows
2023-11-07 17:42:21 +01:00