Skip to content

Commit 79d9109

Browse files
authored
Merge pull request #15428 from igfoo/igfoo/catch_illegal_arg
Kotlin: Catch/ignore a IllegalArgumentException exception
2 parents 76e417c + c0a9c11 commit 79d9109

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

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

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -990,21 +990,26 @@ open class KotlinFileExtractor(
990990
}
991991
}
992992
} else {
993-
c.declarations.forEach {
994-
extractDeclaration(
995-
it,
996-
extractPrivateMembers = extractPrivateMembers,
997-
extractFunctionBodies = extractFunctionBodies,
998-
extractAnnotations = true
993+
try {
994+
c.declarations.forEach {
995+
extractDeclaration(
996+
it,
997+
extractPrivateMembers = extractPrivateMembers,
998+
extractFunctionBodies = extractFunctionBodies,
999+
extractAnnotations = true
1000+
)
1001+
}
1002+
if (extractStaticInitializer) extractStaticInitializer(c, { id })
1003+
extractJvmStaticProxyMethods(
1004+
c,
1005+
id,
1006+
extractPrivateMembers,
1007+
extractFunctionBodies
9991008
)
1009+
} catch (e: IllegalArgumentException) {
1010+
// A Kotlin bug causes this to throw: https://youtrack.jetbrains.com/issue/KT-63847/K2-IllegalStateException-IrFieldPublicSymbolImpl-for-java.time-Clock.OffsetClock.offset0-is-already-bound
1011+
// TODO: This should either be removed or log something, once the bug is fixed
10001012
}
1001-
if (extractStaticInitializer) extractStaticInitializer(c, { id })
1002-
extractJvmStaticProxyMethods(
1003-
c,
1004-
id,
1005-
extractPrivateMembers,
1006-
extractFunctionBodies
1007-
)
10081013
}
10091014
}
10101015
if (c.isNonCompanionObject) {

0 commit comments

Comments
 (0)