Chris Smowton
34a0a0d080
Implement $default method synthesis
...
This adds methods that fill in default parameters whenever a constructor or method uses default parameter values. I use as similar an approach to the real Kotlin compiler as possible both because this produces the desirable dataflow, and because it should merge cleanly with the same class file seen by the Java extractor, which will see and
extract the signatures of the default methods.
2022-10-06 12:38:55 +01:00
Anders Schack-Mulligen
5b67ba2939
Merge pull request #10177 from atorralba/atorralba/path-sanitizer
...
Java: Promote `PathSanitizer.qll` from experimental
2022-10-06 10:29:33 +02:00
Tamas Vajk
0bbc7adca0
Accept test changes
2022-10-06 08:45:57 +02:00
Tamas Vajk
46fb9865ac
Add lateinit test to print the extracted AST
2022-10-05 16:09:00 +02:00
Tamas Vajk
082544e88c
Kotlin: Extract lateinit modifier
2022-10-05 15:25:49 +02:00
Tamas Vajk
61a05c2b6c
Kotlin: add lateinit declarations to modifiers test
2022-10-05 15:25:15 +02:00
Tamás Vajk
d0d8ef1236
Merge pull request #10672 from tamasvajk/kotlin-unary-op
...
Kotlin: extract unary plus and minus operators
2022-10-05 13:30:21 +02:00
Tamás Vajk
ecfbd5edfe
Merge pull request #10674 from tamasvajk/kotlin-implements
...
Kotlin: extract `implInterface`
2022-10-05 09:11:41 +02:00
Tamás Vajk
d0ea7ea2e3
Merge pull request #10677 from tamasvajk/kotlin-param-modifiers
...
Kotlin: Extract parameter modifiers (`noinline`, `crossinline`)
2022-10-04 21:53:48 +02:00
Tamás Vajk
c45a04a2c8
Merge pull request #10675 from tamasvajk/kotlin-enum-constants
...
Kotlin: extract `isEnumConstant` relation
2022-10-04 21:53:22 +02:00
Ed Minnix
f888c4b279
Move files from CWE-276 to CWE-926
2022-10-04 10:40:34 -04:00
Tamas Vajk
ea0a04a74f
Kotlin: extract unary plus and minus operators
2022-10-04 15:18:35 +02:00
Tamas Vajk
2e72ec748f
Kotlin: add numeric unary operator test cases
2022-10-04 15:18:35 +02:00
Ian Lynagh
db673c0355
Merge pull request #10646 from tamasvajk/kotlin-java-kotlin-function-mapping
...
Kotlin: Simplify `kotlinFunctionToJavaEquivalent`
2022-10-04 13:46:22 +01:00
Tamas Vajk
81fffce79b
Kotlin: Extract parameter modifiers (noinline, crossinline)
2022-10-04 14:02:06 +02:00
Tamas Vajk
09051e76cf
Kotlin: extract isEnumConstant relation
2022-10-04 13:30:02 +02:00
Tamas Vajk
876bea653d
Kotlin: Add test case for missing enum constants
2022-10-04 13:29:15 +02:00
Tamas Vajk
d2861361d9
Kotlin: extract implInterface
2022-10-04 13:12:01 +02:00
Tamas Vajk
d50be83f57
Kotlin: add test to distinguish implements vs extends
2022-10-04 13:10:19 +02:00
Jami Cogswell
960e9db2fb
add missing expectation to tests
2022-10-04 12:33:24 +02:00
Jami Cogswell
00b0a6bf38
update act tests
2022-10-04 12:33:23 +02:00
Jami Cogswell
834927c50b
update tests
2022-10-04 12:33:23 +02:00
Jami Cogswell
c7e7e24cf8
clean up files
2022-10-04 12:33:23 +02:00
Jami Cogswell
66b3c4687d
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
0a135a7f21
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
47fcbdd4b4
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
d07babe3c5
add initial framework for service and receiver test cases
2022-10-04 12:33:23 +02:00
Jami Cogswell
7576047214
create simple query and initial experimentation
2022-10-04 12:33:23 +02:00
Tony Torralba
b8fa9433be
Fix duplicated test
2022-10-04 12:27:01 +02:00
Tony Torralba
90020b6aab
Make block lists work with substring matching too
...
A block list approach doesn't need to restrict itself to prefix matching
2022-10-04 12:27:01 +02:00
Tony Torralba
6fcaae20e7
Add tests and fix bugs highlighted by them
2022-10-04 12:27:01 +02:00
Tony Torralba
f19eb783be
Generalize file/path taint steps
...
This is needed by PathSanitizer but also helps simplify ZipSlip.ql
2022-10-04 12:27:01 +02:00
Tony Torralba
4e29c39c78
Merge ZipSlip sanitization logic into PathSanitizer.qll
...
Apply code review suggestions regarding weak sanitizers
2022-10-04 12:27:01 +02:00
Tony Torralba
d5478a01ab
Merge pull request #10671 from github/revert-10640-atorralba/fix-cartesian-product
...
Java: Revert #10489 and #10640
2022-10-04 12:25:46 +02:00
Chris Smowton
e29be411ef
Merge pull request #9811 from smowton/smowton/feature/kotlin-jvmoverloads-annotation
...
Kotlin: Implement JvmOverloads annotation
2022-10-04 11:21:44 +01:00
Tony Torralba
df29e05b9f
Revert "Java: Adjust ImpossibleJavadocThrows.ql"
...
This reverts commit c40b6285a2 .
2022-10-04 10:59:39 +02:00
Tamas Vajk
2c467376ea
Revert "Only log once the missing java-kotlin method mapping warnings"
...
This reverts commit 7524f3372d .
2022-10-04 08:54:07 +02:00
Ed Minnix
52d519765a
Merge ContentProvider tests into one manifest
...
Merge the read-only, write-only, read-write, and full test cases into
one AndroidManifest.xml file.
Also added the not-exported test case.
2022-10-03 12:16:45 -04:00
Ian Lynagh
01fe465bdf
Kotlin: Make MiniStdLib more closely match the real stdlib
2022-10-03 16:16:11 +01:00
Ed Minnix
28e7049722
Add exported requirement to ContentProvider permissions test
2022-10-03 10:52:42 -04:00
Chris Smowton
5e2c607650
PrintAst: reliably sort function overloads
2022-10-03 15:28:55 +01:00
Chris Smowton
d3d3ce843a
Kotlin: Implement JvmOverloads annotation
...
This generates functions that omit parameters with default values, rightmost first, such that Java can achieve a similar experience to Kotlin (which represents calls internally as if the default was supplied explicitly, and/or uses a $default method that supplies the needed arguments).
A complication: combining JvmOverloads with JvmStatic means that both the companion object and the surrounding class get overloads.
2022-10-03 15:28:55 +01:00
Tony Torralba
ba9eb8c73c
Fix stub generator
...
Add line break after all stubbed annotations to avoid malformed code
See https://github.com/github/codeql/pull/8695\#discussion_r985674245
2022-10-03 14:43:58 +02:00
Tamas Vajk
7524f3372d
Only log once the missing java-kotlin method mapping warnings
2022-10-03 11:55:39 +02:00
Tony Torralba
f860ae8c82
Apply review suggestions
2022-10-03 10:38:35 +02:00
Tony Torralba
2036453176
Add stub generation tests
2022-10-03 10:31:14 +02:00
Tamas Vajk
ffc7e6b7b6
Extract bit not expression
2022-10-03 10:30:46 +02:00
Tamas Vajk
54b210f176
Extract logical not expression
2022-10-03 10:23:40 +02:00
Tamas Vajk
a2d0b38a6d
Kotlin: extract all binary numeric operators
2022-10-03 09:52:00 +02:00
erik-krogh
39ffa558f1
make a few more queries consistent with the other languages
2022-10-02 22:38:25 +02:00