Skip to content

Instantly share code, notes, and snippets.

@snicoll
Last active January 15, 2019 21:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save snicoll/29894e1783ae8253297839a03334f0ed to your computer and use it in GitHub Desktop.
Save snicoll/29894e1783ae8253297839a03334f0ed to your computer and use it in GitHub Desktop.
// ================com/example/demo/MyProperties.class =================
// class version 50.0 (50)
// access flags 0x31
public final class com/example/demo/MyProperties {
// access flags 0x12
private final Ljava/lang/String; foo
@Lorg/jetbrains/annotations/NotNull;() // invisible
// access flags 0x11
public final getFoo()Ljava/lang/String;
@Lorg/jetbrains/annotations/NotNull;() // invisible
L0
LINENUMBER 9 L0
ALOAD 0
GETFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
ARETURN
L1
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
// access flags 0x12
private final Ljava/time/Duration; duration
@Lorg/jetbrains/annotations/NotNull;() // invisible
// access flags 0x11
public final getDuration()Ljava/time/Duration;
@Lorg/jetbrains/annotations/NotNull;() // invisible
L0
LINENUMBER 9 L0
ALOAD 0
GETFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
ARETURN
L1
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
// access flags 0x12
private final I counter
// access flags 0x11
public final getCounter()I
L0
LINENUMBER 9 L0
ALOAD 0
GETFIELD com/example/demo/MyProperties.counter : I
IRETURN
L1
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
// access flags 0x1
public <init>(Ljava/lang/String;Ljava/time/Duration;I)V
@Lcom/example/demo/DefaultValue;(value="testOverride") // parameter 0
@Lorg/jetbrains/annotations/NotNull;() // invisible, parameter 0
@Lorg/jetbrains/annotations/NotNull;() // invisible, parameter 1
L0
ALOAD 1
LDC "foo"
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
ALOAD 2
LDC "duration"
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
L1
LINENUMBER 9 L1
ALOAD 0
INVOKESPECIAL java/lang/Object.<init> ()V
ALOAD 0
ALOAD 1
PUTFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
ALOAD 0
ALOAD 2
PUTFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
ALOAD 0
ILOAD 3
PUTFIELD com/example/demo/MyProperties.counter : I
RETURN
L2
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L2 0
LOCALVARIABLE foo Ljava/lang/String; L0 L2 1
LOCALVARIABLE duration Ljava/time/Duration; L0 L2 2
LOCALVARIABLE counter I L0 L2 3
MAXSTACK = 2
MAXLOCALS = 4
// access flags 0x1001
public synthetic <init>(Ljava/lang/String;Ljava/time/Duration;IILkotlin/jvm/internal/DefaultConstructorMarker;)V
ILOAD 4
ICONST_1
IAND
IFEQ L0
L1
LINENUMBER 9 L1
LDC "test"
ASTORE 1
L0
ILOAD 4
ICONST_4
IAND
IFEQ L2
BIPUSH 42
ISTORE 3
L2
ALOAD 0
ALOAD 1
ALOAD 2
ILOAD 3
INVOKESPECIAL com/example/demo/MyProperties.<init> (Ljava/lang/String;Ljava/time/Duration;I)V
RETURN
MAXSTACK = 4
MAXLOCALS = 6
// access flags 0x11
public final component1()Ljava/lang/String;
@Lorg/jetbrains/annotations/NotNull;() // invisible
L0
ALOAD 0
GETFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
ARETURN
L1
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
// access flags 0x11
public final component2()Ljava/time/Duration;
@Lorg/jetbrains/annotations/NotNull;() // invisible
L0
ALOAD 0
GETFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
ARETURN
L1
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
// access flags 0x11
public final component3()I
L0
ALOAD 0
GETFIELD com/example/demo/MyProperties.counter : I
IRETURN
L1
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
// access flags 0x11
public final copy(Ljava/lang/String;Ljava/time/Duration;I)Lcom/example/demo/MyProperties;
@Lorg/jetbrains/annotations/NotNull;() // invisible
@Lcom/example/demo/DefaultValue;(value="testOverride") // parameter 0
@Lorg/jetbrains/annotations/NotNull;() // invisible, parameter 0
@Lorg/jetbrains/annotations/NotNull;() // invisible, parameter 1
L0
ALOAD 1
LDC "foo"
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
ALOAD 2
LDC "duration"
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
NEW com/example/demo/MyProperties
DUP
ALOAD 1
ALOAD 2
ILOAD 3
INVOKESPECIAL com/example/demo/MyProperties.<init> (Ljava/lang/String;Ljava/time/Duration;I)V
ARETURN
L1
LOCALVARIABLE this Lcom/example/demo/MyProperties; L0 L1 0
LOCALVARIABLE foo Ljava/lang/String; L0 L1 1
LOCALVARIABLE duration Ljava/time/Duration; L0 L1 2
LOCALVARIABLE counter I L0 L1 3
MAXSTACK = 5
MAXLOCALS = 4
// access flags 0x1009
public static synthetic copy$default(Lcom/example/demo/MyProperties;Ljava/lang/String;Ljava/time/Duration;IILjava/lang/Object;)Lcom/example/demo/MyProperties;
@Lorg/jetbrains/annotations/NotNull;() // invisible
ILOAD 4
ICONST_1
IAND
IFEQ L0
ALOAD 0
GETFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
ASTORE 1
L0
ILOAD 4
ICONST_2
IAND
IFEQ L1
ALOAD 0
GETFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
ASTORE 2
L1
ILOAD 4
ICONST_4
IAND
IFEQ L2
ALOAD 0
GETFIELD com/example/demo/MyProperties.counter : I
ISTORE 3
L2
ALOAD 0
ALOAD 1
ALOAD 2
ILOAD 3
INVOKEVIRTUAL com/example/demo/MyProperties.copy (Ljava/lang/String;Ljava/time/Duration;I)Lcom/example/demo/MyProperties;
ARETURN
MAXSTACK = 4
MAXLOCALS = 6
// access flags 0x1
public toString()Ljava/lang/String;
@Lorg/jetbrains/annotations/NotNull;() // invisible
NEW java/lang/StringBuilder
DUP
INVOKESPECIAL java/lang/StringBuilder.<init> ()V
LDC "MyProperties(foo="
INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
ALOAD 0
GETFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
LDC ", duration="
INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
ALOAD 0
GETFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
LDC ", counter="
INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
ALOAD 0
GETFIELD com/example/demo/MyProperties.counter : I
INVOKEVIRTUAL java/lang/StringBuilder.append (I)Ljava/lang/StringBuilder;
LDC ")"
INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
INVOKEVIRTUAL java/lang/StringBuilder.toString ()Ljava/lang/String;
ARETURN
MAXSTACK = 2
MAXLOCALS = 1
// access flags 0x1
public hashCode()I
ALOAD 0
GETFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
DUP
IFNULL L0
INVOKEVIRTUAL java/lang/Object.hashCode ()I
GOTO L1
L0
POP
ICONST_0
L1
BIPUSH 31
IMUL
ALOAD 0
GETFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
DUP
IFNULL L2
INVOKEVIRTUAL java/lang/Object.hashCode ()I
GOTO L3
L2
POP
ICONST_0
L3
IADD
BIPUSH 31
IMUL
ALOAD 0
GETFIELD com/example/demo/MyProperties.counter : I
IADD
IRETURN
MAXSTACK = 3
MAXLOCALS = 1
// access flags 0x1
public equals(Ljava/lang/Object;)Z
@Lorg/jetbrains/annotations/Nullable;() // invisible, parameter 0
ALOAD 0
ALOAD 1
IF_ACMPEQ L0
ALOAD 1
INSTANCEOF com/example/demo/MyProperties
IFEQ L1
ALOAD 1
CHECKCAST com/example/demo/MyProperties
ASTORE 2
ALOAD 0
GETFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
ALOAD 2
GETFIELD com/example/demo/MyProperties.foo : Ljava/lang/String;
INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual (Ljava/lang/Object;Ljava/lang/Object;)Z
IFEQ L1
ALOAD 0
GETFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
ALOAD 2
GETFIELD com/example/demo/MyProperties.duration : Ljava/time/Duration;
INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual (Ljava/lang/Object;Ljava/lang/Object;)Z
IFEQ L1
ALOAD 0
GETFIELD com/example/demo/MyProperties.counter : I
ALOAD 2
GETFIELD com/example/demo/MyProperties.counter : I
IF_ICMPNE L2
ICONST_1
GOTO L3
L2
ICONST_0
L3
IFEQ L1
L0
ICONST_1
IRETURN
L1
ICONST_0
IRETURN
MAXSTACK = 2
MAXLOCALS = 3
@Lkotlin/Metadata;(mv={1, 1, 13}, bv={1, 0, 3}, k=1, d1={"\u0000&\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u000c\n\u0002\u0010\u000b\n\u0002\u0008\u0004\u0008\u0086\u0008\u0018\u00002\u00020\u0001B!\u0012\u0008\u0008\u0003\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0008\u0008\u0002\u0010\u0006\u001a\u00020\u0007\u00a2\u0006\u0002\u0010\u0008J\u0009\u0010\u000f\u001a\u00020\u0003H\u00c6\u0003J\u0009\u0010\u0010\u001a\u00020\u0005H\u00c6\u0003J\u0009\u0010\u0011\u001a\u00020\u0007H\u00c6\u0003J'\u0010\u0012\u001a\u00020\u00002\u0008\u0008\u0003\u0010\u0002\u001a\u00020\u00032\u0008\u0008\u0002\u0010\u0004\u001a\u00020\u00052\u0008\u0008\u0002\u0010\u0006\u001a\u00020\u0007H\u00c6\u0001J\u0013\u0010\u0013\u001a\u00020\u00142\u0008\u0010\u0015\u001a\u0004\u0018\u00010\u0001H\u00d6\u0003J\u0009\u0010\u0016\u001a\u00020\u0007H\u00d6\u0001J\u0009\u0010\u0017\u001a\u00020\u0003H\u00d6\u0001R\u0011\u0010\u0006\u001a\u00020\u0007\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0009\u0010\nR\u0011\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u000b\u0010\u000cR\u0011\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\r\u0010\u000e\u00a8\u0006\u0018"}, d2={"Lcom/example/demo/MyProperties;", "", "foo", "", "duration", "Ljava/time/Duration;", "counter", "", "(Ljava/lang/String;Ljava/time/Duration;I)V", "getCounter", "()I", "getDuration", "()Ljava/time/Duration;", "getFoo", "()Ljava/lang/String;", "component1", "component2", "component3", "copy", "equals", "", "other", "hashCode", "toString", "test-configprops-kotlin"})
// compiled from: MyProperties.kt
}
// ================META-INF/test-configprops-kotlin.kotlin_module =================

Classfile /Users/snicoll/workspace/oss/test-configprops-kotlin/target/classes/com/example/demo/MyProperties.class
Last modified Jan 15, 2019; size 3563 bytes
MD5 checksum 77bcd1b9ab516625e4b2e8def7a5cb3d
Compiled from "MyProperties.kt"
public final class com.example.demo.MyProperties
minor version: 0
major version: 52
flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER
Constant pool:
#1 = Utf8 com/example/demo/MyProperties
#2 = Class #1 // com/example/demo/MyProperties
#3 = Utf8 java/lang/Object
#4 = Class #3 // java/lang/Object
#5 = Utf8 foo
#6 = Utf8 Ljava/lang/String;
#7 = Utf8 Lorg/jetbrains/annotations/NotNull;
#8 = Utf8 getFoo
#9 = Utf8 ()Ljava/lang/String;
#10 = NameAndType #5:#6 // foo:Ljava/lang/String;
#11 = Fieldref #2.#10 // com/example/demo/MyProperties.foo:Ljava/lang/String;
#12 = Utf8 this
#13 = Utf8 Lcom/example/demo/MyProperties;
#14 = Utf8 duration
#15 = Utf8 Ljava/time/Duration;
#16 = Utf8 getDuration
#17 = Utf8 ()Ljava/time/Duration;
#18 = NameAndType #14:#15 // duration:Ljava/time/Duration;
#19 = Fieldref #2.#18 // com/example/demo/MyProperties.duration:Ljava/time/Duration;
#20 = Utf8 counter
#21 = Utf8 I
#22 = Utf8 getCounter
#23 = Utf8 ()I
#24 = NameAndType #20:#21 // counter:I
#25 = Fieldref #2.#24 // com/example/demo/MyProperties.counter:I
#26 = Utf8 <init>
#27 = Utf8 (Ljava/lang/String;Ljava/time/Duration;I)V
#28 = Utf8 Lcom/example/demo/DefaultValue;
#29 = Utf8 value
#30 = Utf8 testOverride
#31 = String #5 // foo
#32 = Utf8 kotlin/jvm/internal/Intrinsics
#33 = Class #32 // kotlin/jvm/internal/Intrinsics
#34 = Utf8 checkParameterIsNotNull
#35 = Utf8 (Ljava/lang/Object;Ljava/lang/String;)V
#36 = NameAndType #34:#35 // checkParameterIsNotNull:(Ljava/lang/Object;Ljava/lang/String;)V
#37 = Methodref #33.#36 // kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull:(Ljava/lang/Object;Ljava/lang/String;)V
#38 = String #14 // duration
#39 = Utf8 ()V
#40 = NameAndType #26:#39 // "<init>":()V
#41 = Methodref #4.#40 // java/lang/Object."<init>":()V
#42 = Utf8 (Ljava/lang/String;Ljava/time/Duration;IILkotlin/jvm/internal/DefaultConstructorMarker;)V
#43 = Utf8 test
#44 = String #43 // test
#45 = NameAndType #26:#27 // "<init>":(Ljava/lang/String;Ljava/time/Duration;I)V
#46 = Methodref #2.#45 // com/example/demo/MyProperties."<init>":(Ljava/lang/String;Ljava/time/Duration;I)V
#47 = Utf8 component1
#48 = Utf8 component2
#49 = Utf8 component3
#50 = Utf8 copy
#51 = Utf8 (Ljava/lang/String;Ljava/time/Duration;I)Lcom/example/demo/MyProperties;
#52 = Utf8 copy$default
#53 = Utf8 (Lcom/example/demo/MyProperties;Ljava/lang/String;Ljava/time/Duration;IILjava/lang/Object;)Lcom/example/demo/MyProperties;
#54 = NameAndType #50:#51 // copy:(Ljava/lang/String;Ljava/time/Duration;I)Lcom/example/demo/MyProperties;
#55 = Methodref #2.#54 // com/example/demo/MyProperties.copy:(Ljava/lang/String;Ljava/time/Duration;I)Lcom/example/demo/MyProperties;
#56 = Utf8 toString
#57 = Utf8 java/lang/StringBuilder
#58 = Class #57 // java/lang/StringBuilder
#59 = Methodref #58.#40 // java/lang/StringBuilder."<init>":()V
#60 = Utf8 MyProperties(foo=
#61 = String #60 // MyProperties(foo=
#62 = Utf8 append
#63 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder;
#64 = NameAndType #62:#63 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
#65 = Methodref #58.#64 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
#66 = Utf8 , duration=
#67 = String #66 // , duration=
#68 = Utf8 (Ljava/lang/Object;)Ljava/lang/StringBuilder;
#69 = NameAndType #62:#68 // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
#70 = Methodref #58.#69 // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
#71 = Utf8 , counter=
#72 = String #71 // , counter=
#73 = Utf8 (I)Ljava/lang/StringBuilder;
#74 = NameAndType #62:#73 // append:(I)Ljava/lang/StringBuilder;
#75 = Methodref #58.#74 // java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
#76 = Utf8 )
#77 = String #76 // )
#78 = NameAndType #56:#9 // toString:()Ljava/lang/String;
#79 = Methodref #58.#78 // java/lang/StringBuilder.toString:()Ljava/lang/String;
#80 = Utf8 hashCode
#81 = NameAndType #80:#23 // hashCode:()I
#82 = Methodref #4.#81 // java/lang/Object.hashCode:()I
#83 = Utf8 java/lang/Integer
#84 = Class #83 // java/lang/Integer
#85 = Utf8 (I)I
#86 = NameAndType #80:#85 // hashCode:(I)I
#87 = Methodref #84.#86 // java/lang/Integer.hashCode:(I)I
#88 = Utf8 java/lang/String
#89 = Class #88 // java/lang/String
#90 = Utf8 java/time/Duration
#91 = Class #90 // java/time/Duration
#92 = Utf8 equals
#93 = Utf8 (Ljava/lang/Object;)Z
#94 = Utf8 Lorg/jetbrains/annotations/Nullable;
#95 = Utf8 areEqual
#96 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)Z
#97 = NameAndType #95:#96 // areEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
#98 = Methodref #33.#97 // kotlin/jvm/internal/Intrinsics.areEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
#99 = Utf8 Lkotlin/Metadata;
#100 = Utf8 mv
#101 = Integer 1
#102 = Integer 13
#103 = Utf8 bv
#104 = Integer 0
#105 = Integer 3
#106 = Utf8 k
#107 = Utf8 d1
#108 = Utf8
package com.example.demo;
import java.time.Duration;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@Metadata(mv = { 1, 1, 13 }, bv = { 1, 0, 3 }, k = 1, d1 = { "\000&\n\002\030\002\n\002\020\000\n\000\n\002\020\016\n\000\n\002\030\002\n\000\n\002\020\b\n\002\b\f\n\002\020\013\n\002\b\004\b†\b\030\0002\0020\001B!\022\b\b\003\020\002\032\0020\003\022\006\020\004\032\0020\005\022\b\b\002\020\006\032\0020\007¢\006\002\020\bJ\t\020\017\032\0020\003HÆ\003J\t\020\020\032\0020\005HÆ\003J\t\020\021\032\0020\007HÆ\003J'\020\022\032\0020\0002\b\b\003\020\002\032\0020\0032\b\b\002\020\004\032\0020\0052\b\b\002\020\006\032\0020\007HÆ\001J\023\020\023\032\0020\0242\b\020\025\032\004\030\0010\001HÖ\003J\t\020\026\032\0020\007HÖ\001J\t\020\027\032\0020\003HÖ\001R\021\020\006\032\0020\007¢\006\b\n\000\032\004\b\t\020\nR\021\020\004\032\0020\005¢\006\b\n\000\032\004\b\013\020\fR\021\020\002\032\0020\003¢\006\b\n\000\032\004\b\r\020\016¨\006\030" }, d2 = { "Lcom/example/demo/MyProperties;", "", "foo", "", "duration", "Ljava/time/Duration;", "counter", "", "(Ljava/lang/String;Ljava/time/Duration;I)V", "getCounter", "()I", "getDuration", "()Ljava/time/Duration;", "getFoo", "()Ljava/lang/String;", "component1", "component2", "component3", "copy", "equals", "", "other", "hashCode", "toString", "test-configprops-kotlin" })
public final class MyProperties {
@NotNull
private final String foo;
@NotNull
private final Duration duration;
private final int counter;
public boolean equals(@Nullable Object paramObject) {
if (this != paramObject) {
if ((paramObject instanceof MyProperties)) {
MyProperties localMyProperties = (MyProperties) paramObject;
if ((Intrinsics.areEqual(foo, foo)) && (Intrinsics.areEqual(duration, duration))) {
if ((counter == counter ? 1 : 0) == 0) {
}
}
}
}
else {
return true;
}
return false;
}
/* Error */
public int hashCode() {
// Byte code:
// 0: aload_0
// 1: getfield 11 com/example/demo/MyProperties:foo Ljava/lang/String;
// 4: dup
// 5: ifnull +9 -> 14
// 8: invokevirtual 82 java/lang/Object:hashCode ()I
// 11: goto +5 -> 16
// 14: pop
// 15: iconst_0
// 16: bipush 31
// 18: imul
// 19: aload_0
// 20: getfield 19 com/example/demo/MyProperties:duration Ljava/time/Duration;
// 23: dup
// 24: ifnull +9 -> 33
// 27: invokevirtual 82 java/lang/Object:hashCode ()I
// 30: goto +5 -> 35
// 33: pop
// 34: iconst_0
// 35: iadd
// 36: bipush 31
// 38: imul
// 39: aload_0
// 40: getfield 25 com/example/demo/MyProperties:counter I
// 43: invokestatic 87 java/lang/Integer:hashCode (I)I
// 46: iadd
// 47: ireturn
}
@NotNull
public String toString() {
return "MyProperties(foo=" + foo + ", duration=" + duration + ", counter=" + counter + ")";
}
@NotNull
public final MyProperties copy(@NotNull @DefaultValue("testOverride") String foo, @NotNull Duration duration, int counter) {
Intrinsics.checkParameterIsNotNull(foo, "foo");
Intrinsics.checkParameterIsNotNull(duration, "duration");
return new MyProperties(foo, duration, counter);
}
public final int component3() {
return counter;
}
@NotNull
public final Duration component2() {
return duration;
}
@NotNull
public final String component1() {
return foo;
}
public MyProperties(@NotNull @DefaultValue("testOverride") String foo, @NotNull Duration duration, int counter) {
this.foo = foo; this.duration = duration; this.counter = counter;
}
public final int getCounter() {
return counter;
}
@NotNull
public final Duration getDuration() {
return duration;
}
@NotNull
public final String getFoo() {
return foo;
}
}
package com.example.demo
import java.time.Duration
/**
*
* @author Stephane Nicoll
*/
data class MyProperties(@DefaultValue("testOverride") val foo: String = "test", val duration: Duration, val counter: Int = 42)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment