Chris Smowton
330a5b8c6c
autoformat ql
2023-11-30 11:24:00 +00:00
Chris Smowton
32416f0fdc
Add test for record-pattern instanceof
2023-11-30 11:24:00 +00:00
Chris Smowton
e41da3b10a
Add missing test Java files
2023-11-30 11:24:00 +00:00
Chris Smowton
5b734fe937
Pretty-print AST: handle instanceof with record pattern
2023-11-30 11:24:00 +00:00
Chris Smowton
f037030c26
Adapt instanceof CFG and DFG to general patterns
2023-11-30 11:24:00 +00:00
Chris Smowton
20b97af02f
Implement dataflow for record patterns
...
Strategy: there is now a regular flow step from an instance-of LHS / switch expr to the pattern, 0 or more read steps corresponding to record pattern destructors, and then finally a normal SSA def/use step connecting the binding patterns to their first uses.
2023-11-30 11:24:00 +00:00
Chris Smowton
05addde957
Adapt control-flow graph to record patterns
2023-11-30 11:24:00 +00:00
Chris Smowton
556feb31f0
Autoformat
2023-11-30 11:24:00 +00:00
Chris Smowton
936c0206ea
Adapt ancillary analyses to record patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
daccd04087
Basic extraction of record patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
293cc67494
Fix stringifying record fields
2023-11-30 11:23:59 +00:00
Chris Smowton
3cb01002dc
Add test for usage of qualified enum constants in switch
2023-11-30 11:23:59 +00:00
Chris Smowton
8406ee7ed5
Add test for a pattern-switch guard acting as a data-flow guard
2023-11-30 11:23:59 +00:00
Chris Smowton
144218e2f7
Implement switch CFG when there are mixed constant and pattern cases
2023-11-30 11:23:59 +00:00
Chris Smowton
54a89d6fef
Handle 'case null, default:'
2023-11-30 11:23:59 +00:00
Chris Smowton
9a450b09be
Account for pattern-cases in more places
2023-11-30 11:23:59 +00:00
Chris Smowton
2b16121638
CFG: Support guarded patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
ba0f3cf718
Add basic support for case guards
2023-11-30 11:23:59 +00:00
Chris Smowton
e94c5a772c
Check nullness pass knows pattern case variables can't be null
2023-11-30 11:23:59 +00:00
Chris Smowton
ca43b9603a
Fixup typeflow test
2023-11-30 11:23:59 +00:00
Chris Smowton
6b9aed21df
Nullness library: recognise switches with null checks
2023-11-30 11:23:58 +00:00
Chris Smowton
79b77ae805
Add AST test for switch with null case
2023-11-30 11:23:58 +00:00
Chris Smowton
05caffc189
Update printast expectation
2023-11-30 11:23:58 +00:00
Chris Smowton
30c5885966
Fix constant cases relating to enum types
2023-11-30 11:23:58 +00:00
Chris Smowton
b21aaa75bc
Type-flow: treat pattern-switch on an array index similar to instanceof
2023-11-30 11:23:58 +00:00
Chris Smowton
7dd4030f51
Pattern cases: support type-flow
2023-11-30 11:23:58 +00:00
Chris Smowton
a06ac42512
PrintAst: report pattern-cases similar to pattern-instanceof
2023-11-30 11:23:58 +00:00
Chris Smowton
b6622d2f5b
usesType: support pattern cases
2023-11-30 11:23:58 +00:00
Chris Smowton
0f434e7f08
Add test for dataflow vs. pattern-switch
2023-11-30 11:23:58 +00:00
Chris Smowton
6c990c2cf6
Add pattern-case support and generally debug switch CFGs
...
These were reasonably broken beforehand, due to not taking switch rules into account in enough places, and confusing the expression/statement switch rule distinction with the distinction between switch statements and expressions.
(For example, `switch(x) { 1 -> System.out.println("Hello world") ... }` is a statement, but has a rule expression).
2023-11-30 11:23:58 +00:00
Chris Smowton
f4b45fa511
Support switch cases with binding patterns
2023-11-30 11:23:58 +00:00
masterofnow
57d897d40f
Merge branch 'main' into LoadClassNoSignatureCheck
2023-11-30 10:05:00 +08:00
Jami Cogswell
7e869b9cd1
Java: add change note
2023-11-29 16:48:57 -05:00
Jami Cogswell
d5fd2db1bd
Java update UrlPathHelper tests
2023-11-29 15:23:11 -05:00
Jami Cogswell
ba3548b317
Java: switch to createRelative sink and add UrlPathHelper sources
2023-11-29 14:46:28 -05:00
Jami Cogswell
efa5ab18c1
Java: add taint steps for getResource sink
2023-11-29 14:46:27 -05:00
Chris Smowton
e110db58f8
Add test for empty argfile
2023-11-29 12:51:22 +00:00
Ian Lynagh
429c550151
Kotlin 2: Accept some location changes
2023-11-28 15:57:48 +00:00
Eric Bickle
aab7ff919e
Java: Improve Gson parse, get, and stream models
2023-11-27 12:26:28 -08:00
Ian Lynagh
7560573b89
Merge pull request #14906 from igfoo/igfoo/locs
...
Kotlin 2: Accept some location changes in test-kotlin2/library-tests/stmts
2023-11-27 11:42:47 +00:00
Stephan Brandauer
68a7734e08
Merge pull request #14849 from github/kaeluka/automodel-extraction-skip-primitive-types-candidates
...
Java Automodel extraction: remove primitives in framework mode
2023-11-27 09:52:48 +01:00
Stephan Brandauer
2e5971bb57
Java automodel: also drop boxed types and number types from endpoints
2023-11-24 15:04:13 +01:00
Ian Lynagh
b33fcf3719
Kotlin: Accept some location changes in test-kotlin2/library-tests/stmts
2023-11-24 13:34:44 +00:00
Ian Lynagh
c4d3d505ca
Kotlin: Accept changes in Kotlin2 ExtractorInformation test
2023-11-23 14:30:50 +00:00
Ian Lynagh
69cfc79561
Kotlin: Add LighterAST support to numlines extraction
2023-11-23 12:02:27 +00:00
Ian Lynagh
1f2d9dc95c
Merge pull request #14862 from igfoo/igfoo/test-kotlin1
...
Kotlin: Move tests from test/kotlin to test-kotlin1
2023-11-22 14:45:13 +00:00
Tom Hvitved
979bcf4ef3
Merge pull request #14868 from hvitved/ssa/locations
...
SSA: Add locations to ease debugging
2023-11-22 13:26:41 +01:00
amammad
97eb7b7b72
update example to include more logical vulnerable pattern, add documentations for ql classes
2023-11-22 09:27:55 +01:00
Tom Hvitved
1a6886cf99
SSA: Add locations to ease debugging
2023-11-22 08:37:02 +01:00
Ian Lynagh
45bbcccd1a
Kotlin: Copy TestUtilities into the kotlin testsuites
2023-11-21 17:16:54 +00:00