All Downloads are FREE. Search and download functionalities are using the official Maven repository.

module.ModuleInit.scala Maven / Gradle / Ivy

The newest version!
package com.julianpeeters.caseclass.generator
import artisanal.pickle.maker._
import scala.reflect.internal.pickling._
import org.objectweb.asm._
import Opcodes._

import java.util.Arrays
import scala.io.Codec._
case class ModuleInit(cw_MODULE: ClassWriter, var mv_MODULE: MethodVisitor, caseClassName: String, fieldData: List[EnrichedField]) {

  def dump = {

    mv_MODULE = cw_MODULE.visitMethod(ACC_PUBLIC, "", "()V", null, null);
    mv_MODULE.visitCode();
    mv_MODULE.visitVarInsn(ALOAD, 0);
    mv_MODULE.visitMethodInsn(INVOKESPECIAL, "scala/runtime/AbstractFunction" + fieldData.length, "", "()V");
    mv_MODULE.visitVarInsn(ALOAD, 0);
    mv_MODULE.visitFieldInsn(PUTSTATIC, caseClassName + "$", "MODULE$", "L" + caseClassName + "$;");
    mv_MODULE.visitInsn(RETURN);
    mv_MODULE.visitMaxs(1, 1);
    mv_MODULE.visitEnd();

    cw_MODULE.visitEnd();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy