Kasper Svendsen
64f27e2adf
Java: Add abstraction for discardable locatables
2025-06-26 11:35:37 +02:00
Kasper Svendsen
6e92d7e247
Java: Add entity discard predicates
2025-06-24 10:38:06 +02:00
Kasper Svendsen
c207cfdeb7
Overlay: Add overlay annotations to Java & shared libraries
2025-06-24 10:25:06 +02:00
Anders Schack-Mulligen
3c6db09039
Java: Cache the other compiletimeconstant value predicates
2025-03-21 15:53:26 +01:00
erik-krogh
34f5f61a10
all: use my script to delete outdated deprecations
2025-01-27 22:16:48 +01:00
Owen Mansel-Chan
0f3dd6d8f1
Java: IPA the CFG
2024-12-10 15:26:11 +00:00
erik-krogh
baa31e1469
delete outdated deprecations
2024-04-25 22:19:28 +02:00
Chris Smowton
17193ac11b
Distinguish record patterns that do or don't declare identifiers
2024-03-25 16:31:40 +00:00
Chris Smowton
c0874ab04b
Fix pattern-case variable pretty-printer
2024-03-25 16:31:37 +00:00
Chris Smowton
00c7dd5f92
Fix a stray use of getPattern
2024-03-25 16:31:36 +00:00
Chris Smowton
f44becea7f
Implement multiple pattern case and fall-through pattern case support
2024-03-25 16:31:36 +00:00
Chris Smowton
33b807f3bb
Parameters and local variables: add isAnonymous predicate
2024-03-25 16:31:36 +00:00
Chris Smowton
551006c15e
Make predicate private
2024-02-29 14:59:46 +00:00
Chris Smowton
1fd459e8fc
Improve stringification of some erroneous expressions
2024-02-29 14:59:45 +00:00
Marcono1234
d8fe0f5bb8
Java: Document which assignment type is covered by which class
2024-01-28 19:03:36 +01:00
Chris Smowton
94819e37c4
More StmtParent -> SwitchBlock
2023-11-30 11:24:07 +00:00
Chris Smowton
b1cea1d91e
autoformat
2023-11-30 11:24:07 +00:00
Chris Smowton
4bff7953fc
Fix record pattern and pretty-printing
2023-11-30 11:24:05 +00:00
Chris Smowton
bbc0f29f16
Restrict getCheckedType to unrestricted records, introduce getSyntacticCheckedType and use that where appropriate
2023-11-30 11:24:05 +00:00
Chris Smowton
6583c72c5d
Restrict pattern type guards to account for nested record matching failures
2023-11-30 11:24:03 +00:00
Chris Smowton
6e868d21bd
Make DefaultCase include NullDefaultCase
2023-11-30 11:24:03 +00:00
Chris Smowton
d2ff1baff0
Replace getDefaultOrNullDefaultCase with getDefaultCase
2023-11-30 11:24:03 +00:00
Chris Smowton
b731b8d30a
Simplify PatternExpr definition
2023-11-30 11:24:02 +00:00
Chris Smowton
3d980b1684
Switch to using VariableAssign for instanceof and switch dataflow
2023-11-30 11:24:02 +00:00
Chris Smowton
176adf4376
Move PatternExpr to correct file
2023-11-30 11:24:02 +00:00
Chris Smowton
8f10d29f68
Typo
2023-11-30 11:24:02 +00:00
Chris Smowton
de2b98f4a1
Fix hasNullCase
2023-11-30 11:24:02 +00:00
Chris Smowton
0e3f6f7873
autoformat
2023-11-30 11:24:01 +00:00
Chris Smowton
9035ba1f30
Fix isImplicitInit; use it in empty-container query
2023-11-30 11:24:01 +00:00
Chris Smowton
a335109a20
Note that instanceof with a record pattern doesn't have a type access
2023-11-30 11:24:01 +00:00
Chris Smowton
11444a3ae7
Rename Pattern to PatternExpr to avoid clashing with Regex::Pattern
2023-11-30 11:24:01 +00:00
Chris Smowton
ded8deceaa
Add missing qldoc
2023-11-30 11:24:01 +00:00
Chris Smowton
330a5b8c6c
autoformat ql
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
daccd04087
Basic extraction of record patterns
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
6b9aed21df
Nullness library: recognise switches with null checks
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
Chris Smowton
8198898d73
Merge pull request #14583 from smowton/smowton/admin/really-deprecate-old-java-names
...
Java: Deprecate MethodAccess and SuperMethodAccess
2023-10-26 10:25:05 +01:00
Chris Smowton
29d57d82b7
Deprecate MethodAccess and SuperMethodAccess
2023-10-25 22:26:38 +01:00
Marcono1234
bf20b8e5a5
Kotlin: Mention Literal::getLiteral() difference from source code
...
It appears the Kotlin extractor does not have access to the actual
string representation in the source code, and for most literal types
uses simply the represented value also as `getLiteral` result, see
https://github.com/github/codeql/blob/codeql-cli/v2.15.1/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt#L4443
2023-10-25 02:04:54 +02:00
Chris Smowton
30610c9a3f
Temporarily de-deprecate SuperMethodAccess to accommodate private tests
2023-10-24 16:05:52 +01:00
Chris Smowton
4205f1bd03
Temporarily un-deprecate MethodAccess to decouple from private tests
2023-10-24 14:03:26 +01:00
Chris Smowton
011666b48c
Fix description and improve predicate name of VarWrite.
2023-10-24 12:59:57 +01:00
Chris Smowton
ede17585a6
Amend NewClassExpr description
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2023-10-24 12:51:42 +01:00
Chris Smowton
e3edea2a5f
Apply simple suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2023-10-24 12:51:03 +01:00
Chris Smowton
e8c9708282
Autoformat
2023-10-24 11:06:19 +01:00