mirror of
https://github.com/github/codeql.git
synced 2026-04-28 18:25:24 +02:00
Merge pull request #11637 from igfoo/igfoo/kotlin-1.8
Kotlin: Add 1.8 support
This commit is contained in:
@@ -146,25 +146,24 @@ test.kt:
|
||||
# 19| 1: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 20| 2: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 20| 1: [ArrayInit] {...}
|
||||
# 20| 1: [IntegerLiteral] 1
|
||||
# 21| 3: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [IntegerLiteral] 2
|
||||
# 21| 1: [ArrayInit] {...}
|
||||
# 21| 1: [IntegerLiteral] 1
|
||||
# 21| 2: [IntegerLiteral] 2
|
||||
# 22| 4: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [IntegerLiteral] 2
|
||||
# 0| 3: [IntegerLiteral] 3
|
||||
# 22| 1: [ArrayInit] {...}
|
||||
# 22| 1: [IntegerLiteral] 1
|
||||
# 22| 2: [IntegerLiteral] 2
|
||||
# 22| 3: [IntegerLiteral] 3
|
||||
# 23| 5: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [IntegerLiteral] 2
|
||||
# 0| 3: [IntegerLiteral] 3
|
||||
# 23| 1: [ArrayInit] {...}
|
||||
# 23| 1: [IntegerLiteral] 1
|
||||
# 23| 2: [IntegerLiteral] 2
|
||||
# 23| 3: [IntegerLiteral] 3
|
||||
# 17| 2: [Annotation] Ann1
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [Annotation] Ann2
|
||||
# 0| 1: [Annotation] Ann2
|
||||
# 0| 1: [StringLiteral] "Hello"
|
||||
# 0| 2: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
@@ -182,16 +181,17 @@ test.kt:
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 0| 2: [TypeLiteral] int.class
|
||||
# 0| 0: [TypeAccess] int
|
||||
# 0| 3: [VarAccess] DayOfWeek.MONDAY
|
||||
# 0| -1: [TypeAccess] DayOfWeek
|
||||
# 17| 2: [IntegerLiteral] 1
|
||||
# 17| 3: [VarAccess] DayOfWeek.MONDAY
|
||||
# 17| -1: [TypeAccess] DayOfWeek
|
||||
# 18| 3: [Annotation] GenericAnnotation
|
||||
# 0| 1: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 0| 2: [ArrayInit] {...}
|
||||
# 0| 1: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 0| 2: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 18| 1: [TypeLiteral] String.class
|
||||
# 18| 0: [TypeAccess] String
|
||||
# 18| 2: [ArrayInit] {...}
|
||||
# 18| 1: [TypeLiteral] String.class
|
||||
# 18| 0: [TypeAccess] String
|
||||
# 18| 2: [TypeLiteral] String.class
|
||||
# 18| 0: [TypeAccess] String
|
||||
# 24| 4: [Annotation] AnnWithDefaults
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [StringLiteral] "hello"
|
||||
@@ -211,25 +211,24 @@ test.kt:
|
||||
# 29| 1: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 30| 2: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 30| 1: [ArrayInit] {...}
|
||||
# 30| 1: [IntegerLiteral] 1
|
||||
# 31| 3: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [IntegerLiteral] 2
|
||||
# 31| 1: [ArrayInit] {...}
|
||||
# 31| 1: [IntegerLiteral] 1
|
||||
# 31| 2: [IntegerLiteral] 2
|
||||
# 32| 4: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [IntegerLiteral] 2
|
||||
# 0| 3: [IntegerLiteral] 3
|
||||
# 32| 1: [ArrayInit] {...}
|
||||
# 32| 1: [IntegerLiteral] 1
|
||||
# 32| 2: [IntegerLiteral] 2
|
||||
# 32| 3: [IntegerLiteral] 3
|
||||
# 33| 5: [Annotation] VarargAnnotation
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [IntegerLiteral] 2
|
||||
# 0| 3: [IntegerLiteral] 3
|
||||
# 33| 1: [ArrayInit] {...}
|
||||
# 33| 1: [IntegerLiteral] 1
|
||||
# 33| 2: [IntegerLiteral] 2
|
||||
# 33| 3: [IntegerLiteral] 3
|
||||
# 27| 2: [Annotation] Ann1
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [Annotation] Ann2
|
||||
# 0| 1: [Annotation] Ann2
|
||||
# 0| 1: [StringLiteral] "Hello"
|
||||
# 0| 2: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
@@ -247,16 +246,17 @@ test.kt:
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 0| 2: [TypeLiteral] int.class
|
||||
# 0| 0: [TypeAccess] int
|
||||
# 0| 3: [VarAccess] DayOfWeek.MONDAY
|
||||
# 0| -1: [TypeAccess] DayOfWeek
|
||||
# 27| 2: [IntegerLiteral] 1
|
||||
# 27| 3: [VarAccess] DayOfWeek.MONDAY
|
||||
# 27| -1: [TypeAccess] DayOfWeek
|
||||
# 28| 3: [Annotation] GenericAnnotation
|
||||
# 0| 1: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 0| 2: [ArrayInit] {...}
|
||||
# 0| 1: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 0| 2: [TypeLiteral] String.class
|
||||
# 0| 0: [TypeAccess] String
|
||||
# 28| 1: [TypeLiteral] String.class
|
||||
# 28| 0: [TypeAccess] String
|
||||
# 28| 2: [ArrayInit] {...}
|
||||
# 28| 1: [TypeLiteral] String.class
|
||||
# 28| 0: [TypeAccess] String
|
||||
# 28| 2: [TypeLiteral] String.class
|
||||
# 28| 0: [TypeAccess] String
|
||||
# 34| 4: [Annotation] AnnWithDefaults
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 0| 2: [StringLiteral] "hello"
|
||||
@@ -279,7 +279,7 @@ test.kt:
|
||||
# 40| 11: [Class] HasKotlinDeprecatedAnnotationUsedByJava
|
||||
#-----| -3: (Annotations)
|
||||
# 40| 1: [Annotation] Deprecated
|
||||
# 0| 1: [StringLiteral] "Kotlin deprecation message 1"
|
||||
# 40| 1: [StringLiteral] "Kotlin deprecation message 1"
|
||||
# 41| 1: [Constructor] HasKotlinDeprecatedAnnotationUsedByJava
|
||||
# 40| 5: [BlockStmt] { ... }
|
||||
# 40| 0: [SuperConstructorInvocationStmt] super(...)
|
||||
@@ -294,7 +294,7 @@ test.kt:
|
||||
# 46| 13: [Class] HasKotlinDeprecatedAnnotationUsedByKotlin
|
||||
#-----| -3: (Annotations)
|
||||
# 46| 1: [Annotation] Deprecated
|
||||
# 0| 1: [StringLiteral] "Kotlin deprecation message 2"
|
||||
# 46| 1: [StringLiteral] "Kotlin deprecation message 2"
|
||||
# 47| 1: [Constructor] HasKotlinDeprecatedAnnotationUsedByKotlin
|
||||
# 46| 5: [BlockStmt] { ... }
|
||||
# 46| 0: [SuperConstructorInvocationStmt] super(...)
|
||||
|
||||
@@ -32,7 +32,7 @@ with open('logs.csv', 'w', newline='') as f_out:
|
||||
j = json.loads(line)
|
||||
msg = j['message']
|
||||
msg = re.sub(r'(?<=Extraction for invocation TRAP file ).*[\\/]kt-db[\\/]trap[\\/]java[\\/]invocations[\\/]kotlin\..*\.trap', '<FILENAME>', msg)
|
||||
msg = re.sub('(?<=Kotlin version )[0-9.]+', '<VERSION>', msg)
|
||||
msg = re.sub('(?<=Kotlin version )[0-9.]+(-[a-zA-Z0-9.]+)?', '<VERSION>', msg)
|
||||
if msg.startswith('Peak memory: '):
|
||||
# Peak memory information varies from run to run, so just ignore it
|
||||
continue
|
||||
|
||||
@@ -2,11 +2,13 @@ package com.github.codeql
|
||||
|
||||
import com.intellij.mock.MockProject
|
||||
import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext
|
||||
import org.jetbrains.kotlin.backend.common.extensions.FirIncompatiblePluginAPI
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
||||
import org.jetbrains.kotlin.backend.common.ir.addDispatchReceiver
|
||||
import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
|
||||
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
|
||||
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
@@ -35,6 +37,7 @@ import org.jetbrains.kotlin.ir.util.defaultType
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@OptIn(ExperimentalCompilerApi::class)
|
||||
class TestComponentRegistrar : ComponentRegistrar {
|
||||
override fun registerProjectComponents(
|
||||
project: MockProject,
|
||||
@@ -188,6 +191,7 @@ class IrAdder : IrGenerationExtension {
|
||||
}
|
||||
|
||||
private fun addFunWithUnsafeCoerce(declaration: IrClass) {
|
||||
@OptIn(FirIncompatiblePluginAPI::class)
|
||||
val uintType = pluginContext.referenceClass(FqName("kotlin.UInt"))!!.owner.typeWith()
|
||||
declaration.declarations.add(pluginContext.irFactory.buildFun {
|
||||
name = Name.identifier("<fn>")
|
||||
@@ -264,6 +268,7 @@ class IrAdder : IrGenerationExtension {
|
||||
name = Name.identifier("start")
|
||||
origin = IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB
|
||||
modality = Modality.FINAL
|
||||
@OptIn(FirIncompatiblePluginAPI::class)
|
||||
returnType = pluginContext.referenceClass(FqName("java.lang.Process"))!!.owner.defaultType
|
||||
}.apply {
|
||||
addDispatchReceiver { type = processBuilderStubType }
|
||||
|
||||
@@ -108,39 +108,39 @@ def.kt:
|
||||
# 0| 9: [VarAccess] ElementType.TYPE_USE
|
||||
# 0| -1: [TypeAccess] ElementType
|
||||
# 5| 3: [Annotation] Target
|
||||
# 0| 1: [ArrayInit] {...}
|
||||
# 0| 1: [VarAccess] AnnotationTarget.CLASS
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 2: [VarAccess] AnnotationTarget.ANNOTATION_CLASS
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 3: [VarAccess] AnnotationTarget.TYPE_PARAMETER
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 4: [VarAccess] AnnotationTarget.PROPERTY
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 5: [VarAccess] AnnotationTarget.FIELD
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 6: [VarAccess] AnnotationTarget.LOCAL_VARIABLE
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 7: [VarAccess] AnnotationTarget.VALUE_PARAMETER
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 8: [VarAccess] AnnotationTarget.CONSTRUCTOR
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 9: [VarAccess] AnnotationTarget.FUNCTION
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 10: [VarAccess] AnnotationTarget.PROPERTY_GETTER
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 11: [VarAccess] AnnotationTarget.PROPERTY_SETTER
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 12: [VarAccess] AnnotationTarget.TYPE
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 13: [VarAccess] AnnotationTarget.FILE
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 0| 14: [VarAccess] AnnotationTarget.TYPEALIAS
|
||||
# 0| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 1: [ArrayInit] {...}
|
||||
# 5| 1: [VarAccess] AnnotationTarget.CLASS
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 2: [VarAccess] AnnotationTarget.ANNOTATION_CLASS
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 3: [VarAccess] AnnotationTarget.TYPE_PARAMETER
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 4: [VarAccess] AnnotationTarget.PROPERTY
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 5: [VarAccess] AnnotationTarget.FIELD
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 6: [VarAccess] AnnotationTarget.LOCAL_VARIABLE
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 7: [VarAccess] AnnotationTarget.VALUE_PARAMETER
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 8: [VarAccess] AnnotationTarget.CONSTRUCTOR
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 9: [VarAccess] AnnotationTarget.FUNCTION
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 10: [VarAccess] AnnotationTarget.PROPERTY_GETTER
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 11: [VarAccess] AnnotationTarget.PROPERTY_SETTER
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 12: [VarAccess] AnnotationTarget.TYPE
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 13: [VarAccess] AnnotationTarget.FILE
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 5| 14: [VarAccess] AnnotationTarget.TYPEALIAS
|
||||
# 5| -1: [TypeAccess] AnnotationTarget
|
||||
# 21| 1: [Method] a
|
||||
#-----| 1: (Annotations)
|
||||
# 21| 1: [Annotation] JvmName
|
||||
# 0| 1: [StringLiteral] "a"
|
||||
# 21| 1: [StringLiteral] "a"
|
||||
# 21| 3: [TypeAccess] int
|
||||
# 23| 3: [Interface] Annot1k
|
||||
#-----| -3: (Annotations)
|
||||
@@ -201,21 +201,21 @@ def.kt:
|
||||
# 38| 6: [Class] Z
|
||||
#-----| -3: (Annotations)
|
||||
# 38| 1: [Annotation] Annot0k
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 38| 1: [IntegerLiteral] 1
|
||||
# 39| 2: [Annotation] Annot1k
|
||||
# 0| 1: [IntegerLiteral] 2
|
||||
# 0| 2: [StringLiteral] "ab"
|
||||
# 0| 3: [TypeLiteral] X.class
|
||||
# 0| 0: [TypeAccess] X
|
||||
# 0| 4: [VarAccess] Y.B
|
||||
# 0| -1: [TypeAccess] Y
|
||||
# 0| 5: [ArrayInit] {...}
|
||||
# 0| 1: [VarAccess] Y.C
|
||||
# 0| -1: [TypeAccess] Y
|
||||
# 0| 2: [VarAccess] Y.A
|
||||
# 0| -1: [TypeAccess] Y
|
||||
# 0| 6: [Annotation] Annot0k
|
||||
# 0| 4: [Annotation] Annot0k
|
||||
# 0| 1: [IntegerLiteral] 1
|
||||
# 39| 5: [VarAccess] Y.B
|
||||
# 39| -1: [TypeAccess] Y
|
||||
# 39| 6: [ArrayInit] {...}
|
||||
# 39| 1: [VarAccess] Y.C
|
||||
# 39| -1: [TypeAccess] Y
|
||||
# 39| 2: [VarAccess] Y.A
|
||||
# 39| -1: [TypeAccess] Y
|
||||
# 42| 1: [Constructor] Z
|
||||
#-----| 1: (Annotations)
|
||||
# 41| 1: [Annotation] Annot0k
|
||||
|
||||
@@ -36,16 +36,16 @@ annotationValues
|
||||
| def.kt:0:0:0:0 | Retention | def.kt:0:0:0:0 | RetentionPolicy.RUNTIME |
|
||||
| def.kt:0:0:0:0 | Retention | def.kt:0:0:0:0 | RetentionPolicy.RUNTIME |
|
||||
| def.kt:0:0:0:0 | Target | def.kt:0:0:0:0 | {...} |
|
||||
| def.kt:5:1:20:1 | Target | def.kt:0:0:0:0 | {...} |
|
||||
| def.kt:21:26:21:42 | JvmName | def.kt:0:0:0:0 | "a" |
|
||||
| def.kt:5:1:20:1 | Target | def.kt:5:9:5:30 | {...} |
|
||||
| def.kt:21:26:21:42 | JvmName | def.kt:21:39:21:41 | "a" |
|
||||
| def.kt:23:1:23:8 | Annot0k | def.kt:0:0:0:0 | 0 |
|
||||
| def.kt:38:1:38:17 | Annot0k | def.kt:0:0:0:0 | 1 |
|
||||
| def.kt:38:1:38:17 | Annot0k | def.kt:38:16:38:16 | 1 |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:0:0:0:0 | 2 |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:0:0:0:0 | "ab" |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:0:0:0:0 | Annot0k |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:0:0:0:0 | X.class |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:0:0:0:0 | Y.B |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:0:0:0:0 | {...} |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:39:14:39:16 | Y.B |
|
||||
| def.kt:39:1:39:40 | Annot1k | def.kt:39:23:39:39 | {...} |
|
||||
| def.kt:41:5:41:12 | Annot0k | def.kt:0:0:0:0 | 0 |
|
||||
| def.kt:45:1:45:8 | Annot0k | def.kt:0:0:0:0 | 0 |
|
||||
| def.kt:46:21:46:28 | Annot0k | def.kt:0:0:0:0 | 0 |
|
||||
|
||||
@@ -15,6 +15,7 @@ enumConstants
|
||||
| describeConstable |
|
||||
| equals |
|
||||
| finalize |
|
||||
| forEach |
|
||||
| getDeclaringClass |
|
||||
| hasMoreElements |
|
||||
| hashCode |
|
||||
@@ -23,8 +24,12 @@ enumConstants
|
||||
| noneOf |
|
||||
| of |
|
||||
| ordinal |
|
||||
| parallelStream |
|
||||
| range |
|
||||
| resolveConstantDesc |
|
||||
| spliterator |
|
||||
| stream |
|
||||
| toArray |
|
||||
| toString |
|
||||
| typeCheck |
|
||||
| usesEnum |
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
| kotlin.Byte | minus |
|
||||
| kotlin.Byte | plus |
|
||||
| kotlin.Byte | rangeTo |
|
||||
| kotlin.Byte | rangeUntil |
|
||||
| kotlin.Byte | rem |
|
||||
| kotlin.Byte | shortValue |
|
||||
| kotlin.Byte | times |
|
||||
|
||||
@@ -269,6 +269,11 @@ compGenerated
|
||||
| file://<external>/CharRange.class:0:0:0:0 | spliterator | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/Class2.class:0:0:0:0 | getValue | Default property accessor |
|
||||
| file://<external>/Class2.class:0:0:0:0 | getValue | Default property accessor |
|
||||
| file://<external>/EnumEntries.class:0:0:0:0 | forEach | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/EnumEntries.class:0:0:0:0 | parallelStream | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/EnumEntries.class:0:0:0:0 | spliterator | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/EnumEntries.class:0:0:0:0 | stream | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/EnumEntries.class:0:0:0:0 | toArray | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/IntProgression.class:0:0:0:0 | forEach | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/IntProgression.class:0:0:0:0 | spliterator | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/IntRange.class:0:0:0:0 | forEach | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
|
||||
Reference in New Issue
Block a user