ursus
05/13/2022, 11:05 PMformat
then there is another damn copy when it proxies to java
TLDR; are vararg apis harmful?ephemient
05/13/2022, 11:37 PMursus
05/14/2022, 12:13 AMfun initialize() {
foo("meh", "yo")
}
fun foo(vararg args: String) {
bar(args = args)
}
fun bar(vararg args: String) {
}
public final void initialize() {
this.foo("meh", "yo");
}
public final void foo(@NotNull String... args) {
Intrinsics.checkNotNullParameter(args, "args");
this.bar((String[])Arrays.copyOf(args, args.length)); <---------------
}
public final void bar(@NotNull String... args) {
Intrinsics.checkNotNullParameter(args, "args");
}
ephemient
05/14/2022, 3:24 AMursus
05/14/2022, 10:12 AM