Skip to content

Commit cc57cb8

Browse files
authored
Merge branch 'main' into post-release-prep/codeql-cli-2.10.0
2 parents d506f44 + dfe276a commit cc57cb8

File tree

331 files changed

+13176
-3815
lines changed

Some content is hidden

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

331 files changed

+13176
-3815
lines changed

.github/workflows/swift-codegen.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,22 @@ jobs:
1515
- uses: actions/checkout@v3
1616
- uses: ./.github/actions/fetch-codeql
1717
- uses: bazelbuild/setup-bazelisk@v2
18+
- uses: actions/setup-python@v3
19+
- uses: pre-commit/[email protected]
20+
name: Check that python code is properly formatted
21+
with:
22+
extra_args: autopep8 --all-files
1823
- name: Run unit tests
1924
run: |
2025
bazel test //swift/codegen/test --test_output=errors
21-
- name: Check that QL generated code was checked in
22-
run: |
23-
bazel run //swift/codegen
24-
git add swift
25-
git diff --exit-code HEAD
26+
- uses: pre-commit/[email protected]
27+
name: Check that QL generated code was checked in
28+
with:
29+
extra_args: swift-codegen --all-files
2630
- name: Generate C++ files
2731
run: |
28-
bazel run //swift/codegen:codegen -- --generate=trap,cpp --cpp-output=$PWD/swift-generated-headers
32+
bazel run //swift/codegen:codegen -- --generate=trap,cpp --cpp-output=$PWD/swift-generated-cpp-files
2933
- uses: actions/upload-artifact@v3
3034
with:
31-
name: swift-generated-headers
32-
path: swift-generated-headers/*.h
35+
name: swift-generated-cpp-files
36+
path: swift-generated-cpp-files/**

.pre-commit-config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ repos:
1515
- id: clang-format
1616
files: ^swift/.*\.(h|c|cpp)$
1717

18+
- repo: https://github.com/pre-commit/mirrors-autopep8
19+
rev: v1.6.0
20+
hooks:
21+
- id: autopep8
22+
files: ^swift/codegen/.*\.py
23+
1824
- repo: local
1925
hooks:
2026
- id: codeql-format

java/kotlin-extractor/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ sourceSets {
3535
"utils/versions/v_1_5_21/*.kt",
3636
"utils/versions/v_1_5_31/*.kt",
3737
"utils/versions/v_1_6_10/*.kt",
38-
"utils/versions/v_1_7_0-RC/*.kt",
39-
// "utils/versions/v_1_6_20/*.kt",
38+
"utils/versions/v_1_6_20/*.kt",
39+
// "utils/versions/v_1_7_0/*.kt",
4040
]
4141
}
4242
}

java/kotlin-extractor/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
kotlin.code.style=official
2-
kotlinVersion=1.6.20
2+
kotlinVersion=1.7.0
33

44
GROUP=com.github.codeql
55
VERSION_NAME=0.0.1

java/kotlin-extractor/kotlin_plugin_versions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def version_string_to_tuple(version):
2121
m = re.match(r'([0-9]+)\.([0-9]+)\.([0-9]+)(.*)', version)
2222
return tuple([int(m.group(i)) for i in range(1, 4)] + [m.group(4)])
2323

24-
many_versions = [ '1.4.32', '1.5.0', '1.5.10', '1.5.21', '1.5.31', '1.6.10', '1.7.0-RC', '1.6.20' ]
24+
many_versions = [ '1.4.32', '1.5.0', '1.5.10', '1.5.21', '1.5.31', '1.6.10', '1.6.20', '1.7.0' ]
2525

2626
many_versions_tuples = [version_string_to_tuple(v) for v in many_versions]
2727

java/kotlin-extractor/src/main/kotlin/ExternalDeclExtractor.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,32 @@ import com.semmle.extractor.java.OdasaOutput
66
import com.semmle.util.data.StringDigestor
77
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
88
import org.jetbrains.kotlin.ir.declarations.*
9+
import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable
910
import org.jetbrains.kotlin.ir.util.isFileClass
1011
import org.jetbrains.kotlin.ir.util.packageFqName
1112
import org.jetbrains.kotlin.ir.util.parentClassOrNull
13+
import org.jetbrains.kotlin.name.FqName
1214
import java.io.File
1315
import java.util.ArrayList
1416
import java.util.HashSet
1517
import java.util.zip.GZIPOutputStream
1618

1719
class ExternalDeclExtractor(val logger: FileLogger, val invocationTrapFile: String, val sourceFilePath: String, val primitiveTypeMapping: PrimitiveTypeMapping, val pluginContext: IrPluginContext, val globalExtensionState: KotlinExtractorGlobalState, val diagnosticTrapWriter: TrapWriter) {
1820

19-
val externalDeclsDone = HashSet<IrDeclaration>()
21+
val declBinaryNames = HashMap<IrDeclaration, String>()
22+
val externalDeclsDone = HashSet<Pair<String, String>>()
2023
val externalDeclWorkList = ArrayList<Pair<IrDeclaration, String>>()
2124

2225
val propertySignature = ";property"
2326
val fieldSignature = ";field"
2427

25-
fun extractLater(d: IrDeclaration, signature: String): Boolean {
28+
fun extractLater(d: IrDeclarationWithName, signature: String): Boolean {
2629
if (d !is IrClass && !isExternalFileClassMember(d)) {
2730
logger.errorElement("External declaration is neither a class, nor a top-level declaration", d)
2831
return false
2932
}
30-
val ret = externalDeclsDone.add(d)
33+
val declBinaryName = declBinaryNames.getOrPut(d) { getIrDeclBinaryName(d) }
34+
val ret = externalDeclsDone.add(Pair(declBinaryName, signature))
3135
if (ret) externalDeclWorkList.add(Pair(d, signature))
3236
return ret
3337
}

0 commit comments

Comments
 (0)