Open Aleksey2093 opened 1 year ago
javap -v TestPage.class when buid by vscode:
Classfile /t2/demo/target/classes/com/example/demo/TestPage.class
Last modified 30 апр. 2023 г.; size 3150 bytes
SHA-256 checksum a10a9841012828bbd52a61690842fd45509827aa8b6f08b93c163f2968f485e8
Compiled from "TestPage.java"
public class com.example.demo.TestPage extends com.vaadin.flow.component.orderedlayout.VerticalLayout
minor version: 0
major version: 61
flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: #1 // com/example/demo/TestPage
super_class: #3 // com/vaadin/flow/component/orderedlayout/VerticalLayout
interfaces: 0, fields: 0, methods: 3, attributes: 4
Constant pool:
#1 = Class #2 // com/example/demo/TestPage
#2 = Utf8 com/example/demo/TestPage
#3 = Class #4 // com/vaadin/flow/component/orderedlayout/VerticalLayout
#4 = Utf8 com/vaadin/flow/component/orderedlayout/VerticalLayout
#5 = Utf8 <init>
#6 = Utf8 ()V
#7 = Utf8 Code
#8 = Methodref #3.#9 // com/vaadin/flow/component/orderedlayout/VerticalLayout."<init>":()V
#9 = NameAndType #5:#6 // "<init>":()V
#10 = Methodref #1.#11 // com/example/demo/TestPage.setWidthFull:()V
#11 = NameAndType #12:#6 // setWidthFull:()V
#12 = Utf8 setWidthFull
#13 = Methodref #1.#14 // com/example/demo/TestPage.setHeightFull:()V
#14 = NameAndType #15:#6 // setHeightFull:()V
#15 = Utf8 setHeightFull
#16 = Class #17 // com/vaadin/flow/component/textfield/TextField
#17 = Utf8 com/vaadin/flow/component/textfield/TextField
#18 = Methodref #16.#9 // com/vaadin/flow/component/textfield/TextField."<init>":()V
#19 = Class #20 // com/vaadin/flow/component/Component
#20 = Utf8 com/vaadin/flow/component/Component
#21 = Methodref #1.#22 // com/example/demo/TestPage.add:([Lcom/vaadin/flow/component/Component;)V
#22 = NameAndType #23:#24 // add:([Lcom/vaadin/flow/component/Component;)V
#23 = Utf8 add
#24 = Utf8 ([Lcom/vaadin/flow/component/Component;)V
#25 = Methodref #16.#11 // com/vaadin/flow/component/textfield/TextField.setWidthFull:()V
#26 = InvokeDynamic #0:#27 // #0:valueChanged:()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
#27 = NameAndType #28:#29 // valueChanged:()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
#28 = Utf8 valueChanged
#29 = Utf8 ()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
#30 = InterfaceMethodref #31.#33 // com/vaadin/flow/component/HasValue.addValueChangeListener:(Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
#31 = Class #32 // com/vaadin/flow/component/HasValue
#32 = Utf8 com/vaadin/flow/component/HasValue
#33 = NameAndType #34:#35 // addValueChangeListener:(Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
#34 = Utf8 addValueChangeListener
#35 = Utf8 (Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
#36 = Utf8 LineNumberTable
#37 = Utf8 LocalVariableTable
#38 = Utf8 this
#39 = Utf8 Lcom/example/demo/TestPage;
#40 = Utf8 textField
#41 = Utf8 Lcom/vaadin/flow/component/textfield/TextField;
#42 = Utf8 hasValue
#43 = Utf8 Lcom/vaadin/flow/component/HasValue;
#44 = Utf8 LocalVariableTypeTable
#45 = Utf8 Lcom/vaadin/flow/component/HasValue<**>;
#46 = Utf8 lambda$0
#47 = Utf8 (Ljava/lang/Object;)V
#48 = Fieldref #49.#51 // java/lang/System.out:Ljava/io/PrintStream;
#49 = Class #50 // java/lang/System
#50 = Utf8 java/lang/System
#51 = NameAndType #52:#53 // out:Ljava/io/PrintStream;
#52 = Utf8 out
#53 = Utf8 Ljava/io/PrintStream;
#54 = Class #55 // java/lang/StringBuilder
#55 = Utf8 java/lang/StringBuilder
#56 = String #57 // change text value
#57 = Utf8 change text value
#58 = Methodref #54.#59 // java/lang/StringBuilder."<init>":(Ljava/lang/String;)V
#59 = NameAndType #5:#60 // "<init>":(Ljava/lang/String;)V
#60 = Utf8 (Ljava/lang/String;)V
#61 = Class #62 // com/vaadin/flow/component/HasValue$ValueChangeEvent
#62 = Utf8 com/vaadin/flow/component/HasValue$ValueChangeEvent
#63 = InterfaceMethodref #61.#64 // com/vaadin/flow/component/HasValue$ValueChangeEvent.getValue:()Ljava/lang/Object;
#64 = NameAndType #65:#66 // getValue:()Ljava/lang/Object;
#65 = Utf8 getValue
#66 = Utf8 ()Ljava/lang/Object;
#67 = Methodref #54.#68 // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
#68 = NameAndType #69:#70 // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
#69 = Utf8 append
#70 = Utf8 (Ljava/lang/Object;)Ljava/lang/StringBuilder;
#71 = Methodref #54.#72 // java/lang/StringBuilder.toString:()Ljava/lang/String;
#72 = NameAndType #73:#74 // toString:()Ljava/lang/String;
#73 = Utf8 toString
#74 = Utf8 ()Ljava/lang/String;
#75 = Methodref #76.#78 // java/io/PrintStream.println:(Ljava/lang/String;)V
#76 = Class #77 // java/io/PrintStream
#77 = Utf8 java/io/PrintStream
#78 = NameAndType #79:#60 // println:(Ljava/lang/String;)V
#79 = Utf8 println
#80 = Utf8 event
#81 = Utf8 Ljava/lang/Object;
#82 = Utf8 $deserializeLambda$
#83 = Utf8 (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
#84 = Methodref #85.#87 // java/lang/invoke/SerializedLambda.getImplMethodName:()Ljava/lang/String;
#85 = Class #86 // java/lang/invoke/SerializedLambda
#86 = Utf8 java/lang/invoke/SerializedLambda
#87 = NameAndType #88:#74 // getImplMethodName:()Ljava/lang/String;
#88 = Utf8 getImplMethodName
#89 = Methodref #90.#92 // java/lang/String.hashCode:()I
#90 = Class #91 // java/lang/String
#91 = Utf8 java/lang/String
#92 = NameAndType #93:#94 // hashCode:()I
#93 = Utf8 hashCode
#94 = Utf8 ()I
#95 = String #46 // lambda$0
#96 = Methodref #90.#97 // java/lang/String.equals:(Ljava/lang/Object;)Z
#97 = NameAndType #98:#99 // equals:(Ljava/lang/Object;)Z
#98 = Utf8 equals
#99 = Utf8 (Ljava/lang/Object;)Z
#100 = Methodref #85.#101 // java/lang/invoke/SerializedLambda.getImplMethodKind:()I
#101 = NameAndType #102:#94 // getImplMethodKind:()I
#102 = Utf8 getImplMethodKind
#103 = Methodref #85.#104 // java/lang/invoke/SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
#104 = NameAndType #105:#74 // getFunctionalInterfaceClass:()Ljava/lang/String;
#105 = Utf8 getFunctionalInterfaceClass
#106 = String #107 // com/vaadin/flow/component/HasValue$ValueChangeListener
#107 = Utf8 com/vaadin/flow/component/HasValue$ValueChangeListener
#108 = Methodref #109.#97 // java/lang/Object.equals:(Ljava/lang/Object;)Z
#109 = Class #110 // java/lang/Object
#110 = Utf8 java/lang/Object
#111 = Methodref #85.#112 // java/lang/invoke/SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
#112 = NameAndType #113:#74 // getFunctionalInterfaceMethodName:()Ljava/lang/String;
#113 = Utf8 getFunctionalInterfaceMethodName
#114 = String #28 // valueChanged
#115 = Methodref #85.#116 // java/lang/invoke/SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
#116 = NameAndType #117:#74 // getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
#117 = Utf8 getFunctionalInterfaceMethodSignature
#118 = String #119 // (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#119 = Utf8 (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#120 = Methodref #85.#121 // java/lang/invoke/SerializedLambda.getImplClass:()Ljava/lang/String;
#121 = NameAndType #122:#74 // getImplClass:()Ljava/lang/String;
#122 = Utf8 getImplClass
#123 = String #2 // com/example/demo/TestPage
#124 = Methodref #85.#125 // java/lang/invoke/SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
#125 = NameAndType #126:#74 // getImplMethodSignature:()Ljava/lang/String;
#126 = Utf8 getImplMethodSignature
#127 = String #47 // (Ljava/lang/Object;)V
#128 = Class #129 // java/lang/IllegalArgumentException
#129 = Utf8 java/lang/IllegalArgumentException
#130 = String #131 // Invalid lambda deserialization
#131 = Utf8 Invalid lambda deserialization
#132 = Methodref #128.#59 // java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
#133 = Utf8 StackMapTable
#134 = Utf8 SourceFile
#135 = Utf8 TestPage.java
#136 = Utf8 RuntimeVisibleAnnotations
#137 = Utf8 Lcom/vaadin/flow/router/Route;
#138 = Utf8 value
#139 = Utf8 test
#140 = Utf8 BootstrapMethods
#141 = Methodref #142.#144 // java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#142 = Class #143 // java/lang/invoke/LambdaMetafactory
#143 = Utf8 java/lang/invoke/LambdaMetafactory
#144 = NameAndType #145:#146 // altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#145 = Utf8 altMetafactory
#146 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#147 = MethodHandle 6:#141 // REF_invokeStatic java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#148 = MethodType #119 // (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#149 = Methodref #1.#150 // com/example/demo/TestPage.lambda$0:(Ljava/lang/Object;)V
#150 = NameAndType #46:#47 // lambda$0:(Ljava/lang/Object;)V
#151 = MethodHandle 6:#149 // REF_invokeStatic com/example/demo/TestPage.lambda$0:(Ljava/lang/Object;)V
#152 = MethodType #47 // (Ljava/lang/Object;)V
#153 = Integer 1
#154 = Utf8 InnerClasses
#155 = Utf8 ValueChangeEvent
#156 = Class #107 // com/vaadin/flow/component/HasValue$ValueChangeListener
#157 = Utf8 ValueChangeListener
#158 = Class #159 // java/lang/invoke/MethodHandles$Lookup
#159 = Utf8 java/lang/invoke/MethodHandles$Lookup
#160 = Class #161 // java/lang/invoke/MethodHandles
#161 = Utf8 java/lang/invoke/MethodHandles
#162 = Utf8 Lookup
{
public com.example.demo.TestPage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
0: aload_0
1: invokespecial #8 // Method com/vaadin/flow/component/orderedlayout/VerticalLayout."<init>":()V
4: aload_0
5: invokevirtual #10 // Method setWidthFull:()V
8: aload_0
9: invokevirtual #13 // Method setHeightFull:()V
12: new #16 // class com/vaadin/flow/component/textfield/TextField
15: dup
16: invokespecial #18 // Method com/vaadin/flow/component/textfield/TextField."<init>":()V
19: astore_1
20: aload_0
21: iconst_1
22: anewarray #19 // class com/vaadin/flow/component/Component
25: dup
26: iconst_0
27: aload_1
28: aastore
29: invokevirtual #21 // Method add:([Lcom/vaadin/flow/component/Component;)V
32: aload_1
33: invokevirtual #25 // Method com/vaadin/flow/component/textfield/TextField.setWidthFull:()V
36: aload_1
37: astore_2
38: aload_2
39: invokedynamic #26, 0 // InvokeDynamic #0:valueChanged:()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
44: invokeinterface #30, 2 // InterfaceMethod com/vaadin/flow/component/HasValue.addValueChangeListener:(Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
49: pop
50: return
LineNumberTable:
line 11: 0
line 12: 4
line 13: 8
line 14: 12
line 15: 20
line 16: 32
line 17: 36
line 18: 38
line 21: 50
LocalVariableTable:
Start Length Slot Name Signature
0 51 0 this Lcom/example/demo/TestPage;
20 31 1 textField Lcom/vaadin/flow/component/textfield/TextField;
38 13 2 hasValue Lcom/vaadin/flow/component/HasValue;
LocalVariableTypeTable:
Start Length Slot Name Signature
38 13 2 hasValue Lcom/vaadin/flow/component/HasValue<**>;
}
SourceFile: "TestPage.java"
RuntimeVisibleAnnotations:
0: #137(#138=s#139)
com.vaadin.flow.router.Route(
value="test"
)
BootstrapMethods:
0: #147 REF_invokeStatic java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
#148 (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#151 REF_invokeStatic com/example/demo/TestPage.lambda$0:(Ljava/lang/Object;)V
#152 (Ljava/lang/Object;)V
#153 1
InnerClasses:
public static #155= #61 of #31; // ValueChangeEvent=class com/vaadin/flow/component/HasValue$ValueChangeEvent of class com/vaadin/flow/component/HasValue
public static #157= #156 of #31; // ValueChangeListener=class com/vaadin/flow/component/HasValue$ValueChangeListener of class com/vaadin/flow/component/HasValue
public static final #162= #158 of #160; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
javap -v TestPage.class
when build mvn clean package
Classfile /t2/demo/target/classes/com/example/demo/TestPage.class
Last modified 30 апр. 2023 г.; size 3371 bytes
SHA-256 checksum a6ac2ae62c9ac471ac358d23d263516b2b99eb938c10e6a4b0ea4edc3ccee0b4
Compiled from "TestPage.java"
public class com.example.demo.TestPage extends com.vaadin.flow.component.orderedlayout.VerticalLayout
minor version: 0
major version: 61
flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: #8 // com/example/demo/TestPage
super_class: #2 // com/vaadin/flow/component/orderedlayout/VerticalLayout
interfaces: 0, fields: 0, methods: 3, attributes: 4
Constant pool:
#1 = Methodref #2.#3 // com/vaadin/flow/component/orderedlayout/VerticalLayout."<init>":()V
#2 = Class #4 // com/vaadin/flow/component/orderedlayout/VerticalLayout
#3 = NameAndType #5:#6 // "<init>":()V
#4 = Utf8 com/vaadin/flow/component/orderedlayout/VerticalLayout
#5 = Utf8 <init>
#6 = Utf8 ()V
#7 = Methodref #8.#9 // com/example/demo/TestPage.setWidthFull:()V
#8 = Class #10 // com/example/demo/TestPage
#9 = NameAndType #11:#6 // setWidthFull:()V
#10 = Utf8 com/example/demo/TestPage
#11 = Utf8 setWidthFull
#12 = Methodref #8.#13 // com/example/demo/TestPage.setHeightFull:()V
#13 = NameAndType #14:#6 // setHeightFull:()V
#14 = Utf8 setHeightFull
#15 = Class #16 // com/vaadin/flow/component/textfield/TextField
#16 = Utf8 com/vaadin/flow/component/textfield/TextField
#17 = Methodref #15.#3 // com/vaadin/flow/component/textfield/TextField."<init>":()V
#18 = Class #19 // com/vaadin/flow/component/Component
#19 = Utf8 com/vaadin/flow/component/Component
#20 = Methodref #8.#21 // com/example/demo/TestPage.add:([Lcom/vaadin/flow/component/Component;)V
#21 = NameAndType #22:#23 // add:([Lcom/vaadin/flow/component/Component;)V
#22 = Utf8 add
#23 = Utf8 ([Lcom/vaadin/flow/component/Component;)V
#24 = Methodref #15.#9 // com/vaadin/flow/component/textfield/TextField.setWidthFull:()V
#25 = InvokeDynamic #0:#26 // #0:valueChanged:()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
#26 = NameAndType #27:#28 // valueChanged:()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
#27 = Utf8 valueChanged
#28 = Utf8 ()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
#29 = InterfaceMethodref #30.#31 // com/vaadin/flow/component/HasValue.addValueChangeListener:(Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
#30 = Class #32 // com/vaadin/flow/component/HasValue
#31 = NameAndType #33:#34 // addValueChangeListener:(Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
#32 = Utf8 com/vaadin/flow/component/HasValue
#33 = Utf8 addValueChangeListener
#34 = Utf8 (Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
#35 = Methodref #36.#37 // java/lang/invoke/SerializedLambda.getImplMethodName:()Ljava/lang/String;
#36 = Class #38 // java/lang/invoke/SerializedLambda
#37 = NameAndType #39:#40 // getImplMethodName:()Ljava/lang/String;
#38 = Utf8 java/lang/invoke/SerializedLambda
#39 = Utf8 getImplMethodName
#40 = Utf8 ()Ljava/lang/String;
#41 = Methodref #42.#43 // java/lang/String.hashCode:()I
#42 = Class #44 // java/lang/String
#43 = NameAndType #45:#46 // hashCode:()I
#44 = Utf8 java/lang/String
#45 = Utf8 hashCode
#46 = Utf8 ()I
#47 = String #48 // lambda$new$3fab9f70$1
#48 = Utf8 lambda$new$3fab9f70$1
#49 = Methodref #42.#50 // java/lang/String.equals:(Ljava/lang/Object;)Z
#50 = NameAndType #51:#52 // equals:(Ljava/lang/Object;)Z
#51 = Utf8 equals
#52 = Utf8 (Ljava/lang/Object;)Z
#53 = Methodref #36.#54 // java/lang/invoke/SerializedLambda.getImplMethodKind:()I
#54 = NameAndType #55:#46 // getImplMethodKind:()I
#55 = Utf8 getImplMethodKind
#56 = Methodref #36.#57 // java/lang/invoke/SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
#57 = NameAndType #58:#40 // getFunctionalInterfaceClass:()Ljava/lang/String;
#58 = Utf8 getFunctionalInterfaceClass
#59 = String #60 // com/vaadin/flow/component/HasValue$ValueChangeListener
#60 = Utf8 com/vaadin/flow/component/HasValue$ValueChangeListener
#61 = Methodref #62.#50 // java/lang/Object.equals:(Ljava/lang/Object;)Z
#62 = Class #63 // java/lang/Object
#63 = Utf8 java/lang/Object
#64 = Methodref #36.#65 // java/lang/invoke/SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
#65 = NameAndType #66:#40 // getFunctionalInterfaceMethodName:()Ljava/lang/String;
#66 = Utf8 getFunctionalInterfaceMethodName
#67 = String #27 // valueChanged
#68 = Methodref #36.#69 // java/lang/invoke/SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
#69 = NameAndType #70:#40 // getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
#70 = Utf8 getFunctionalInterfaceMethodSignature
#71 = String #72 // (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#72 = Utf8 (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#73 = Methodref #36.#74 // java/lang/invoke/SerializedLambda.getImplClass:()Ljava/lang/String;
#74 = NameAndType #75:#40 // getImplClass:()Ljava/lang/String;
#75 = Utf8 getImplClass
#76 = String #10 // com/example/demo/TestPage
#77 = Methodref #36.#78 // java/lang/invoke/SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
#78 = NameAndType #79:#40 // getImplMethodSignature:()Ljava/lang/String;
#79 = Utf8 getImplMethodSignature
#80 = Class #81 // java/lang/IllegalArgumentException
#81 = Utf8 java/lang/IllegalArgumentException
#82 = String #83 // Invalid lambda deserialization
#83 = Utf8 Invalid lambda deserialization
#84 = Methodref #80.#85 // java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
#85 = NameAndType #5:#86 // "<init>":(Ljava/lang/String;)V
#86 = Utf8 (Ljava/lang/String;)V
#87 = Fieldref #88.#89 // java/lang/System.out:Ljava/io/PrintStream;
#88 = Class #90 // java/lang/System
#89 = NameAndType #91:#92 // out:Ljava/io/PrintStream;
#90 = Utf8 java/lang/System
#91 = Utf8 out
#92 = Utf8 Ljava/io/PrintStream;
#93 = InterfaceMethodref #94.#95 // com/vaadin/flow/component/HasValue$ValueChangeEvent.getValue:()Ljava/lang/Object;
#94 = Class #96 // com/vaadin/flow/component/HasValue$ValueChangeEvent
#95 = NameAndType #97:#98 // getValue:()Ljava/lang/Object;
#96 = Utf8 com/vaadin/flow/component/HasValue$ValueChangeEvent
#97 = Utf8 getValue
#98 = Utf8 ()Ljava/lang/Object;
#99 = InvokeDynamic #1:#100 // #1:makeConcatWithConstants:(Ljava/lang/Object;)Ljava/lang/String;
#100 = NameAndType #101:#102 // makeConcatWithConstants:(Ljava/lang/Object;)Ljava/lang/String;
#101 = Utf8 makeConcatWithConstants
#102 = Utf8 (Ljava/lang/Object;)Ljava/lang/String;
#103 = Methodref #104.#105 // java/io/PrintStream.println:(Ljava/lang/String;)V
#104 = Class #106 // java/io/PrintStream
#105 = NameAndType #107:#86 // println:(Ljava/lang/String;)V
#106 = Utf8 java/io/PrintStream
#107 = Utf8 println
#108 = Utf8 Code
#109 = Utf8 LineNumberTable
#110 = Utf8 LocalVariableTable
#111 = Utf8 this
#112 = Utf8 Lcom/example/demo/TestPage;
#113 = Utf8 textField
#114 = Utf8 Lcom/vaadin/flow/component/textfield/TextField;
#115 = Utf8 hasValue
#116 = Utf8 Lcom/vaadin/flow/component/HasValue;
#117 = Utf8 LocalVariableTypeTable
#118 = Utf8 Lcom/vaadin/flow/component/HasValue<**>;
#119 = Utf8 $deserializeLambda$
#120 = Utf8 (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
#121 = Utf8 lambda
#122 = Utf8 Ljava/lang/invoke/SerializedLambda;
#123 = Utf8 StackMapTable
#124 = Utf8 event
#125 = Utf8 Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;
#126 = Utf8 SourceFile
#127 = Utf8 TestPage.java
#128 = Utf8 RuntimeVisibleAnnotations
#129 = Utf8 Lcom/vaadin/flow/router/Route;
#130 = Utf8 value
#131 = Utf8 test
#132 = Utf8 BootstrapMethods
#133 = MethodHandle 6:#134 // REF_invokeStatic java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#134 = Methodref #135.#136 // java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#135 = Class #137 // java/lang/invoke/LambdaMetafactory
#136 = NameAndType #138:#139 // altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#137 = Utf8 java/lang/invoke/LambdaMetafactory
#138 = Utf8 altMetafactory
#139 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#140 = MethodType #72 // (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#141 = MethodHandle 6:#142 // REF_invokeStatic com/example/demo/TestPage.lambda$new$3fab9f70$1:(Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#142 = Methodref #8.#143 // com/example/demo/TestPage.lambda$new$3fab9f70$1:(Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#143 = NameAndType #48:#72 // lambda$new$3fab9f70$1:(Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#144 = Integer 5
#145 = Integer 0
#146 = MethodHandle 6:#147 // REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#147 = Methodref #148.#149 // java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#148 = Class #150 // java/lang/invoke/StringConcatFactory
#149 = NameAndType #101:#151 // makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#150 = Utf8 java/lang/invoke/StringConcatFactory
#151 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#152 = String #153 // change text value \u0001
#153 = Utf8 change text value \u0001
#154 = Utf8 InnerClasses
#155 = Class #60 // com/vaadin/flow/component/HasValue$ValueChangeListener
#156 = Utf8 ValueChangeListener
#157 = Utf8 ValueChangeEvent
#158 = Class #159 // java/lang/invoke/MethodHandles$Lookup
#159 = Utf8 java/lang/invoke/MethodHandles$Lookup
#160 = Class #161 // java/lang/invoke/MethodHandles
#161 = Utf8 java/lang/invoke/MethodHandles
#162 = Utf8 Lookup
{
public com.example.demo.TestPage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
0: aload_0
1: invokespecial #1 // Method com/vaadin/flow/component/orderedlayout/VerticalLayout."<init>":()V
4: aload_0
5: invokevirtual #7 // Method setWidthFull:()V
8: aload_0
9: invokevirtual #12 // Method setHeightFull:()V
12: new #15 // class com/vaadin/flow/component/textfield/TextField
15: dup
16: invokespecial #17 // Method com/vaadin/flow/component/textfield/TextField."<init>":()V
19: astore_1
20: aload_0
21: iconst_1
22: anewarray #18 // class com/vaadin/flow/component/Component
25: dup
26: iconst_0
27: aload_1
28: aastore
29: invokevirtual #20 // Method add:([Lcom/vaadin/flow/component/Component;)V
32: aload_1
33: invokevirtual #24 // Method com/vaadin/flow/component/textfield/TextField.setWidthFull:()V
36: aload_1
37: astore_2
38: aload_2
39: invokedynamic #25, 0 // InvokeDynamic #0:valueChanged:()Lcom/vaadin/flow/component/HasValue$ValueChangeListener;
44: invokeinterface #29, 2 // InterfaceMethod com/vaadin/flow/component/HasValue.addValueChangeListener:(Lcom/vaadin/flow/component/HasValue$ValueChangeListener;)Lcom/vaadin/flow/shared/Registration;
49: pop
50: return
LineNumberTable:
line 11: 0
line 12: 4
line 13: 8
line 14: 12
line 15: 20
line 16: 32
line 17: 36
line 18: 38
line 21: 50
LocalVariableTable:
Start Length Slot Name Signature
0 51 0 this Lcom/example/demo/TestPage;
20 31 1 textField Lcom/vaadin/flow/component/textfield/TextField;
38 13 2 hasValue Lcom/vaadin/flow/component/HasValue;
LocalVariableTypeTable:
Start Length Slot Name Signature
38 13 2 hasValue Lcom/vaadin/flow/component/HasValue<**>;
}
SourceFile: "TestPage.java"
RuntimeVisibleAnnotations:
0: #129(#130=s#131)
com.vaadin.flow.router.Route(
value="test"
)
BootstrapMethods:
0: #133 REF_invokeStatic java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
#140 (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#141 REF_invokeStatic com/example/demo/TestPage.lambda$new$3fab9f70$1:(Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#140 (Lcom/vaadin/flow/component/HasValue$ValueChangeEvent;)V
#144 5
#145 0
1: #146 REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
#152 change text value \u0001
InnerClasses:
public static #156= #155 of #30; // ValueChangeListener=class com/vaadin/flow/component/HasValue$ValueChangeListener of class com/vaadin/flow/component/HasValue
public static #157= #94 of #30; // ValueChangeEvent=class com/vaadin/flow/component/HasValue$ValueChangeEvent of class com/vaadin/flow/component/HasValue
public static final #162= #158 of #160; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
@Aleksey2093 Could you attach a project example reproducing the error?
Could you attach a project example reproducing the error?
@snjeza demo.zip
This is an upstream jdt.core issue. A related bug - https://bugs.eclipse.org/bugs/show_bug.cgi?id=546161 A workaround:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.vaadin.flow.component.HasValue;
import com.vaadin.flow.component.HasValue.ValueChangeEvent;
import com.vaadin.flow.component.HasValue.ValueChangeListener;
import com.vaadin.flow.component.textfield.TextField;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
TextField textField = new TextField();
HasValue<?, ?> hasValue = textField;
hasValue.addValueChangeListener((ValueChangeListener<ValueChangeEvent<?>>)event -> {
System.out.println("change text value " + event.getValue());
});
SpringApplication.run(DemoApplication.class, args);
}
}
This is an upstream jdt.core issue. A related bug - https://bugs.eclipse.org/bugs/show_bug.cgi?id=546161 A workaround:
Is the problem being solved in another project?
code
This code does not work if it was compiled using vscode. If you build the code using mvn clean package -DskipTests=true -Pproduction, the code will work.
main
pom.xml:
exception