package io.gitlab.jfronny.muscript.data.dynamic; import io.gitlab.jfronny.muscript.compiler.ExprWriter; import java.io.IOException; import java.util.List; public non-sealed interface DList extends Dynamic>> { default Dynamic get(int i) { return getValue().get(i); } default int size() { return getValue().size(); } default boolean isEmpty() { return getValue().isEmpty(); } @Override default void serialize(ExprWriter writer) throws IOException { writer.append("listOf("); boolean first = true; for (Dynamic dynamic : getValue()) { if (!first) writer.append(", "); first = false; dynamic.serialize(writer); } writer.append(')'); } }