예제 #1
0
파일: AsmUtil.java 프로젝트: bashor/kotlin
 private static void genLongHashCode(MethodVisitor mv, InstructionAdapter iv) {
   iv.dup2();
   iv.iconst(32);
   iv.ushr(Type.LONG_TYPE);
   iv.xor(Type.LONG_TYPE);
   mv.visitInsn(L2I);
 }
예제 #2
0
  private void generateStaticInitializer() {
    if (staticInitializerChunks.size() > 0) {
      MethodVisitor mv = v.newMethod(null, ACC_PUBLIC | ACC_STATIC, "<clinit>", "()V", null, null);
      if (state.getClassBuilderMode() == ClassBuilderMode.FULL) {
        mv.visitCode();

        InstructionAdapter v = new InstructionAdapter(mv);

        for (CodeChunk chunk : staticInitializerChunks) {
          chunk.generate(v);
        }

        mv.visitInsn(RETURN);
        FunctionCodegen.endVisit(v, "static initializer", myClass);
      }
    }
  }