/
Visitor.java
65 lines (59 loc) · 3.33 KB
/
Visitor.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package org.isk.jvmhardcore.pjba.visitor;
public interface Visitor {
// -------------------------------------------------------------------------------------------------------------------
// ClassFile
// -------------------------------------------------------------------------------------------------------------------
void visitMagicNumber(int magicNumber);
void visitVersion(int version);
void visitConstantPoolSize(int size);
void visitClassAccessFlags(int accessFlags);
void visitThisClass(int thisClass);
void visitSuperClass(int superClass);
void visitInterfacesSize(int size);
void visitFieldsSize(int size);
void visitMethodsSize(int size);
void visitClassAttributeSize(int size);
// -------------------------------------------------------------------------------------------------------------------
// Constant
// -------------------------------------------------------------------------------------------------------------------
void visitConstantTag(int tag);
void visitConstantUTF8(java.lang.String value);
void visitConstantInteger(int value);
void visitConstantFloat(float value);
void visitConstantLong(long value);
void visitConstantDouble(double value);
void visitConstantClass(int utf8Index);
void visitConstantString(int utf8Index);
// -------------------------------------------------------------------------------------------------------------------
// Method
// -------------------------------------------------------------------------------------------------------------------
void visitMethodAccessFlags(int accessFlags);
void visitMethodNameIndex(int nameIndex);
void visitMethodDescriptorIndex(int descriptorIndex);
void visitMethodAttributesSize(int size);
// -------------------------------------------------------------------------------------------------------------------
// Attribute
// -------------------------------------------------------------------------------------------------------------------
void visitAttributeNameIndex(int nameIndex);
void visitAttributeLength(int length);
// -------------------------------------------------------------------------------------------------------------------
// Code
// -------------------------------------------------------------------------------------------------------------------
void visitCodeMaxStack(int maxStack);
void visitCodeMaxLocals(int maxLocals);
void visitCodeLength(int codeLength);
void visitCodeExceptionsSize(int size);
void visitCodeAttributesSize(int size);
//--------------------------------------------------------------------------------------------------------------------
// Instruction
// -------------------------------------------------------------------------------------------------------------------
void visitOpcode(int opcode);
void visitInstructionByte(int value);
void visitInstructionShort(int value);
void visitInstructionInt(int arg);
void visitInstructionIinc(int indexInLV, int constant);
void visitInstructionWideIinc(int widenedOpcode, int indexInLV, int constant);
void visitInstructionWideLoadStore(int widenedOpcode, int indexInLV);
void visitInstructionTableSwitch(int padding, int defaultOffset, int lowValue, int highValue, int[] jumpOffsets);
void visitInstructionLookupSwitch(int padding, int defaultOffset, int nbPairs, int[] keys, int[] jumpOffsets);
}