puniverse / quasar

Fibers, Channels and Actors for the JVM

Home Page:http://docs.paralleluniverse.co/quasar/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support Kotlin default methods regardless of presented annotations

max-kammerer opened this issue · comments

Kotlin team considers to removed change that was made for https://youtrack.jetbrains.com/issue/KT-6930 with annotation generation on default methods ('foo$default', JetBrains/kotlin@fd4946e#diff-c4b3d1cabf0518d85f061842d839bd32R617).

All annotations would be removed from $default methods, it can break quasar instrumentation.

Default companion for function 'foo' with N parameter generated by next template:

fun foo(param1: Type1...., paramN: TypeN): ResultType

[static] [synthetic flag] [bridge flag]? fun foo$default(param1: Type1...paramN: typeN, mask0:Int..mask[N-1/32]: Int, object: Object)

Sample bytecode

public final class Foo {

  public final foo(Ljava/lang/String;Ljava/lang/String;)V
 
  public static synthetic foo$default(LFoo;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V
}

Bridge flag was generated prior Kotlin 1.3

any update on this?