-
-
Save kmizu/54d35c72940f7f1cb24d5a877c2ba14d to your computer and use it in GitHub Desktop.
java-quine from https://github.com/thmuch/java-quine/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Classfile /Users/kota.mizushima/repo/S.class | |
Last modified 2025/01/29; size 1141 bytes | |
SHA-256 checksum 65b4550564c5c46318684ff0631b603d4030a9d58ccc738d1ea2c355dd195f6f | |
Compiled from "S.java" | |
class S | |
minor version: 0 | |
major version: 65 | |
flags: (0x0020) ACC_SUPER | |
this_class: #14 // S | |
super_class: #2 // java/lang/Object | |
interfaces: 0, fields: 1, methods: 3, attributes: 3 | |
Constant pool: | |
#1 = Methodref #2.#3 // java/lang/Object."<init>":()V | |
#2 = Class #4 // java/lang/Object | |
#3 = NameAndType #5:#6 // "<init>":()V | |
#4 = Utf8 java/lang/Object | |
#5 = Utf8 <init> | |
#6 = Utf8 ()V | |
#7 = Fieldref #8.#9 // java/lang/System.out:Ljava/io/PrintStream; | |
#8 = Class #10 // java/lang/System | |
#9 = NameAndType #11:#12 // out:Ljava/io/PrintStream; | |
#10 = Utf8 java/lang/System | |
#11 = Utf8 out | |
#12 = Utf8 Ljava/io/PrintStream; | |
#13 = Fieldref #14.#15 // S.s:Ljava/lang/String; | |
#14 = Class #16 // S | |
#15 = NameAndType #17:#18 // s:Ljava/lang/String; | |
#16 = Utf8 S | |
#17 = Utf8 s | |
#18 = Utf8 Ljava/lang/String; | |
#19 = InvokeDynamic #0:#20 // #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; | |
#20 = NameAndType #21:#22 // makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; | |
#21 = Utf8 makeConcatWithConstants | |
#22 = Utf8 (Ljava/lang/String;)Ljava/lang/String; | |
#23 = InvokeDynamic #1:#24 // #1:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | |
#24 = NameAndType #21:#25 // makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | |
#25 = Utf8 (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | |
#26 = Methodref #27.#28 // java/io/PrintStream.print:(Ljava/lang/String;)V | |
#27 = Class #29 // java/io/PrintStream | |
#28 = NameAndType #30:#31 // print:(Ljava/lang/String;)V | |
#29 = Utf8 java/io/PrintStream | |
#30 = Utf8 print | |
#31 = Utf8 (Ljava/lang/String;)V | |
#32 = String #33 // class S{public static void main(String[]a){System.out.print((s+=(char)34)+s+\';\'+\'}\');}static String s= | |
#33 = Utf8 class S{public static void main(String[]a){System.out.print((s+=(char)34)+s+\';\'+\'}\');}static String s= | |
#34 = Utf8 Code | |
#35 = Utf8 LineNumberTable | |
#36 = Utf8 main | |
#37 = Utf8 ([Ljava/lang/String;)V | |
#38 = Utf8 <clinit> | |
#39 = Utf8 SourceFile | |
#40 = Utf8 S.java | |
#41 = Utf8 BootstrapMethods | |
#42 = String #43 // \u0001\" | |
#43 = Utf8 \u0001\" | |
#44 = String #45 // \u0001\u0001;} | |
#45 = Utf8 \u0001\u0001;} | |
#46 = MethodHandle 6:#47 // 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; | |
#47 = Methodref #48.#49 // 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; | |
#48 = Class #50 // java/lang/invoke/StringConcatFactory | |
#49 = NameAndType #21:#51 // makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; | |
#50 = Utf8 java/lang/invoke/StringConcatFactory | |
#51 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; | |
#52 = Utf8 InnerClasses | |
#53 = Class #54 // java/lang/invoke/MethodHandles$Lookup | |
#54 = Utf8 java/lang/invoke/MethodHandles$Lookup | |
#55 = Class #56 // java/lang/invoke/MethodHandles | |
#56 = Utf8 java/lang/invoke/MethodHandles | |
#57 = Utf8 Lookup | |
{ | |
static java.lang.String s; | |
descriptor: Ljava/lang/String; | |
flags: (0x0008) ACC_STATIC | |
S(); | |
descriptor: ()V | |
flags: (0x0000) | |
Code: | |
stack=1, locals=1, args_size=1 | |
0: aload_0 | |
1: invokespecial #1 // Method java/lang/Object."<init>":()V | |
4: return | |
LineNumberTable: | |
line 1: 0 | |
public static void main(java.lang.String[]); | |
descriptor: ([Ljava/lang/String;)V | |
flags: (0x0009) ACC_PUBLIC, ACC_STATIC | |
Code: | |
stack=3, locals=1, args_size=1 | |
0: getstatic #7 // Field java/lang/System.out:Ljava/io/PrintStream; | |
3: getstatic #13 // Field s:Ljava/lang/String; | |
6: invokedynamic #19, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; | |
11: dup | |
12: putstatic #13 // Field s:Ljava/lang/String; | |
15: getstatic #13 // Field s:Ljava/lang/String; | |
18: invokedynamic #23, 0 // InvokeDynamic #1:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | |
23: invokevirtual #26 // Method java/io/PrintStream.print:(Ljava/lang/String;)V | |
26: return | |
LineNumberTable: | |
line 1: 0 | |
static {}; | |
descriptor: ()V | |
flags: (0x0008) ACC_STATIC | |
Code: | |
stack=1, locals=0, args_size=0 | |
0: ldc #32 // String class S{public static void main(String[]a){System.out.print((s+=(char)34)+s+\';\'+\'}\');}static String s= | |
2: putstatic #13 // Field s:Ljava/lang/String; | |
5: return | |
LineNumberTable: | |
line 1: 0 | |
} | |
SourceFile: "S.java" | |
BootstrapMethods: | |
0: #46 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: | |
#42 \u0001\" | |
1: #46 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: | |
#44 \u0001\u0001;} | |
InnerClasses: | |
public static final #57= #53 of #55; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment