Kotlin в java преобразование DefaultConstructorMarker не публикуется c в kotlin .jvm.internal - PullRequest
1 голос
/ 24 февраля 2020

Я скачал файл kotlin с github и хотел преобразовать его в файл java. Я сделал это с помощью Tools> Kotlin> Show kotlin ByteCode и затем декомпиляции. Файл Kotlin находится ниже:

 package io.pokemon.core
 import io.pokemon.model.Card
 import io.pokemon.util.random.Randomiser
 import io.pokemon.viewmodel.Round

 class RoundFactoryImpl(private val randomiser: Randomiser) : RoundFactory {
   override fun buildRound(cards: List<Card>): Round = Round() 
 }

После копирования декомпилированного кода kotlin в файл java я получил ошибку: DefaultConstructorMarker не опубликован c в kotlin .jvm. внутренний; невозможно получить доступ из внешнего пакета.

Я попытался исправить это, добавив код в DefaultConstructorMarker, однако это не помогло исправить ошибку.

package io.pokemon.core;
import io.pokemon.model.Card;
import io.pokemon.util.random.Randomiser;
import io.pokemon.viewmodel.Round;
import java.util.List;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import org.jetbrains.annotations.NotNull;

@Metadata(
...
)
public final class RoundFactoryImpl implements RoundFactory {
    private final Randomiser randomiser;

   @NotNull
   public Round buildRound(@NotNull List cards) {
      Intrinsics.checkParameterIsNotNull(cards, "cards");
      return new Round((List)null, (Card)null, 3, (DefaultConstructorMarker)null);
  }

  public RoundFactoryImpl(@NotNull Randomiser randomiser) {
      super();
      Intrinsics.checkParameterIsNotNull(randomiser, "randomiser");
      this.randomiser = randomiser;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...