package scotch.compiler.output;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NonNull;
@AllArgsConstructor
public class GeneratedClass implements Comparable<GeneratedClass> {
@NonNull
private final ClassType type;
@NonNull @Getter
private final String className;
@NonNull @Getter
private final byte[] bytes;
@Override
public int compareTo(GeneratedClass o) {
int typeCompare = type.compareTo(o.type);
if (typeCompare == 0) {
return className.compareTo(o.className);
} else {
return typeCompare;
}
}
public enum ClassType {
DATA_TYPE,
DATA_CONSTRUCTOR,
MODULE,
}
}