Skip to content

Commit 71eda9d

Browse files
committed
JS: Added small test case printing ast for RegExp with intersection op
1 parent 9bd3dc7 commit 71eda9d

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/\p{Script_Extensions=Greek}|\p{Letter}/v;
2+
/\p{Script_Extensions=Greek}&&\p{Letter}/v;
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
nodes
2+
| intersection.js:1:1:1:41 | [RegExpLiteral] /\\p{Script_Extensions=Greek}\|\\p{Letter}/v | semmle.label | [RegExpLiteral] /\\p{Script_Extensions=Greek}\|\\p{Letter}/v |
3+
| intersection.js:1:1:1:42 | [ExprStmt] /\\p{Scr ... ter}/v; | semmle.label | [ExprStmt] /\\p{Scr ... ter}/v; |
4+
| intersection.js:1:1:1:42 | [ExprStmt] /\\p{Scr ... ter}/v; | semmle.order | 1 |
5+
| intersection.js:1:2:1:28 | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} | semmle.label | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} |
6+
| intersection.js:1:2:1:39 | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} | semmle.label | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} |
7+
| intersection.js:1:30:1:39 | [RegExpUnicodePropertyEscape] \\p{Letter} | semmle.label | [RegExpUnicodePropertyEscape] \\p{Letter} |
8+
| intersection.js:2:1:2:42 | [RegExpLiteral] /\\p{Script_Extensions=Greek}&&\\p{Letter}/v | semmle.label | [RegExpLiteral] /\\p{Script_Extensions=Greek}&&\\p{Letter}/v |
9+
| intersection.js:2:1:2:43 | [ExprStmt] /\\p{Scr ... ter}/v; | semmle.label | [ExprStmt] /\\p{Scr ... ter}/v; |
10+
| intersection.js:2:1:2:43 | [ExprStmt] /\\p{Scr ... ter}/v; | semmle.order | 2 |
11+
| intersection.js:2:2:2:28 | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} | semmle.label | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} |
12+
| intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | semmle.label | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} |
13+
| intersection.js:2:29:2:30 | [RegExpNormalConstant] && | semmle.label | [RegExpNormalConstant] && |
14+
| intersection.js:2:31:2:40 | [RegExpUnicodePropertyEscape] \\p{Letter} | semmle.label | [RegExpUnicodePropertyEscape] \\p{Letter} |
15+
edges
16+
| intersection.js:1:1:1:41 | [RegExpLiteral] /\\p{Script_Extensions=Greek}\|\\p{Letter}/v | intersection.js:1:2:1:39 | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} | semmle.label | 0 |
17+
| intersection.js:1:1:1:41 | [RegExpLiteral] /\\p{Script_Extensions=Greek}\|\\p{Letter}/v | intersection.js:1:2:1:39 | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} | semmle.order | 0 |
18+
| intersection.js:1:1:1:42 | [ExprStmt] /\\p{Scr ... ter}/v; | intersection.js:1:1:1:41 | [RegExpLiteral] /\\p{Script_Extensions=Greek}\|\\p{Letter}/v | semmle.label | 1 |
19+
| intersection.js:1:1:1:42 | [ExprStmt] /\\p{Scr ... ter}/v; | intersection.js:1:1:1:41 | [RegExpLiteral] /\\p{Script_Extensions=Greek}\|\\p{Letter}/v | semmle.order | 1 |
20+
| intersection.js:1:2:1:39 | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} | intersection.js:1:2:1:28 | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} | semmle.label | 0 |
21+
| intersection.js:1:2:1:39 | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} | intersection.js:1:2:1:28 | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} | semmle.order | 0 |
22+
| intersection.js:1:2:1:39 | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} | intersection.js:1:30:1:39 | [RegExpUnicodePropertyEscape] \\p{Letter} | semmle.label | 1 |
23+
| intersection.js:1:2:1:39 | [RegExpAlt] \\p{Script_Extensions=Greek}\|\\p{Letter} | intersection.js:1:30:1:39 | [RegExpUnicodePropertyEscape] \\p{Letter} | semmle.order | 1 |
24+
| intersection.js:2:1:2:42 | [RegExpLiteral] /\\p{Script_Extensions=Greek}&&\\p{Letter}/v | intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | semmle.label | 0 |
25+
| intersection.js:2:1:2:42 | [RegExpLiteral] /\\p{Script_Extensions=Greek}&&\\p{Letter}/v | intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | semmle.order | 0 |
26+
| intersection.js:2:1:2:43 | [ExprStmt] /\\p{Scr ... ter}/v; | intersection.js:2:1:2:42 | [RegExpLiteral] /\\p{Script_Extensions=Greek}&&\\p{Letter}/v | semmle.label | 1 |
27+
| intersection.js:2:1:2:43 | [ExprStmt] /\\p{Scr ... ter}/v; | intersection.js:2:1:2:42 | [RegExpLiteral] /\\p{Script_Extensions=Greek}&&\\p{Letter}/v | semmle.order | 1 |
28+
| intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | intersection.js:2:2:2:28 | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} | semmle.label | 0 |
29+
| intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | intersection.js:2:2:2:28 | [RegExpUnicodePropertyEscape] \\p{Script_Extensions=Greek} | semmle.order | 0 |
30+
| intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | intersection.js:2:29:2:30 | [RegExpNormalConstant] && | semmle.label | 1 |
31+
| intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | intersection.js:2:29:2:30 | [RegExpNormalConstant] && | semmle.order | 1 |
32+
| intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | intersection.js:2:31:2:40 | [RegExpUnicodePropertyEscape] \\p{Letter} | semmle.label | 2 |
33+
| intersection.js:2:2:2:40 | [RegExpSequence] \\p{Script_Extensions=Greek}&&\\p{Letter} | intersection.js:2:31:2:40 | [RegExpUnicodePropertyEscape] \\p{Letter} | semmle.order | 2 |
34+
graphProperties
35+
| semmle.graphKind | tree |
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import javascript
2+
import semmle.javascript.PrintAst

0 commit comments

Comments
 (0)