@jossiwolf class ChatSdk: MessageFeature { private val messages = mutableListOf() override fun poll(): List = messages override fun push(message: Message) { messages.add(message) } }
@jossiwolf class SimpleMessenger: MessageFeature { private val messages = mutableListOf() override fun poll(): List = messages override fun push(message: Message) { messages.add(message) } }
@jossiwolf public final class ChatSdk implements MessageFeature { // $FF: synthetic field private final SimpleMessenger $$delegate_0 = new SimpleMessenger(); @NotNull public List poll() { return this.$$delegate_0.poll(); } public void push(@NotNull Message message) { Intrinsics.checkParameterIsNotNull(message, "message"); this.$$delegate_0.push(message); } }
@jossiwolf public final class ChatSdk implements MessageFeature { // $FF: synthetic field private final SimpleMessenger $$delegate_0 = new SimpleMessenger(); @NotNull public List poll() { return this.$$delegate_0.poll(); } public void push(@NotNull Message message) { Intrinsics.checkParameterIsNotNull(message, "message"); this.$$delegate_0.push(message); } }
@jossiwolf public final class ChatSdk implements MessageFeature { // $FF: synthetic field private final SimpleMessenger $$delegate_0 = new SimpleMessenger(); @NotNull public List poll() { return this.$$delegate_0.poll(); } public void push(@NotNull Message message) { Intrinsics.checkParameterIsNotNull(message, "message"); this.$$delegate_0.push(message); } }
@jossiwolf public final class ChatSdk implements MessageFeature { // $FF: synthetic field private final SimpleMessenger $$delegate_0 = new SimpleMessenger(); @NotNull public List poll() { return this.$$delegate_0.poll(); } public void push(@NotNull Message message) { Intrinsics.checkParameterIsNotNull(message, "message"); this.$$delegate_0.push(message); } }
@jossiwolf public final class ChatSdk implements MessageFeature { // $FF: synthetic field private final SimpleMessenger $$delegate_0 = new SimpleMessenger(); @NotNull public List poll() { return this.$$delegate_0.poll(); } public void push(@NotNull Message message) { Intrinsics.checkParameterIsNotNull(message, "message"); this.$$delegate_0.push(message); } }
@jossiwolf public final class ChatSdk implements MessageFeature { // $FF: synthetic field private final SimpleMessenger $$delegate_0 = new SimpleMessenger(); @NotNull public List poll() { return this.$$delegate_0.poll(); } public void push(@NotNull Message message) { Intrinsics.checkParameterIsNotNull(message, "message"); this.$$delegate_0.push(message); } }
@jossiwolf Abstract Syntax Tree @Annotation1("abc") // line comment between annotations @Annotation2("\${123}") fun parse() {} https://github.com/kotlinx/ast
@jossiwolf class ChatSdk: MessageFeature by messenger { classdelegate var messenger: MessageFeature fun swapMessenger() { messenger = when (messenger) { is SimpleMessenger -> ComplexMessenger() is ComplexMessenger -> SimpleMessenger() } } }
@jossiwolf public final class ChatSdk implements MessageFeature { // $FF: synthetic field private final SimpleMessenger $$delegate_0 = new SimpleMessenger();
@jossiwolf public final class ChatSdk implements MessageFeature { public MessageFeature messenger; public final MessageFeature getMessenger() { return this.messenger; } public final void setMessenger(MessageFeature var1) { this.messenger = var1; } public List poll() { return this.messenger.poll(); } public void push(Message message) { this.messenger.push(message); } }
@jossiwolf public final class ChatSdk implements MessageFeature { public MessageFeature messenger; public final MessageFeature getMessenger() { return this.messenger; } public final void setMessenger(MessageFeature var1) { this.messenger = var1; } public List poll() { return this.messenger.poll(); } public void push(Message message) { this.messenger.push(message); } }
@jossiwolf public final class ChatSdk implements MessageFeature { public MessageFeature messenger; public final MessageFeature getMessenger() { return this.messenger; } public final void setMessenger(MessageFeature var1) { this.messenger = var1; } public List poll() { return this.messenger.poll(); } public void push(Message message) { this.messenger.push(message); } }