Skip to content

Commit 0a75372

Browse files
committed
Introduce a workaround for apiCheck similar to apiDump
Also, update the dump to reflect the actual state of the Gradle plugin. Reorders entries in the dumps: Kotlin/binary-compatibility-validator#225, Kotlin/binary-compatibility-validator#196 Removes internal constants from the dump: Kotlin/binary-compatibility-validator#90 Fixes #248
1 parent a7d3c8a commit 0a75372

File tree

4 files changed

+86
-56
lines changed

4 files changed

+86
-56
lines changed

build.gradle

+5
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ tasks.register("apiDump") {
5858
it.dependsOn(gradle.includedBuild("plugin").task(":apiDump"))
5959
}
6060

61+
tasks.register("apiCheck") {
62+
it.dependsOn(gradle.includedBuild("plugin").task(":apiCheck"))
63+
}
64+
6165
afterEvaluate {
6266
gradle.includedBuilds.forEach { included ->
6367
project(":kotlinx-benchmark-runtime").tasks.named("publishToMavenLocal") { dependsOn(included.task(":publishToMavenLocal")) }
@@ -110,4 +114,5 @@ tasks.register("checkReadme", CheckReadmeTask) {
110114

111115
tasks.check {
112116
dependsOn(tasks.named("checkReadme"))
117+
dependsOn(tasks.named("apiCheck"))
113118
}

plugin/api/kotlinx-benchmark-plugin.api

+11-12
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@ public class kotlinx/benchmark/gradle/BenchmarkTarget {
3434
public final fun setWorkingDir (Ljava/lang/String;)V
3535
}
3636

37-
public class kotlinx/benchmark/gradle/BenchmarksExtension {
37+
public abstract class kotlinx/benchmark/gradle/BenchmarksExtension {
3838
public final fun configurations (Lgroovy/lang/Closure;)Lorg/gradle/api/NamedDomainObjectContainer;
3939
public final fun getBenchsDescriptionDir ()Ljava/lang/String;
4040
public final fun getBuildDir ()Ljava/lang/String;
4141
public final fun getConfigurations ()Lorg/gradle/api/NamedDomainObjectContainer;
42+
public abstract fun getKotlinCompilerVersion ()Lorg/gradle/api/provider/Property;
4243
public final fun getProject ()Lorg/gradle/api/Project;
4344
public final fun getReportsDir ()Ljava/lang/String;
4445
public final fun getTargets ()Lorg/gradle/api/NamedDomainObjectContainer;
@@ -56,15 +57,8 @@ public final class kotlinx/benchmark/gradle/BenchmarksExtensionKt {
5657
public abstract class kotlinx/benchmark/gradle/BenchmarksPlugin : org/gradle/api/Plugin {
5758
public static final field ASSEMBLE_BENCHMARKS_TASKNAME Ljava/lang/String;
5859
public static final field BENCHMARKS_TASK_GROUP Ljava/lang/String;
59-
public static final field BENCHMARK_COMPILATION_SUFFIX Ljava/lang/String;
60-
public static final field BENCHMARK_COMPILE_SUFFIX Ljava/lang/String;
61-
public static final field BENCHMARK_EXEC_SUFFIX Ljava/lang/String;
6260
public static final field BENCHMARK_EXTENSION_NAME Ljava/lang/String;
63-
public static final field BENCHMARK_GENERATE_SUFFIX Ljava/lang/String;
64-
public static final field BENCHMARK_JAR_SUFFIX Ljava/lang/String;
6561
public static final field Companion Lkotlinx/benchmark/gradle/BenchmarksPlugin$Companion;
66-
public static final field JMH_CORE_DEPENDENCY Ljava/lang/String;
67-
public static final field JMH_GENERATOR_DEPENDENCY Ljava/lang/String;
6862
public static final field PLUGIN_ID Ljava/lang/String;
6963
public static final field PLUGIN_VERSION Ljava/lang/String;
7064
public static final field RUN_BENCHMARKS_TASKNAME Ljava/lang/String;
@@ -111,7 +105,7 @@ public final class kotlinx/benchmark/gradle/JsBenchmarksExecutor : java/lang/Enu
111105
public static fun values ()[Lkotlinx/benchmark/gradle/JsBenchmarksExecutor;
112106
}
113107

114-
public class kotlinx/benchmark/gradle/JsSourceGeneratorTask : org/gradle/api/DefaultTask {
108+
public abstract class kotlinx/benchmark/gradle/JsSourceGeneratorTask : org/gradle/api/DefaultTask {
115109
public field inputClassesDirs Lorg/gradle/api/file/FileCollection;
116110
public field inputDependencies Lorg/gradle/api/file/FileCollection;
117111
public field outputResourcesDir Ljava/io/File;
@@ -122,6 +116,7 @@ public class kotlinx/benchmark/gradle/JsSourceGeneratorTask : org/gradle/api/Def
122116
public final fun getInputDependencies ()Lorg/gradle/api/file/FileCollection;
123117
public final fun getOutputResourcesDir ()Ljava/io/File;
124118
public final fun getOutputSourcesDir ()Ljava/io/File;
119+
public abstract fun getRuntimeClasspath ()Lorg/gradle/api/file/ConfigurableFileCollection;
125120
public final fun getTitle ()Ljava/lang/String;
126121
public final fun getUseBenchmarkJs ()Z
127122
public final fun setInputClassesDirs (Lorg/gradle/api/file/FileCollection;)V
@@ -140,7 +135,7 @@ public abstract class kotlinx/benchmark/gradle/JvmBenchmarkTarget : kotlinx/benc
140135
public class kotlinx/benchmark/gradle/KotlinJvmBenchmarkTarget : kotlinx/benchmark/gradle/JvmBenchmarkTarget {
141136
}
142137

143-
public class kotlinx/benchmark/gradle/NativeBenchmarkExec : org/gradle/api/DefaultTask {
138+
public abstract class kotlinx/benchmark/gradle/NativeBenchmarkExec : org/gradle/api/DefaultTask {
144139
public field benchProgressPath Ljava/lang/String;
145140
public field benchsDescriptionDir Ljava/io/File;
146141
public field configFile Ljava/io/File;
@@ -164,9 +159,11 @@ public class kotlinx/benchmark/gradle/NativeBenchmarkExec : org/gradle/api/Defau
164159
}
165160

166161
public final class kotlinx/benchmark/gradle/NativeBenchmarkTarget : kotlinx/benchmark/gradle/BenchmarkTarget {
162+
public final fun getBuildType ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/NativeBuildType;
163+
public final fun setBuildType (Lorg/jetbrains/kotlin/gradle/plugin/mpp/NativeBuildType;)V
167164
}
168165

169-
public class kotlinx/benchmark/gradle/NativeSourceGeneratorTask : org/gradle/api/DefaultTask {
166+
public abstract class kotlinx/benchmark/gradle/NativeSourceGeneratorTask : org/gradle/api/DefaultTask {
170167
public field inputClassesDirs Lorg/gradle/api/file/FileCollection;
171168
public field inputDependencies Lorg/gradle/api/file/FileCollection;
172169
public field nativeTarget Ljava/lang/String;
@@ -179,6 +176,7 @@ public class kotlinx/benchmark/gradle/NativeSourceGeneratorTask : org/gradle/api
179176
public final fun getNativeTarget ()Ljava/lang/String;
180177
public final fun getOutputResourcesDir ()Ljava/io/File;
181178
public final fun getOutputSourcesDir ()Ljava/io/File;
179+
public abstract fun getRuntimeClasspath ()Lorg/gradle/api/file/ConfigurableFileCollection;
182180
public final fun getTitle ()Ljava/lang/String;
183181
public final fun setInputClassesDirs (Lorg/gradle/api/file/FileCollection;)V
184182
public final fun setInputDependencies (Lorg/gradle/api/file/FileCollection;)V
@@ -196,7 +194,7 @@ public final class kotlinx/benchmark/gradle/UtilsKt$sam$i$org_gradle_api_Action$
196194
public final class kotlinx/benchmark/gradle/WasmBenchmarkTarget : kotlinx/benchmark/gradle/BenchmarkTarget {
197195
}
198196

199-
public class kotlinx/benchmark/gradle/WasmSourceGeneratorTask : org/gradle/api/DefaultTask {
197+
public abstract class kotlinx/benchmark/gradle/WasmSourceGeneratorTask : org/gradle/api/DefaultTask {
200198
public field inputClassesDirs Lorg/gradle/api/file/FileCollection;
201199
public field inputDependencies Lorg/gradle/api/file/FileCollection;
202200
public field outputResourcesDir Ljava/io/File;
@@ -207,6 +205,7 @@ public class kotlinx/benchmark/gradle/WasmSourceGeneratorTask : org/gradle/api/D
207205
public final fun getInputDependencies ()Lorg/gradle/api/file/FileCollection;
208206
public final fun getOutputResourcesDir ()Ljava/io/File;
209207
public final fun getOutputSourcesDir ()Ljava/io/File;
208+
public abstract fun getRuntimeClasspath ()Lorg/gradle/api/file/ConfigurableFileCollection;
210209
public final fun getTitle ()Ljava/lang/String;
211210
public final fun setInputClassesDirs (Lorg/gradle/api/file/FileCollection;)V
212211
public final fun setInputDependencies (Lorg/gradle/api/file/FileCollection;)V

plugin/main/src/kotlinx/benchmark/gradle/BenchmarksPlugin.kt

-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ constructor(
3030
const val ASSEMBLE_BENCHMARKS_TASKNAME = "assembleBenchmarks"
3131

3232
//region Internal constants
33-
// Note that despite the @InternalApi annotation, `const val`s are still present in the API Dump
34-
// https://github.com/Kotlin/binary-compatibility-validator/issues/90
3533
@KotlinxBenchmarkPluginInternalApi
3634
const val BENCHMARK_GENERATE_SUFFIX = "BenchmarkGenerate"
3735

runtime/api/kotlinx-benchmark-runtime.klib.api

+70-42
Original file line numberDiff line numberDiff line change
@@ -6,61 +6,24 @@
66
// - Show declarations: true
77

88
// Library unique name: <org.jetbrains.kotlinx:kotlinx-benchmark-runtime>
9-
final class kotlinx.benchmark/Blackhole { // kotlinx.benchmark/Blackhole|null[0]
10-
constructor <init>() // kotlinx.benchmark/Blackhole.<init>|<init>(){}[0]
11-
final inline fun consume(kotlin/Any?) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Any?){}[0]
12-
final inline fun consume(kotlin/Boolean) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Boolean){}[0]
13-
final inline fun consume(kotlin/Byte) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Byte){}[0]
14-
final inline fun consume(kotlin/Char) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Char){}[0]
15-
final inline fun consume(kotlin/Double) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Double){}[0]
16-
final inline fun consume(kotlin/Float) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Float){}[0]
17-
final inline fun consume(kotlin/Int) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Int){}[0]
18-
final inline fun consume(kotlin/Long) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Long){}[0]
19-
final inline fun consume(kotlin/Short) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Short){}[0]
20-
// Targets: [js.jsIr, wasmJs]
21-
final fun consumeAny(kotlin/Any?) // kotlinx.benchmark/Blackhole.consumeAny|consumeAny(kotlin.Any?){}[0]
22-
// Targets: [js.jsIr, wasmJs]
23-
final fun consumeInt(kotlin/Int) // kotlinx.benchmark/Blackhole.consumeInt|consumeInt(kotlin.Int){}[0]
24-
}
25-
final enum class kotlinx.benchmark/BenchmarkTimeUnit : kotlin/Enum<kotlinx.benchmark/BenchmarkTimeUnit> { // kotlinx.benchmark/BenchmarkTimeUnit|null[0]
26-
enum entry MICROSECONDS // kotlinx.benchmark/BenchmarkTimeUnit.MICROSECONDS|null[0]
27-
enum entry MILLISECONDS // kotlinx.benchmark/BenchmarkTimeUnit.MILLISECONDS|null[0]
28-
enum entry MINUTES // kotlinx.benchmark/BenchmarkTimeUnit.MINUTES|null[0]
29-
enum entry NANOSECONDS // kotlinx.benchmark/BenchmarkTimeUnit.NANOSECONDS|null[0]
30-
enum entry SECONDS // kotlinx.benchmark/BenchmarkTimeUnit.SECONDS|null[0]
31-
final fun valueOf(kotlin/String): kotlinx.benchmark/BenchmarkTimeUnit // kotlinx.benchmark/BenchmarkTimeUnit.valueOf|valueOf#static(kotlin.String){}[0]
32-
final fun values(): kotlin/Array<kotlinx.benchmark/BenchmarkTimeUnit> // kotlinx.benchmark/BenchmarkTimeUnit.values|values#static(){}[0]
33-
final val entries // kotlinx.benchmark/BenchmarkTimeUnit.entries|#static{}entries[0]
34-
final fun <get-entries>(): kotlin.enums/EnumEntries<kotlinx.benchmark/BenchmarkTimeUnit> // kotlinx.benchmark/BenchmarkTimeUnit.entries.<get-entries>|<get-entries>#static(){}[0]
35-
}
36-
final enum class kotlinx.benchmark/Mode : kotlin/Enum<kotlinx.benchmark/Mode> { // kotlinx.benchmark/Mode|null[0]
37-
enum entry AverageTime // kotlinx.benchmark/Mode.AverageTime|null[0]
38-
enum entry Throughput // kotlinx.benchmark/Mode.Throughput|null[0]
39-
final fun valueOf(kotlin/String): kotlinx.benchmark/Mode // kotlinx.benchmark/Mode.valueOf|valueOf#static(kotlin.String){}[0]
40-
final fun values(): kotlin/Array<kotlinx.benchmark/Mode> // kotlinx.benchmark/Mode.values|values#static(){}[0]
41-
final val entries // kotlinx.benchmark/Mode.entries|#static{}entries[0]
42-
final fun <get-entries>(): kotlin.enums/EnumEntries<kotlinx.benchmark/Mode> // kotlinx.benchmark/Mode.entries.<get-entries>|<get-entries>#static(){}[0]
43-
}
44-
final enum class kotlinx.benchmark/Scope : kotlin/Enum<kotlinx.benchmark/Scope> { // kotlinx.benchmark/Scope|null[0]
45-
enum entry Benchmark // kotlinx.benchmark/Scope.Benchmark|null[0]
46-
final fun valueOf(kotlin/String): kotlinx.benchmark/Scope // kotlinx.benchmark/Scope.valueOf|valueOf#static(kotlin.String){}[0]
47-
final fun values(): kotlin/Array<kotlinx.benchmark/Scope> // kotlinx.benchmark/Scope.values|values#static(){}[0]
48-
final val entries // kotlinx.benchmark/Scope.entries|#static{}entries[0]
49-
final fun <get-entries>(): kotlin.enums/EnumEntries<kotlinx.benchmark/Scope> // kotlinx.benchmark/Scope.entries.<get-entries>|<get-entries>#static(){}[0]
50-
}
519
open annotation class kotlinx.benchmark.internal/KotlinxBenchmarkRuntimeInternalApi : kotlin/Annotation { // kotlinx.benchmark.internal/KotlinxBenchmarkRuntimeInternalApi|null[0]
5210
constructor <init>() // kotlinx.benchmark.internal/KotlinxBenchmarkRuntimeInternalApi.<init>|<init>(){}[0]
5311
}
12+
5413
open annotation class kotlinx.benchmark/Benchmark : kotlin/Annotation { // kotlinx.benchmark/Benchmark|null[0]
5514
constructor <init>() // kotlinx.benchmark/Benchmark.<init>|<init>(){}[0]
5615
}
16+
5717
open annotation class kotlinx.benchmark/BenchmarkMode : kotlin/Annotation { // kotlinx.benchmark/BenchmarkMode|null[0]
5818
constructor <init>(kotlin/Array<out kotlinx.benchmark/Mode>...) // kotlinx.benchmark/BenchmarkMode.<init>|<init>(kotlin.Array<out|kotlinx.benchmark.Mode>...){}[0]
19+
5920
final val value // kotlinx.benchmark/BenchmarkMode.value|{}value[0]
6021
final fun <get-value>(): kotlin/Array<out kotlinx.benchmark/Mode> // kotlinx.benchmark/BenchmarkMode.value.<get-value>|<get-value>(){}[0]
6122
}
23+
6224
open annotation class kotlinx.benchmark/Measurement : kotlin/Annotation { // kotlinx.benchmark/Measurement|null[0]
6325
constructor <init>(kotlin/Int =..., kotlin/Int =..., kotlinx.benchmark/BenchmarkTimeUnit =..., kotlin/Int =...) // kotlinx.benchmark/Measurement.<init>|<init>(kotlin.Int;kotlin.Int;kotlinx.benchmark.BenchmarkTimeUnit;kotlin.Int){}[0]
26+
6427
final val batchSize // kotlinx.benchmark/Measurement.batchSize|{}batchSize[0]
6528
final fun <get-batchSize>(): kotlin/Int // kotlinx.benchmark/Measurement.batchSize.<get-batchSize>|<get-batchSize>(){}[0]
6629
final val iterations // kotlinx.benchmark/Measurement.iterations|{}iterations[0]
@@ -70,29 +33,39 @@ open annotation class kotlinx.benchmark/Measurement : kotlin/Annotation { // kot
7033
final val timeUnit // kotlinx.benchmark/Measurement.timeUnit|{}timeUnit[0]
7134
final fun <get-timeUnit>(): kotlinx.benchmark/BenchmarkTimeUnit // kotlinx.benchmark/Measurement.timeUnit.<get-timeUnit>|<get-timeUnit>(){}[0]
7235
}
36+
7337
open annotation class kotlinx.benchmark/OutputTimeUnit : kotlin/Annotation { // kotlinx.benchmark/OutputTimeUnit|null[0]
7438
constructor <init>(kotlinx.benchmark/BenchmarkTimeUnit) // kotlinx.benchmark/OutputTimeUnit.<init>|<init>(kotlinx.benchmark.BenchmarkTimeUnit){}[0]
39+
7540
final val value // kotlinx.benchmark/OutputTimeUnit.value|{}value[0]
7641
final fun <get-value>(): kotlinx.benchmark/BenchmarkTimeUnit // kotlinx.benchmark/OutputTimeUnit.value.<get-value>|<get-value>(){}[0]
7742
}
43+
7844
open annotation class kotlinx.benchmark/Param : kotlin/Annotation { // kotlinx.benchmark/Param|null[0]
7945
constructor <init>(kotlin/Array<out kotlin/String>...) // kotlinx.benchmark/Param.<init>|<init>(kotlin.Array<out|kotlin.String>...){}[0]
46+
8047
final val value // kotlinx.benchmark/Param.value|{}value[0]
8148
final fun <get-value>(): kotlin/Array<out kotlin/String> // kotlinx.benchmark/Param.value.<get-value>|<get-value>(){}[0]
8249
}
50+
8351
open annotation class kotlinx.benchmark/Setup : kotlin/Annotation { // kotlinx.benchmark/Setup|null[0]
8452
constructor <init>() // kotlinx.benchmark/Setup.<init>|<init>(){}[0]
8553
}
54+
8655
open annotation class kotlinx.benchmark/State : kotlin/Annotation { // kotlinx.benchmark/State|null[0]
8756
constructor <init>(kotlinx.benchmark/Scope) // kotlinx.benchmark/State.<init>|<init>(kotlinx.benchmark.Scope){}[0]
57+
8858
final val value // kotlinx.benchmark/State.value|{}value[0]
8959
final fun <get-value>(): kotlinx.benchmark/Scope // kotlinx.benchmark/State.value.<get-value>|<get-value>(){}[0]
9060
}
61+
9162
open annotation class kotlinx.benchmark/TearDown : kotlin/Annotation { // kotlinx.benchmark/TearDown|null[0]
9263
constructor <init>() // kotlinx.benchmark/TearDown.<init>|<init>(){}[0]
9364
}
65+
9466
open annotation class kotlinx.benchmark/Warmup : kotlin/Annotation { // kotlinx.benchmark/Warmup|null[0]
9567
constructor <init>(kotlin/Int =..., kotlin/Int =..., kotlinx.benchmark/BenchmarkTimeUnit =..., kotlin/Int =...) // kotlinx.benchmark/Warmup.<init>|<init>(kotlin.Int;kotlin.Int;kotlinx.benchmark.BenchmarkTimeUnit;kotlin.Int){}[0]
68+
9669
final val batchSize // kotlinx.benchmark/Warmup.batchSize|{}batchSize[0]
9770
final fun <get-batchSize>(): kotlin/Int // kotlinx.benchmark/Warmup.batchSize.<get-batchSize>|<get-batchSize>(){}[0]
9871
final val iterations // kotlinx.benchmark/Warmup.iterations|{}iterations[0]
@@ -102,3 +75,58 @@ open annotation class kotlinx.benchmark/Warmup : kotlin/Annotation { // kotlinx.
10275
final val timeUnit // kotlinx.benchmark/Warmup.timeUnit|{}timeUnit[0]
10376
final fun <get-timeUnit>(): kotlinx.benchmark/BenchmarkTimeUnit // kotlinx.benchmark/Warmup.timeUnit.<get-timeUnit>|<get-timeUnit>(){}[0]
10477
}
78+
79+
final enum class kotlinx.benchmark/BenchmarkTimeUnit : kotlin/Enum<kotlinx.benchmark/BenchmarkTimeUnit> { // kotlinx.benchmark/BenchmarkTimeUnit|null[0]
80+
enum entry MICROSECONDS // kotlinx.benchmark/BenchmarkTimeUnit.MICROSECONDS|null[0]
81+
enum entry MILLISECONDS // kotlinx.benchmark/BenchmarkTimeUnit.MILLISECONDS|null[0]
82+
enum entry MINUTES // kotlinx.benchmark/BenchmarkTimeUnit.MINUTES|null[0]
83+
enum entry NANOSECONDS // kotlinx.benchmark/BenchmarkTimeUnit.NANOSECONDS|null[0]
84+
enum entry SECONDS // kotlinx.benchmark/BenchmarkTimeUnit.SECONDS|null[0]
85+
86+
final val entries // kotlinx.benchmark/BenchmarkTimeUnit.entries|#static{}entries[0]
87+
final fun <get-entries>(): kotlin.enums/EnumEntries<kotlinx.benchmark/BenchmarkTimeUnit> // kotlinx.benchmark/BenchmarkTimeUnit.entries.<get-entries>|<get-entries>#static(){}[0]
88+
89+
final fun valueOf(kotlin/String): kotlinx.benchmark/BenchmarkTimeUnit // kotlinx.benchmark/BenchmarkTimeUnit.valueOf|valueOf#static(kotlin.String){}[0]
90+
final fun values(): kotlin/Array<kotlinx.benchmark/BenchmarkTimeUnit> // kotlinx.benchmark/BenchmarkTimeUnit.values|values#static(){}[0]
91+
}
92+
93+
final enum class kotlinx.benchmark/Mode : kotlin/Enum<kotlinx.benchmark/Mode> { // kotlinx.benchmark/Mode|null[0]
94+
enum entry AverageTime // kotlinx.benchmark/Mode.AverageTime|null[0]
95+
enum entry Throughput // kotlinx.benchmark/Mode.Throughput|null[0]
96+
97+
final val entries // kotlinx.benchmark/Mode.entries|#static{}entries[0]
98+
final fun <get-entries>(): kotlin.enums/EnumEntries<kotlinx.benchmark/Mode> // kotlinx.benchmark/Mode.entries.<get-entries>|<get-entries>#static(){}[0]
99+
100+
final fun valueOf(kotlin/String): kotlinx.benchmark/Mode // kotlinx.benchmark/Mode.valueOf|valueOf#static(kotlin.String){}[0]
101+
final fun values(): kotlin/Array<kotlinx.benchmark/Mode> // kotlinx.benchmark/Mode.values|values#static(){}[0]
102+
}
103+
104+
final enum class kotlinx.benchmark/Scope : kotlin/Enum<kotlinx.benchmark/Scope> { // kotlinx.benchmark/Scope|null[0]
105+
enum entry Benchmark // kotlinx.benchmark/Scope.Benchmark|null[0]
106+
107+
final val entries // kotlinx.benchmark/Scope.entries|#static{}entries[0]
108+
final fun <get-entries>(): kotlin.enums/EnumEntries<kotlinx.benchmark/Scope> // kotlinx.benchmark/Scope.entries.<get-entries>|<get-entries>#static(){}[0]
109+
110+
final fun valueOf(kotlin/String): kotlinx.benchmark/Scope // kotlinx.benchmark/Scope.valueOf|valueOf#static(kotlin.String){}[0]
111+
final fun values(): kotlin/Array<kotlinx.benchmark/Scope> // kotlinx.benchmark/Scope.values|values#static(){}[0]
112+
}
113+
114+
final class kotlinx.benchmark/Blackhole { // kotlinx.benchmark/Blackhole|null[0]
115+
constructor <init>() // kotlinx.benchmark/Blackhole.<init>|<init>(){}[0]
116+
117+
final inline fun consume(kotlin/Any?) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Any?){}[0]
118+
final inline fun consume(kotlin/Boolean) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Boolean){}[0]
119+
final inline fun consume(kotlin/Byte) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Byte){}[0]
120+
final inline fun consume(kotlin/Char) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Char){}[0]
121+
final inline fun consume(kotlin/Double) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Double){}[0]
122+
final inline fun consume(kotlin/Float) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Float){}[0]
123+
final inline fun consume(kotlin/Int) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Int){}[0]
124+
final inline fun consume(kotlin/Long) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Long){}[0]
125+
final inline fun consume(kotlin/Short) // kotlinx.benchmark/Blackhole.consume|consume(kotlin.Short){}[0]
126+
127+
// Targets: [js.jsIr, wasmJs]
128+
final fun consumeAny(kotlin/Any?) // kotlinx.benchmark/Blackhole.consumeAny|consumeAny(kotlin.Any?){}[0]
129+
130+
// Targets: [js.jsIr, wasmJs]
131+
final fun consumeInt(kotlin/Int) // kotlinx.benchmark/Blackhole.consumeInt|consumeInt(kotlin.Int){}[0]
132+
}

0 commit comments

Comments
 (0)