jdk

Форк
0
293 строки · 8.8 Кб
1
/*
2
 * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
 *
5
 * This code is free software; you can redistribute it and/or modify it
6
 * under the terms of the GNU General Public License version 2 only, as
7
 * published by the Free Software Foundation.
8
 *
9
 * This code is distributed in the hope that it will be useful, but WITHOUT
10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12
 * version 2 for more details (a copy is included in the LICENSE file that
13
 * accompanied this code).
14
 *
15
 * You should have received a copy of the GNU General Public License version
16
 * 2 along with this work; if not, write to the Free Software Foundation,
17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
 *
19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
 * or visit www.oracle.com if you need additional information or have any
21
 * questions.
22
 */
23

24
// This creates a duplicate LVT entry
25

26
class DuplicateLVT {
27
  0xCAFEBABE;
28
  0; // minor version
29
  52; // version
30
  [] { // Constant Pool
31
    ; // first element is empty
32
    Method #34 #68; // #1    
33
    double 0x3FF199999999999A;; // #2    
34
    float 0x3F99999A; // #4    
35
    long 0xFFFFFFFFCAFEBABE;; // #5    
36
    class #69; // #7    
37
    Method #7 #68; // #8    
38
    String #70; // #9    
39
    Method #7 #71; // #10    
40
    Field #72 #73; // #11    
41
    class #74; // #12    
42
    Method #12 #68; // #13    
43
    String #75; // #14    
44
    Method #12 #76; // #15    
45
    Method #12 #77; // #16    
46
    Method #12 #78; // #17    
47
    Method #79 #80; // #18    
48
    String #81; // #19    
49
    Method #12 #82; // #20    
50
    String #83; // #21    
51
    Method #12 #84; // #22    
52
    String #85; // #23    
53
    Method #12 #86; // #24    
54
    String #87; // #25    
55
    Method #12 #88; // #26    
56
    String #89; // #27    
57
    String #90; // #28    
58
    Method #12 #91; // #29    
59
    String #92; // #30    
60
    String #93; // #31    
61
    Method #12 #94; // #32    
62
    class #95; // #33    
63
    class #96; // #34    
64
    Utf8 "<init>"; // #35    
65
    Utf8 "()V"; // #36    
66
    Utf8 "Code"; // #37    
67
    Utf8 "LineNumberTable"; // #38    
68
    Utf8 "LocalVariableTable"; // #39    
69
    Utf8 "this"; // #40    
70
    Utf8 "LDuplicateLVT;"; // #41    
71
    Utf8 "main"; // #42    
72
    Utf8 "([Ljava/lang/String;)V"; // #43    
73
    Utf8 "args"; // #44    
74
    Utf8 "[Ljava/lang/String;"; // #45    
75
    Utf8 "b"; // #46    
76
    Utf8 "Z"; // #47    
77
    Utf8 "by"; // #48    
78
    Utf8 "B"; // #49    
79
    Utf8 "c"; // #50    
80
    Utf8 "C"; // #51    
81
    Utf8 "d"; // #52    
82
    Utf8 "D"; // #53    
83
    Utf8 "f"; // #54    
84
    Utf8 "F"; // #55    
85
    Utf8 "i"; // #56    
86
    Utf8 "I"; // #57    
87
    Utf8 "l"; // #58    
88
    Utf8 "J"; // #59    
89
    Utf8 "s"; // #60    
90
    Utf8 "S"; // #61    
91
    Utf8 "list"; // #62    
92
    Utf8 "Ljava/util/ArrayList;"; // #63    
93
    Utf8 "LocalVariableTypeTable"; // #64    
94
    Utf8 "Ljava/util/ArrayList<Ljava/lang/String;>;"; // #65    
95
    Utf8 "SourceFile"; // #66    
96
    Utf8 "DuplicateLVT.java"; // #67    
97
    NameAndType #35 #36; // #68    
98
    Utf8 "java/util/ArrayList"; // #69    
99
    Utf8 "me"; // #70    
100
    NameAndType #97 #98; // #71    
101
    class #99; // #72    
102
    NameAndType #100 #101; // #73    
103
    Utf8 "java/lang/StringBuilder"; // #74    
104
    Utf8 "b="; // #75    
105
    NameAndType #102 #103; // #76    
106
    NameAndType #102 #104; // #77    
107
    NameAndType #105 #106; // #78    
108
    class #107; // #79    
109
    NameAndType #108 #109; // #80    
110
    Utf8 "by="; // #81    
111
    NameAndType #102 #110; // #82    
112
    Utf8 "c="; // #83    
113
    NameAndType #102 #111; // #84    
114
    Utf8 "d="; // #85    
115
    NameAndType #102 #112; // #86    
116
    Utf8 "f="; // #87    
117
    NameAndType #102 #113; // #88    
118
    Utf8 "i="; // #89    
119
    Utf8 "l="; // #90    
120
    NameAndType #102 #114; // #91    
121
    Utf8 "s="; // #92    
122
    Utf8 "ArrayList<String>="; // #93    
123
    NameAndType #102 #115; // #94    
124
    Utf8 "DuplicateLVT"; // #95    
125
    Utf8 "java/lang/Object"; // #96    
126
    Utf8 "add"; // #97    
127
    Utf8 "(Ljava/lang/Object;)Z"; // #98    
128
    Utf8 "java/lang/System"; // #99    
129
    Utf8 "out"; // #100    
130
    Utf8 "Ljava/io/PrintStream;"; // #101    
131
    Utf8 "append"; // #102    
132
    Utf8 "(Ljava/lang/String;)Ljava/lang/StringBuilder;"; // #103    
133
    Utf8 "(Z)Ljava/lang/StringBuilder;"; // #104    
134
    Utf8 "toString"; // #105    
135
    Utf8 "()Ljava/lang/String;"; // #106    
136
    Utf8 "java/io/PrintStream"; // #107    
137
    Utf8 "println"; // #108    
138
    Utf8 "(Ljava/lang/String;)V"; // #109    
139
    Utf8 "(I)Ljava/lang/StringBuilder;"; // #110    
140
    Utf8 "(C)Ljava/lang/StringBuilder;"; // #111    
141
    Utf8 "(D)Ljava/lang/StringBuilder;"; // #112    
142
    Utf8 "(F)Ljava/lang/StringBuilder;"; // #113    
143
    Utf8 "(J)Ljava/lang/StringBuilder;"; // #114    
144
    Utf8 "(Ljava/lang/Object;)Ljava/lang/StringBuilder;"; // #115    
145
  } // Constant Pool
146

147
  0x0021; // access
148
  #33;// this_cpx
149
  #34;// super_cpx
150

151
  [] { // Interfaces
152
  } // Interfaces
153

154
  [] { // fields
155
  } // fields
156

157
  [] { // methods
158
    { // Member
159
      0x0001; // access
160
      #35; // name_cpx
161
      #36; // sig_cpx
162
      [] { // Attributes
163
        Attr(#37) { // Code
164
          1; // max_stack
165
          1; // max_locals
166
          Bytes[]{
167
            0x2AB70001B1;
168
          };
169
          [] { // Traps
170
          } // end Traps
171
          [] { // Attributes
172
            Attr(#38) { // LineNumberTable
173
              [] { // LineNumberTable
174
                0  26;
175
              }
176
            } // end LineNumberTable
177
            ;
178
            Attr(#39) { // LocalVariableTable
179
              [] { // LocalVariableTable
180
                0 5 40 41 0;
181
              }
182
            } // end LocalVariableTable
183
          } // Attributes
184
        } // end Code
185
      } // Attributes
186
    } // Member
187
    ;
188
    { // Member
189
      0x0009; // access
190
      #42; // name_cpx
191
      #43; // sig_cpx
192
      [] { // Attributes
193
        Attr(#37) { // Code
194
          4; // max_stack
195
          12; // max_locals
196
          Bytes[]{
197
            0x043C10423D10583E;
198
            0x1400023904120438;
199
            0x06102A3607140005;
200
            0x37081058360ABB00;
201
            0x0759B700083A0B19;
202
            0x0B1209B6000A57B2;
203
            0x000BBB000C59B700;
204
            0x0D120EB6000F1BB6;
205
            0x0010B60011B60012;
206
            0xB2000BBB000C59B7;
207
            0x000D1213B6000F1C;
208
            0xB60014B60011B600;
209
            0x12B2000BBB000C59;
210
            0xB7000D1215B6000F;
211
            0x1DB60016B60011B6;
212
            0x0012B2000BBB000C;
213
            0x59B7000D1217B600;
214
            0x0F1804B60018B600;
215
            0x11B60012B2000BBB;
216
            0x000C59B7000D1219;
217
            0xB6000F1706B6001A;
218
            0xB60011B60012B200;
219
            0x0BBB000C59B7000D;
220
            0x121BB6000F1507B6;
221
            0x0014B60011B60012;
222
            0xB2000BBB000C59B7;
223
            0x000D121CB6000F16;
224
            0x08B6001DB60011B6;
225
            0x0012B2000BBB000C;
226
            0x59B7000D121EB600;
227
            0x0F150AB60014B600;
228
            0x11B60012B2000BBB;
229
            0x000C59B7000D121F;
230
            0xB6000F190BB60020;
231
            0xB60011B60012B1;
232
          };
233
          [] { // Traps
234
          } // end Traps
235
          [] { // Attributes
236
            Attr(#38) { // LineNumberTable
237
              [] { // LineNumberTable
238
                0  28;
239
                2  29;
240
                5  30;
241
                8  31;
242
                13  32;
243
                17  33;
244
                21  34;
245
                26  35;
246
                30  36;
247
                39  37;
248
                47  39;
249
                72  40;
250
                97  41;
251
                122  42;
252
                148  43;
253
                174  44;
254
                200  45;
255
                226  46;
256
                252  47;
257
                278  48;
258
              }
259
            } // end LineNumberTable
260
            ;
261
            Attr(#39) { // LocalVariableTable
262
              [] { // LocalVariableTable
263
                0 279 44 45 0;
264
                2 277 46 47 1;
265
                5 274 48 49 2;
266
                5 274 48 49 2;
267
                8 271 50 51 3;
268
                13 266 52 53 4;
269
                17 262 54 55 6;
270
                21 258 56 57 7;
271
                26 253 58 59 8;
272
                30 249 60 61 10;
273
                39 240 62 63 11;
274
              }
275
            } // end LocalVariableTable
276
            ;
277
            Attr(#64) { // LocalVariableTypeTable
278
              [] { // LocalVariableTypeTable
279
                39 240 62 65 11;
280
              }
281
            } // end LocalVariableTypeTable
282
          } // Attributes
283
        } // end Code
284
      } // Attributes
285
    } // Member
286
  } // methods
287

288
  [] { // Attributes
289
    Attr(#66) { // SourceFile
290
      #67;
291
    } // end SourceFile
292
  } // Attributes
293
} // end class DuplicateLVT
294

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.