miniboxing-plugin icon indicating copy to clipboard operation
miniboxing-plugin copied to clipboard

Optimize specialized methods

Open VladUreche opened this issue 11 years ago • 1 comments

class:

class MyTuple2[@miniboxed T1, @miniboxed T2](val t1: T1, val t2: T2)

current result:

  // interface:
  abstract trait MyTuple2[T1, T2] extends Object {
    val t1(): T1
    val t1_JJ(val T1_TypeTag: Byte,val T2_TypeTag: Byte): Long
    val t1_JL(val T1_TypeTag: Byte): Long
    val t1_LJ(val T2_TypeTag: Byte): T1
    val t2(): T2
    val t2_JJ(val T1_TypeTag: Byte,val T2_TypeTag: Byte): Long
    val t2_JL(val T1_TypeTag: Byte): T2
    val t2_LJ(val T2_TypeTag: Byte): Long
  }

desired result:

  // interface:
  abstract trait MyTuple2[T1, T2] extends Object {
    val t1(): T1
    val t1_J*(val T1_TypeTag: Byte): Long
    val t2(): T2
    val t2_*J(val T2_TypeTag: Byte): Long
  }

where * could be replaced by something else if necessary.

VladUreche avatar Aug 19 '13 21:08 VladUreche

This needs to go hand in hand with the updated naming scheme.

VladUreche avatar May 28 '14 23:05 VladUreche