Skip to content

Commit b0865c2

Browse files
authored
Merge pull request github#16554 from igfoo/igfoo/k2rel
Kotlin: Accept Kotlin 2 test output, and use 2.0.0 on CI
2 parents 5875ec2 + 986babb commit b0865c2

File tree

63 files changed

+1120
-1029
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1120
-1029
lines changed

docs/codeql/reusables/supported-versions-compilers.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Java,"Java 7 to 22 [5]_","javac (OpenJDK and Oracle JDK),
2121

2222
Eclipse compiler for Java (ECJ) [6]_",``.java``
23-
Kotlin [7]_,"Kotlin 1.5.0 to 1.9.2\ *x*","kotlinc",``.kt``
23+
Kotlin [7]_,"Kotlin 1.5.0 to 2.0.0\ *x*","kotlinc",``.kt``
2424
JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [8]_"
2525
Python [9]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12",Not applicable,``.py``
2626
Ruby [10]_,"up to 3.3",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``"

java/kotlin-extractor/kotlin_plugin_versions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def version_string_to_version(version):
4444
return Version(int(m.group(1)), int(m.group(2)), int(m.group(3)), m.group(4))
4545

4646
# Version number used by CI.
47-
ci_version = '1.9.0'
47+
ci_version = '2.0.0'
4848

4949
many_versions = [ '1.5.0', '1.5.10', '1.5.20', '1.5.30', '1.6.0', '1.6.20', '1.7.0', '1.7.20', '1.8.0', '1.9.0-Beta', '1.9.20-Beta', '2.0.0-RC1' ]
5050

java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/PrintAst.expected

+68-64
Original file line numberDiff line numberDiff line change
@@ -163,25 +163,25 @@ test.kt:
163163
# 23| 2: [IntegerLiteral] 2
164164
# 23| 3: [IntegerLiteral] 3
165165
# 17| 2: [Annotation] Ann1
166-
# 0| 1: [Annotation] Ann2
167-
# 0| 1: [StringLiteral] "Hello"
168-
# 0| 2: [TypeLiteral] String.class
169-
# 0| 0: [TypeAccess] String
170-
# 0| 3: [ArrayInit] {...}
171-
# 0| 1: [IntegerLiteral] 1
172-
# 0| 2: [IntegerLiteral] 2
173-
# 0| 3: [IntegerLiteral] 3
174-
# 0| 4: [ArrayInit] {...}
175-
# 0| 1: [Annotation] Ann3
176-
# 0| 1: [IntegerLiteral] 1
177-
# 0| 2: [Annotation] Ann3
178-
# 0| 1: [IntegerLiteral] 2
179-
# 0| 5: [ArrayInit] {...}
180-
# 0| 1: [TypeLiteral] String.class
181-
# 0| 0: [TypeAccess] String
182-
# 0| 2: [TypeLiteral] int.class
183-
# 0| 0: [TypeAccess] int
184-
# 17| 2: [IntegerLiteral] 1
166+
# 17| 1: [IntegerLiteral] 1
167+
# 17| 2: [Annotation] Ann2
168+
# 17| 1: [StringLiteral] "Hello"
169+
# 17| 2: [TypeLiteral] String.class
170+
# 17| 0: [TypeAccess] String
171+
# 17| 3: [ArrayInit] {...}
172+
# 17| 1: [IntegerLiteral] 1
173+
# 17| 2: [IntegerLiteral] 2
174+
# 17| 3: [IntegerLiteral] 3
175+
# 17| 4: [ArrayInit] {...}
176+
# 17| 1: [Annotation] Ann3
177+
# 17| 1: [IntegerLiteral] 1
178+
# 17| 2: [Annotation] Ann3
179+
# 17| 1: [IntegerLiteral] 2
180+
# 17| 5: [ArrayInit] {...}
181+
# 17| 1: [TypeLiteral] String.class
182+
# 17| 0: [TypeAccess] String
183+
# 17| 2: [TypeLiteral] int.class
184+
# 17| 0: [TypeAccess] int
185185
# 17| 3: [VarAccess] DayOfWeek.MONDAY
186186
# 17| -1: [TypeAccess] DayOfWeek
187187
# 18| 3: [Annotation] GenericAnnotation
@@ -193,17 +193,17 @@ test.kt:
193193
# 18| 2: [TypeLiteral] String.class
194194
# 18| 0: [TypeAccess] String
195195
# 24| 4: [Annotation] AnnWithDefaults
196-
# 0| 1: [IntegerLiteral] 1
197-
# 0| 2: [StringLiteral] "hello"
198-
# 0| 3: [VarAccess] DayOfWeek.TUESDAY
199-
# 0| -1: [TypeAccess] DayOfWeek
200-
# 0| 4: [ArrayInit] {...}
201-
# 0| 1: [Annotation] Ann3
202-
# 0| 1: [IntegerLiteral] 1
203-
# 25| 1: [Constructor] Annotated
196+
# 15| 1: [IntegerLiteral] 1
197+
# 15| 2: [StringLiteral] "hello"
198+
# 15| 3: [VarAccess] DayOfWeek.TUESDAY
199+
# 15| -1: [TypeAccess] DayOfWeek
200+
# 15| 4: [ArrayInit] {...}
201+
# 15| 1: [Annotation] Ann3
202+
# 15| 1: [IntegerLiteral] 1
203+
# 17| 1: [Constructor] Annotated
204204
# 17| 5: [BlockStmt] { ... }
205205
# 17| 0: [SuperConstructorInvocationStmt] super(...)
206-
# 25| 1: [BlockStmt] { ... }
206+
# 17| 1: [BlockStmt] { ... }
207207
# 27| 9: [Class] AnnotatedUsedByKotlin
208208
#-----| -3: (Annotations)
209209
# 0| 1: [Annotation] Container
@@ -228,25 +228,25 @@ test.kt:
228228
# 33| 2: [IntegerLiteral] 2
229229
# 33| 3: [IntegerLiteral] 3
230230
# 27| 2: [Annotation] Ann1
231-
# 0| 1: [Annotation] Ann2
232-
# 0| 1: [StringLiteral] "Hello"
233-
# 0| 2: [TypeLiteral] String.class
234-
# 0| 0: [TypeAccess] String
235-
# 0| 3: [ArrayInit] {...}
236-
# 0| 1: [IntegerLiteral] 1
237-
# 0| 2: [IntegerLiteral] 2
238-
# 0| 3: [IntegerLiteral] 3
239-
# 0| 4: [ArrayInit] {...}
240-
# 0| 1: [Annotation] Ann3
241-
# 0| 1: [IntegerLiteral] 1
242-
# 0| 2: [Annotation] Ann3
243-
# 0| 1: [IntegerLiteral] 2
244-
# 0| 5: [ArrayInit] {...}
245-
# 0| 1: [TypeLiteral] String.class
246-
# 0| 0: [TypeAccess] String
247-
# 0| 2: [TypeLiteral] int.class
248-
# 0| 0: [TypeAccess] int
249-
# 27| 2: [IntegerLiteral] 1
231+
# 27| 1: [IntegerLiteral] 1
232+
# 27| 2: [Annotation] Ann2
233+
# 27| 1: [StringLiteral] "Hello"
234+
# 27| 2: [TypeLiteral] String.class
235+
# 27| 0: [TypeAccess] String
236+
# 27| 3: [ArrayInit] {...}
237+
# 27| 1: [IntegerLiteral] 1
238+
# 27| 2: [IntegerLiteral] 2
239+
# 27| 3: [IntegerLiteral] 3
240+
# 27| 4: [ArrayInit] {...}
241+
# 27| 1: [Annotation] Ann3
242+
# 27| 1: [IntegerLiteral] 1
243+
# 27| 2: [Annotation] Ann3
244+
# 27| 1: [IntegerLiteral] 2
245+
# 27| 5: [ArrayInit] {...}
246+
# 27| 1: [TypeLiteral] String.class
247+
# 27| 0: [TypeAccess] String
248+
# 27| 2: [TypeLiteral] int.class
249+
# 27| 0: [TypeAccess] int
250250
# 27| 3: [VarAccess] DayOfWeek.MONDAY
251251
# 27| -1: [TypeAccess] DayOfWeek
252252
# 28| 3: [Annotation] GenericAnnotation
@@ -258,44 +258,48 @@ test.kt:
258258
# 28| 2: [TypeLiteral] String.class
259259
# 28| 0: [TypeAccess] String
260260
# 34| 4: [Annotation] AnnWithDefaults
261-
# 0| 1: [IntegerLiteral] 1
262-
# 0| 2: [StringLiteral] "hello"
263-
# 0| 3: [VarAccess] DayOfWeek.TUESDAY
264-
# 0| -1: [TypeAccess] DayOfWeek
265-
# 0| 4: [ArrayInit] {...}
266-
# 0| 1: [Annotation] Ann3
267-
# 0| 1: [IntegerLiteral] 1
268-
# 35| 1: [Constructor] AnnotatedUsedByKotlin
261+
# 15| 1: [IntegerLiteral] 1
262+
# 15| 2: [StringLiteral] "hello"
263+
# 15| 3: [VarAccess] DayOfWeek.TUESDAY
264+
# 15| -1: [TypeAccess] DayOfWeek
265+
# 15| 4: [ArrayInit] {...}
266+
# 15| 1: [Annotation] Ann3
267+
# 15| 1: [IntegerLiteral] 1
268+
# 27| 1: [Constructor] AnnotatedUsedByKotlin
269269
# 27| 5: [BlockStmt] { ... }
270270
# 27| 0: [SuperConstructorInvocationStmt] super(...)
271-
# 35| 1: [BlockStmt] { ... }
271+
# 27| 1: [BlockStmt] { ... }
272272
# 37| 10: [Class] HasJavaDeprecatedAnnotationUsedByJava
273273
#-----| -3: (Annotations)
274274
# 37| 1: [Annotation] Deprecated
275-
# 38| 1: [Constructor] HasJavaDeprecatedAnnotationUsedByJava
275+
# 0| 1: [StringLiteral] ""
276+
# 0| 2: [BooleanLiteral] false
277+
# 37| 1: [Constructor] HasJavaDeprecatedAnnotationUsedByJava
276278
# 37| 5: [BlockStmt] { ... }
277279
# 37| 0: [SuperConstructorInvocationStmt] super(...)
278-
# 38| 1: [BlockStmt] { ... }
280+
# 37| 1: [BlockStmt] { ... }
279281
# 40| 11: [Class] HasKotlinDeprecatedAnnotationUsedByJava
280282
#-----| -3: (Annotations)
281283
# 40| 1: [Annotation] Deprecated
282284
# 40| 1: [StringLiteral] "Kotlin deprecation message 1"
283-
# 41| 1: [Constructor] HasKotlinDeprecatedAnnotationUsedByJava
285+
# 40| 1: [Constructor] HasKotlinDeprecatedAnnotationUsedByJava
284286
# 40| 5: [BlockStmt] { ... }
285287
# 40| 0: [SuperConstructorInvocationStmt] super(...)
286-
# 41| 1: [BlockStmt] { ... }
288+
# 40| 1: [BlockStmt] { ... }
287289
# 43| 12: [Class] HasJavaDeprecatedAnnotationUsedByKotlin
288290
#-----| -3: (Annotations)
289291
# 43| 1: [Annotation] Deprecated
290-
# 44| 1: [Constructor] HasJavaDeprecatedAnnotationUsedByKotlin
292+
# 0| 1: [StringLiteral] ""
293+
# 0| 2: [BooleanLiteral] false
294+
# 43| 1: [Constructor] HasJavaDeprecatedAnnotationUsedByKotlin
291295
# 43| 5: [BlockStmt] { ... }
292296
# 43| 0: [SuperConstructorInvocationStmt] super(...)
293-
# 44| 1: [BlockStmt] { ... }
297+
# 43| 1: [BlockStmt] { ... }
294298
# 46| 13: [Class] HasKotlinDeprecatedAnnotationUsedByKotlin
295299
#-----| -3: (Annotations)
296300
# 46| 1: [Annotation] Deprecated
297301
# 46| 1: [StringLiteral] "Kotlin deprecation message 2"
298-
# 47| 1: [Constructor] HasKotlinDeprecatedAnnotationUsedByKotlin
302+
# 46| 1: [Constructor] HasKotlinDeprecatedAnnotationUsedByKotlin
299303
# 46| 5: [BlockStmt] { ... }
300304
# 46| 0: [SuperConstructorInvocationStmt] super(...)
301-
# 47| 1: [BlockStmt] { ... }
305+
# 46| 1: [BlockStmt] { ... }

java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33

44
os.mkdir('build')
55
runSuccessfully(["javac"] + glob.glob("*.java") + ["-d", "build"])
6-
run_codeql_database_create(["javac " + " ".join(glob.glob("*.java")) + " -d build", "kotlinc user.kt -cp build"], lang="java")
6+
run_codeql_database_create(["javac " + " ".join(glob.glob("*.java")) + " -d build", "kotlinc -language-version 1.9 user.kt -cp build"], lang="java")
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
| user.kt:3:15:3:22 | getF(...) | lib/lib/TestKt.class:0:0:0:0 | getF |
1+
| user.kt:3:14:3:22 | getF(...) | lib/lib/TestKt.class:0:0:0:0 | getF |
22
| user.kt:3:26:3:28 | getF(...) | lib/lib/TestKt.class:0:0:0:0 | getF |
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from create_database_utils import *
22

33
os.mkdir('lib')
4-
runSuccessfully([get_cmd("kotlinc"), "test.kt", "-d", "lib"])
5-
run_codeql_database_create(["kotlinc user.kt -cp lib"], lang="java")
4+
runSuccessfully([get_cmd("kotlinc"), "-language-version", "1.9", "test.kt", "-d", "lib"])
5+
run_codeql_database_create(["kotlinc -language-version 1.9 user.kt -cp lib"], lang="java")
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from create_database_utils import *
22

3-
run_codeql_database_create(["kotlinc -J-Xmx2G SomeClass.kt"], lang="java")
3+
run_codeql_database_create(["kotlinc -J-Xmx2G -language-version 1.9 SomeClass.kt"], lang="java")
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from create_database_utils import *
22

3-
runSuccessfully([get_cmd("kotlinc"), 'A.kt'])
4-
run_codeql_database_create(['kotlinc -cp . B.kt C.kt'], lang="java")
3+
runSuccessfully([get_cmd("kotlinc"), '-language-version', '1.9', 'A.kt'])
4+
run_codeql_database_create(['kotlinc -cp . -language-version 1.9 B.kt C.kt'], lang="java")

java/ql/integration-tests/all-platforms/kotlin/java-interface-redeclares-tostring/test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
os.mkdir('bin')
44
runSuccessfully(["javac", "Test.java", "-d", "bin"])
5-
run_codeql_database_create(["kotlinc user.kt -cp bin"], lang="java")
5+
run_codeql_database_create(["kotlinc -language-version 1.9 user.kt -cp bin"], lang="java")
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
| extlib.jar/extlib/A.class:0:0:0:0 | m | protected |
2-
| test.kt:4:12:4:22 | m | override, protected |
2+
| test.kt:4:3:4:22 | m | override, protected |
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
| test.kt:3:17:3:45 | f | test.kt:3:23:3:32 | x |
2-
| test.kt:3:17:3:45 | f | test.kt:3:35:3:40 | y |
3-
| test.kt:3:17:3:45 | f | test.kt:3:35:3:40 | y |
4-
| test.kt:3:17:3:45 | f$default | test.kt:3:17:3:45 | p0 |
5-
| test.kt:3:17:3:45 | f$default | test.kt:3:17:3:45 | p1 |
6-
| test.kt:3:17:3:45 | f$default | test.kt:3:17:3:45 | p2 |
7-
| test.kt:3:17:3:45 | f$default | test.kt:3:17:3:45 | p3 |
8-
| test.kt:3:17:3:45 | f$default | test.kt:3:17:3:45 | p4 |
1+
| test.kt:3:3:3:45 | f | test.kt:3:23:3:32 | x |
2+
| test.kt:3:3:3:45 | f | test.kt:3:35:3:40 | y |
3+
| test.kt:3:3:3:45 | f | test.kt:3:35:3:40 | y |
4+
| test.kt:3:3:3:45 | f$default | test.kt:3:3:3:45 | p0 |
5+
| test.kt:3:3:3:45 | f$default | test.kt:3:3:3:45 | p1 |
6+
| test.kt:3:3:3:45 | f$default | test.kt:3:3:3:45 | p2 |
7+
| test.kt:3:3:3:45 | f$default | test.kt:3:3:3:45 | p3 |
8+
| test.kt:3:3:3:45 | f$default | test.kt:3:3:3:45 | p4 |

java/ql/integration-tests/all-platforms/kotlin/kotlin_java_lowering_wildcards/test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
# Compile the JavaDefns2 copy outside tracing, to make sure the Kotlin view of it matches the Java view seen by the traced javac compilation of JavaDefns.java below.
44
runSuccessfully(["javac", "JavaDefns2.java"])
5-
run_codeql_database_create(["kotlinc kotlindefns.kt", "javac JavaUser.java JavaDefns.java -cp .", "kotlinc -cp . kotlinuser.kt"], lang="java")
5+
run_codeql_database_create(["kotlinc kotlindefns.kt", "javac JavaUser.java JavaDefns.java -cp .", "kotlinc -language-version 1.9 -cp . kotlinuser.kt"], lang="java")
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
edges
22
| hasFields.kt:5:5:5:34 | constField : String | ReadsFields.java:5:10:5:29 | HasFields.constField | provenance | |
33
| hasFields.kt:5:28:5:34 | "taint" : String | hasFields.kt:5:5:5:34 | constField : String | provenance | |
4+
| hasFields.kt:7:5:7:38 | <set-?> : String | hasFields.kt:7:5:7:38 | <set-?> : String | provenance | |
5+
| hasFields.kt:7:5:7:38 | <set-?> : String | hasFields.kt:7:5:7:38 | lateinitField : String | provenance | |
46
| hasFields.kt:7:5:7:38 | lateinitField : String | ReadsFields.java:6:10:6:32 | HasFields.lateinitField | provenance | |
5-
| hasFields.kt:7:14:7:38 | <set-?> : String | hasFields.kt:7:5:7:38 | lateinitField : String | provenance | |
6-
| hasFields.kt:7:14:7:38 | <set-?> : String | hasFields.kt:7:14:7:38 | <set-?> : String | provenance | |
77
| hasFields.kt:9:5:9:50 | jvmFieldAnnotatedField : String | ReadsFields.java:7:10:7:41 | HasFields.jvmFieldAnnotatedField | provenance | |
88
| hasFields.kt:9:44:9:50 | "taint" : String | hasFields.kt:9:5:9:50 | jvmFieldAnnotatedField : String | provenance | |
9-
| hasFields.kt:14:22:14:26 | "taint" : String | hasFields.kt:7:14:7:38 | <set-?> : String | provenance | |
9+
| hasFields.kt:14:21:14:27 | "taint" : String | hasFields.kt:7:5:7:38 | <set-?> : String | provenance | |
1010
nodes
1111
| ReadsFields.java:5:10:5:29 | HasFields.constField | semmle.label | HasFields.constField |
1212
| ReadsFields.java:6:10:6:32 | HasFields.lateinitField | semmle.label | HasFields.lateinitField |
1313
| ReadsFields.java:7:10:7:41 | HasFields.jvmFieldAnnotatedField | semmle.label | HasFields.jvmFieldAnnotatedField |
1414
| hasFields.kt:5:5:5:34 | constField : String | semmle.label | constField : String |
1515
| hasFields.kt:5:28:5:34 | "taint" : String | semmle.label | "taint" : String |
16+
| hasFields.kt:7:5:7:38 | <set-?> : String | semmle.label | <set-?> : String |
17+
| hasFields.kt:7:5:7:38 | <set-?> : String | semmle.label | <set-?> : String |
1618
| hasFields.kt:7:5:7:38 | lateinitField : String | semmle.label | lateinitField : String |
17-
| hasFields.kt:7:14:7:38 | <set-?> : String | semmle.label | <set-?> : String |
18-
| hasFields.kt:7:14:7:38 | <set-?> : String | semmle.label | <set-?> : String |
1919
| hasFields.kt:9:5:9:50 | jvmFieldAnnotatedField : String | semmle.label | jvmFieldAnnotatedField : String |
2020
| hasFields.kt:9:44:9:50 | "taint" : String | semmle.label | "taint" : String |
21-
| hasFields.kt:14:22:14:26 | "taint" : String | semmle.label | "taint" : String |
21+
| hasFields.kt:14:21:14:27 | "taint" : String | semmle.label | "taint" : String |
2222
subpaths
2323
#select
2424
| hasFields.kt:5:28:5:34 | "taint" : String | hasFields.kt:5:28:5:34 | "taint" : String | ReadsFields.java:5:10:5:29 | HasFields.constField | flow path |
2525
| hasFields.kt:9:44:9:50 | "taint" : String | hasFields.kt:9:44:9:50 | "taint" : String | ReadsFields.java:7:10:7:41 | HasFields.jvmFieldAnnotatedField | flow path |
26-
| hasFields.kt:14:22:14:26 | "taint" : String | hasFields.kt:14:22:14:26 | "taint" : String | ReadsFields.java:6:10:6:32 | HasFields.lateinitField | flow path |
26+
| hasFields.kt:14:21:14:27 | "taint" : String | hasFields.kt:14:21:14:27 | "taint" : String | ReadsFields.java:6:10:6:32 | HasFields.lateinitField | flow path |

0 commit comments

Comments
 (0)