homework done
This commit is contained in:
parent
fd9bc87c00
commit
5d096cc051
5 changed files with 931 additions and 33 deletions
6
.idea/jpa-buddy.xml
Normal file
6
.idea/jpa-buddy.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JpaBuddyIdeaProjectConfig">
|
||||||
|
<option name="renamerInitialized" value="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -4,7 +4,10 @@
|
||||||
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
|
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
|
||||||
<groovy codeStyle="LEGACY" />
|
<groovy codeStyle="LEGACY" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="10" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="ProjectType">
|
||||||
|
<option name="id" value="jpab" />
|
||||||
|
</component>
|
||||||
</project>
|
</project>
|
36
README.md
36
README.md
|
@ -6,26 +6,26 @@ Go to [this Lab on iCorsi](https://www.icorsi.ch/course/view.php?id=16963).
|
||||||
|
|
||||||
## Submission Info
|
## Submission Info
|
||||||
|
|
||||||
Property | Value
|
| Property | Value |
|
||||||
------------ | -------------
|
|------------|----------|
|
||||||
First Name | ...
|
| First Name | Claudio |
|
||||||
Last Name | ...
|
| Last Name | Maggioni |
|
||||||
|
|
||||||
## Submission Checklist
|
## Submission Checklist
|
||||||
|
|
||||||
Please complete this checklist (turn [ ] into [X]) before you submit:
|
Please complete this checklist (turn [ ] into [X]) before you submit:
|
||||||
|
|
||||||
- [ ] I completed the above Submission Info
|
- [x] I completed the above Submission Info
|
||||||
- [ ] I built the project in IntelliJ (Build > Build Project)
|
- [x] I built the project in IntelliJ (Build > Build Project)
|
||||||
- [ ] I ran test/test.sh and verified that it runs (and fails)
|
- [x] I ran test/test.sh and verified that it runs (and fails)
|
||||||
- [ ] I implemented the analysis in src/Analyzer.java, outputting:
|
- [x] I implemented the analysis in src/Analyzer.java, outputting:
|
||||||
- [ ] Number of classes (incl. interfaces and enums)
|
- [x] Number of classes (incl. interfaces and enums)
|
||||||
- [ ] Number of concrete non-native, non-abstract methods (methods with code)
|
- [x] Number of concrete non-native, non-abstract methods (methods with code)
|
||||||
- [ ] Total number of instructions (ignoring instructions with opcode -1)
|
- [x] Total number of instructions (ignoring instructions with opcode -1)
|
||||||
- [ ] Total number of instructions by opcode (ignoring instructions with opcode -1)
|
- [x] Total number of instructions by opcode (ignoring instructions with opcode -1)
|
||||||
- [ ] Total number of method invocation instructions (== call sites)
|
- [x] Total number of method invocation instructions (== call sites)
|
||||||
- [ ] Total number of conditional branch instructions (excluding GOTO, but including multi-way branches)
|
- [x] Total number of conditional branch instructions (excluding GOTO, but including multi-way branches)
|
||||||
- [ ] I wrote the source code myself and did not look at the source code of my classmates
|
- [x] I wrote the source code myself and did not look at the source code of my classmates
|
||||||
- [ ] I ran test/test.sh and verified that it runs and passes
|
- [x] I ran test/test.sh and verified that it runs and passes
|
||||||
- [ ] I committed my changes (at least one commit, but possibly many)
|
- [x] I committed my changes (at least one commit, but possibly many)
|
||||||
- [ ] I pushed my commits to GitHub
|
- [x] I pushed my commits to GitHub
|
||||||
|
|
|
@ -1,25 +1,51 @@
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Enumeration;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.jar.JarEntry;
|
import java.util.jar.JarEntry;
|
||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
|
|
||||||
import org.objectweb.asm.ClassReader;
|
import org.objectweb.asm.ClassReader;
|
||||||
|
import org.objectweb.asm.Opcodes;
|
||||||
|
import org.objectweb.asm.tree.AbstractInsnNode;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
import org.objectweb.asm.tree.JumpInsnNode;
|
||||||
import org.objectweb.asm.tree.MethodNode;
|
import org.objectweb.asm.tree.MethodNode;
|
||||||
|
import org.objectweb.asm.util.Printer;
|
||||||
|
|
||||||
public class Analyzer {
|
public class Analyzer {
|
||||||
|
|
||||||
// TODO add data structure to keep statistics
|
private static long instructionCount = 0L;
|
||||||
|
private static long invokeInstructionCount = 0L;
|
||||||
|
private static long branchInstructionCount = 0L;
|
||||||
|
private static final Map<Integer, Long> instructionCounts = new HashMap<>();
|
||||||
|
private static long classCount = 0L;
|
||||||
|
private static long methodCount = 0L;
|
||||||
|
|
||||||
public static void main(final String[] args) throws IOException {
|
public static void main(final String[] args) throws IOException {
|
||||||
|
// initialize instruction map
|
||||||
|
for (int i = 0; i < 256; i++) instructionCounts.put(i, 0L);
|
||||||
|
|
||||||
final String jarFileName = args[0];
|
final String jarFileName = args[0];
|
||||||
System.out.println("Analyzing " + jarFileName);
|
System.out.println("Analyzing " + jarFileName);
|
||||||
final JarFile jar = new JarFile(jarFileName);
|
final JarFile jar = new JarFile(jarFileName);
|
||||||
analyzeJar(jar);
|
analyzeJar(jar);
|
||||||
// TODO output statistics
|
printStats();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void printStats() {
|
||||||
|
System.out.println("=== STATISTICS ===");
|
||||||
|
System.out.println("classes:\t" + classCount);
|
||||||
|
System.out.println("methods:\t" + methodCount);
|
||||||
|
System.out.println("instructions:\t" + instructionCount);
|
||||||
|
System.out.println("invoke instructions:\t" + invokeInstructionCount);
|
||||||
|
System.out.println("branch instructions:\t" + branchInstructionCount);
|
||||||
|
|
||||||
|
System.out.println("OPCODE\tMNEMONIC\tCOUNT");
|
||||||
|
instructionCounts.entrySet().stream().sorted(Comparator.comparingInt(Map.Entry::getKey))
|
||||||
|
.forEach(e -> System.out.printf("%d\t%s\t%d\n",
|
||||||
|
e.getKey(),
|
||||||
|
e.getKey() >= Printer.OPCODES.length ? "" : Printer.OPCODES[e.getKey()],
|
||||||
|
e.getValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void analyzeJar(final JarFile jar) throws IOException {
|
private static void analyzeJar(final JarFile jar) throws IOException {
|
||||||
|
@ -43,18 +69,39 @@ public class Analyzer {
|
||||||
|
|
||||||
private static void analyzeClass(final ClassNode classNode) {
|
private static void analyzeClass(final ClassNode classNode) {
|
||||||
System.out.println(" Class " + classNode.name);
|
System.out.println(" Class " + classNode.name);
|
||||||
|
classCount++;
|
||||||
|
|
||||||
final List<MethodNode> methods = classNode.methods;
|
final List<MethodNode> methods = classNode.methods;
|
||||||
for (final MethodNode methodNode : methods) {
|
for (final MethodNode methodNode : methods) {
|
||||||
analyzeMethod(methodNode);
|
analyzeMethod(methodNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void analyzeMethod(final MethodNode methodNode) {
|
private static void analyzeMethod(final MethodNode methodNode) {
|
||||||
System.out.println(" Method " + methodNode.name + methodNode.desc);
|
System.out.println(" Method " + methodNode.name + methodNode.desc);
|
||||||
// TODO implement required analysis
|
methodCount++;
|
||||||
|
|
||||||
|
for (int i = 0; i < methodNode.instructions.size(); i++) {
|
||||||
|
final AbstractInsnNode ins = methodNode.instructions.get(i);
|
||||||
|
if (ins.getOpcode() == -1) continue;
|
||||||
|
|
||||||
|
instructionCount++;
|
||||||
|
switch (ins.getType()) {
|
||||||
|
case AbstractInsnNode.LOOKUPSWITCH_INSN:
|
||||||
|
case AbstractInsnNode.TABLESWITCH_INSN:
|
||||||
|
branchInstructionCount++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AbstractInsnNode.JUMP_INSN:
|
||||||
|
if (ins.getOpcode() != Opcodes.GOTO) branchInstructionCount++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AbstractInsnNode.METHOD_INSN:
|
||||||
|
case AbstractInsnNode.INVOKE_DYNAMIC_INSN:
|
||||||
|
invokeInstructionCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO possibly add extra methods (adding classes is fine, too)
|
instructionCounts.compute(ins.getOpcode(), (k, v) -> v == null ? 1 : (v + 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
842
test/asm-6.2.1.jar-actual.output.txt
Normal file
842
test/asm-6.2.1.jar-actual.output.txt
Normal file
|
@ -0,0 +1,842 @@
|
||||||
|
Analyzing asm-6.2.1.jar
|
||||||
|
File module-info.class
|
||||||
|
Class module-info
|
||||||
|
File org/objectweb/asm/AnnotationVisitor.class
|
||||||
|
Class org/objectweb/asm/AnnotationVisitor
|
||||||
|
Method <init>(I)V
|
||||||
|
Method <init>(ILorg/objectweb/asm/AnnotationVisitor;)V
|
||||||
|
Method visit(Ljava/lang/String;Ljava/lang/Object;)V
|
||||||
|
Method visitEnum(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitArray(Ljava/lang/String;)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitEnd()V
|
||||||
|
File org/objectweb/asm/AnnotationWriter.class
|
||||||
|
Class org/objectweb/asm/AnnotationWriter
|
||||||
|
Method <init>(Lorg/objectweb/asm/SymbolTable;ZLorg/objectweb/asm/ByteVector;Lorg/objectweb/asm/AnnotationWriter;)V
|
||||||
|
Method <init>(Lorg/objectweb/asm/SymbolTable;Lorg/objectweb/asm/ByteVector;Lorg/objectweb/asm/AnnotationWriter;)V
|
||||||
|
Method visit(Ljava/lang/String;Ljava/lang/Object;)V
|
||||||
|
Method visitEnum(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitArray(Ljava/lang/String;)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitEnd()V
|
||||||
|
Method computeAnnotationsSize(Ljava/lang/String;)I
|
||||||
|
Method putAnnotations(ILorg/objectweb/asm/ByteVector;)V
|
||||||
|
Method computeParameterAnnotationsSize(Ljava/lang/String;[Lorg/objectweb/asm/AnnotationWriter;I)I
|
||||||
|
Method putParameterAnnotations(I[Lorg/objectweb/asm/AnnotationWriter;ILorg/objectweb/asm/ByteVector;)V
|
||||||
|
File org/objectweb/asm/Attribute$Set.class
|
||||||
|
Class org/objectweb/asm/Attribute$Set
|
||||||
|
Method <init>()V
|
||||||
|
Method addAttributes(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
Method toArray()[Lorg/objectweb/asm/Attribute;
|
||||||
|
Method contains(Lorg/objectweb/asm/Attribute;)Z
|
||||||
|
Method add(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
File org/objectweb/asm/Attribute.class
|
||||||
|
Class org/objectweb/asm/Attribute
|
||||||
|
Method <init>(Ljava/lang/String;)V
|
||||||
|
Method isUnknown()Z
|
||||||
|
Method isCodeAttribute()Z
|
||||||
|
Method getLabels()[Lorg/objectweb/asm/Label;
|
||||||
|
Method read(Lorg/objectweb/asm/ClassReader;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;
|
||||||
|
Method write(Lorg/objectweb/asm/ClassWriter;[BIII)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method getAttributeCount()I
|
||||||
|
Method computeAttributesSize(Lorg/objectweb/asm/SymbolTable;)I
|
||||||
|
Method computeAttributesSize(Lorg/objectweb/asm/SymbolTable;[BIII)I
|
||||||
|
Method putAttributes(Lorg/objectweb/asm/SymbolTable;Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
Method putAttributes(Lorg/objectweb/asm/SymbolTable;[BIIILorg/objectweb/asm/ByteVector;)V
|
||||||
|
File org/objectweb/asm/ByteVector.class
|
||||||
|
Class org/objectweb/asm/ByteVector
|
||||||
|
Method <init>()V
|
||||||
|
Method <init>(I)V
|
||||||
|
Method <init>([B)V
|
||||||
|
Method putByte(I)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method put11(II)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method putShort(I)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method put12(II)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method put112(III)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method putInt(I)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method put122(III)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method putLong(J)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method putUTF8(Ljava/lang/String;)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method encodeUTF8(Ljava/lang/String;II)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method putByteArray([BII)Lorg/objectweb/asm/ByteVector;
|
||||||
|
Method enlarge(I)V
|
||||||
|
File org/objectweb/asm/ClassReader.class
|
||||||
|
Class org/objectweb/asm/ClassReader
|
||||||
|
Method <init>([B)V
|
||||||
|
Method <init>([BII)V
|
||||||
|
Method <init>([BIZ)V
|
||||||
|
Method <init>(Ljava/io/InputStream;)V
|
||||||
|
Method <init>(Ljava/lang/String;)V
|
||||||
|
Method readStream(Ljava/io/InputStream;Z)[B
|
||||||
|
Method getAccess()I
|
||||||
|
Method getClassName()Ljava/lang/String;
|
||||||
|
Method getSuperName()Ljava/lang/String;
|
||||||
|
Method getInterfaces()[Ljava/lang/String;
|
||||||
|
Method accept(Lorg/objectweb/asm/ClassVisitor;I)V
|
||||||
|
Method accept(Lorg/objectweb/asm/ClassVisitor;[Lorg/objectweb/asm/Attribute;I)V
|
||||||
|
Method readModule(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;IILjava/lang/String;)V
|
||||||
|
Method readField(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I
|
||||||
|
Method readMethod(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I
|
||||||
|
Method readCode(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;I)V
|
||||||
|
Method readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;
|
||||||
|
Method createLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;
|
||||||
|
Method createDebugLabel(I[Lorg/objectweb/asm/Label;)V
|
||||||
|
Method readTypeAnnotations(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)[I
|
||||||
|
Method getTypeAnnotationBytecodeOffset([II)I
|
||||||
|
Method readTypeAnnotationTarget(Lorg/objectweb/asm/Context;I)I
|
||||||
|
Method readParameterAnnotations(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)V
|
||||||
|
Method readElementValues(Lorg/objectweb/asm/AnnotationVisitor;IZ[C)I
|
||||||
|
Method readElementValue(Lorg/objectweb/asm/AnnotationVisitor;ILjava/lang/String;[C)I
|
||||||
|
Method computeImplicitFrame(Lorg/objectweb/asm/Context;)V
|
||||||
|
Method readStackMapFrame(IZZLorg/objectweb/asm/Context;)I
|
||||||
|
Method readVerificationTypeInfo(I[Ljava/lang/Object;I[C[Lorg/objectweb/asm/Label;)I
|
||||||
|
Method getFirstAttributeOffset()I
|
||||||
|
Method readAttribute([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;
|
||||||
|
Method getItemCount()I
|
||||||
|
Method getItem(I)I
|
||||||
|
Method getMaxStringLength()I
|
||||||
|
Method readByte(I)I
|
||||||
|
Method readUnsignedShort(I)I
|
||||||
|
Method readShort(I)S
|
||||||
|
Method readInt(I)I
|
||||||
|
Method readLong(I)J
|
||||||
|
Method readUTF8(I[C)Ljava/lang/String;
|
||||||
|
Method readUTF(I[C)Ljava/lang/String;
|
||||||
|
Method readUTF(II[C)Ljava/lang/String;
|
||||||
|
Method readStringish(I[C)Ljava/lang/String;
|
||||||
|
Method readClass(I[C)Ljava/lang/String;
|
||||||
|
Method readModule(I[C)Ljava/lang/String;
|
||||||
|
Method readPackage(I[C)Ljava/lang/String;
|
||||||
|
Method readConstantDynamic(I[C)Lorg/objectweb/asm/ConstantDynamic;
|
||||||
|
Method readConst(I[C)Ljava/lang/Object;
|
||||||
|
File org/objectweb/asm/ClassTooLargeException.class
|
||||||
|
Class org/objectweb/asm/ClassTooLargeException
|
||||||
|
Method <init>(Ljava/lang/String;I)V
|
||||||
|
Method getClassName()Ljava/lang/String;
|
||||||
|
Method getConstantPoolCount()I
|
||||||
|
File org/objectweb/asm/ClassVisitor.class
|
||||||
|
Class org/objectweb/asm/ClassVisitor
|
||||||
|
Method <init>(I)V
|
||||||
|
Method <init>(ILorg/objectweb/asm/ClassVisitor;)V
|
||||||
|
Method visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
|
||||||
|
Method visitSource(Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitModule(Ljava/lang/String;ILjava/lang/String;)Lorg/objectweb/asm/ModuleVisitor;
|
||||||
|
Method visitNestHostExperimental(Ljava/lang/String;)V
|
||||||
|
Method visitOuterClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAttribute(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
Method visitNestMemberExperimental(Ljava/lang/String;)V
|
||||||
|
Method visitInnerClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
|
||||||
|
Method visitField(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
|
||||||
|
Method visitMethod(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
|
||||||
|
Method visitEnd()V
|
||||||
|
File org/objectweb/asm/ClassWriter.class
|
||||||
|
Class org/objectweb/asm/ClassWriter
|
||||||
|
Method <init>(I)V
|
||||||
|
Method <init>(Lorg/objectweb/asm/ClassReader;I)V
|
||||||
|
Method visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
|
||||||
|
Method visitSource(Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitModule(Ljava/lang/String;ILjava/lang/String;)Lorg/objectweb/asm/ModuleVisitor;
|
||||||
|
Method visitNestHostExperimental(Ljava/lang/String;)V
|
||||||
|
Method visitOuterClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAttribute(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
Method visitNestMemberExperimental(Ljava/lang/String;)V
|
||||||
|
Method visitInnerClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
|
||||||
|
Method visitField(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
|
||||||
|
Method visitMethod(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
|
||||||
|
Method visitEnd()V
|
||||||
|
Method toByteArray()[B
|
||||||
|
Method replaceAsmInstructions([BZ)[B
|
||||||
|
Method getAttributePrototypes()[Lorg/objectweb/asm/Attribute;
|
||||||
|
Method newConst(Ljava/lang/Object;)I
|
||||||
|
Method newUTF8(Ljava/lang/String;)I
|
||||||
|
Method newClass(Ljava/lang/String;)I
|
||||||
|
Method newMethodType(Ljava/lang/String;)I
|
||||||
|
Method newModule(Ljava/lang/String;)I
|
||||||
|
Method newPackage(Ljava/lang/String;)I
|
||||||
|
Method newHandle(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
|
||||||
|
Method newHandle(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)I
|
||||||
|
Method newConstantDynamic(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)I
|
||||||
|
Method newInvokeDynamic(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)I
|
||||||
|
Method newField(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
|
||||||
|
Method newMethod(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)I
|
||||||
|
Method newNameType(Ljava/lang/String;Ljava/lang/String;)I
|
||||||
|
Method getCommonSuperClass(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
||||||
|
Method getClassLoader()Ljava/lang/ClassLoader;
|
||||||
|
File org/objectweb/asm/ConstantDynamic.class
|
||||||
|
Class org/objectweb/asm/ConstantDynamic
|
||||||
|
Method <init>(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V
|
||||||
|
Method getName()Ljava/lang/String;
|
||||||
|
Method getDescriptor()Ljava/lang/String;
|
||||||
|
Method getBootstrapMethod()Lorg/objectweb/asm/Handle;
|
||||||
|
Method getBootstrapMethodArguments()[Ljava/lang/Object;
|
||||||
|
Method equals(Ljava/lang/Object;)Z
|
||||||
|
Method hashCode()I
|
||||||
|
Method toString()Ljava/lang/String;
|
||||||
|
File org/objectweb/asm/Constants.class
|
||||||
|
Class org/objectweb/asm/Constants
|
||||||
|
Method <init>()V
|
||||||
|
File org/objectweb/asm/Context.class
|
||||||
|
Class org/objectweb/asm/Context
|
||||||
|
Method <init>()V
|
||||||
|
File org/objectweb/asm/CurrentFrame.class
|
||||||
|
Class org/objectweb/asm/CurrentFrame
|
||||||
|
Method <init>(Lorg/objectweb/asm/Label;)V
|
||||||
|
Method execute(IILorg/objectweb/asm/Symbol;Lorg/objectweb/asm/SymbolTable;)V
|
||||||
|
File org/objectweb/asm/Edge.class
|
||||||
|
Class org/objectweb/asm/Edge
|
||||||
|
Method <init>(ILorg/objectweb/asm/Label;Lorg/objectweb/asm/Edge;)V
|
||||||
|
File org/objectweb/asm/FieldVisitor.class
|
||||||
|
Class org/objectweb/asm/FieldVisitor
|
||||||
|
Method <init>(I)V
|
||||||
|
Method <init>(ILorg/objectweb/asm/FieldVisitor;)V
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAttribute(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
Method visitEnd()V
|
||||||
|
File org/objectweb/asm/FieldWriter.class
|
||||||
|
Class org/objectweb/asm/FieldWriter
|
||||||
|
Method <init>(Lorg/objectweb/asm/SymbolTable;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAttribute(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
Method visitEnd()V
|
||||||
|
Method computeFieldInfoSize()I
|
||||||
|
Method putFieldInfo(Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
Method collectAttributePrototypes(Lorg/objectweb/asm/Attribute$Set;)V
|
||||||
|
File org/objectweb/asm/Frame.class
|
||||||
|
Class org/objectweb/asm/Frame
|
||||||
|
Method getAbstractTypeFromApiFormat(Lorg/objectweb/asm/SymbolTable;Ljava/lang/Object;)I
|
||||||
|
Method getAbstractTypeFromInternalName(Lorg/objectweb/asm/SymbolTable;Ljava/lang/String;)I
|
||||||
|
Method getAbstractTypeFromDescriptor(Lorg/objectweb/asm/SymbolTable;Ljava/lang/String;I)I
|
||||||
|
Method <init>(Lorg/objectweb/asm/Label;)V
|
||||||
|
Method copyFrom(Lorg/objectweb/asm/Frame;)V
|
||||||
|
Method setInputFrameFromDescriptor(Lorg/objectweb/asm/SymbolTable;ILjava/lang/String;I)V
|
||||||
|
Method setInputFrameFromApiFormat(Lorg/objectweb/asm/SymbolTable;I[Ljava/lang/Object;I[Ljava/lang/Object;)V
|
||||||
|
Method getInputStackSize()I
|
||||||
|
Method getLocal(I)I
|
||||||
|
Method setLocal(II)V
|
||||||
|
Method push(I)V
|
||||||
|
Method push(Lorg/objectweb/asm/SymbolTable;Ljava/lang/String;)V
|
||||||
|
Method pop()I
|
||||||
|
Method pop(I)V
|
||||||
|
Method pop(Ljava/lang/String;)V
|
||||||
|
Method addInitializedType(I)V
|
||||||
|
Method getInitializedType(Lorg/objectweb/asm/SymbolTable;I)I
|
||||||
|
Method execute(IILorg/objectweb/asm/Symbol;Lorg/objectweb/asm/SymbolTable;)V
|
||||||
|
Method merge(Lorg/objectweb/asm/SymbolTable;Lorg/objectweb/asm/Frame;I)Z
|
||||||
|
Method merge(Lorg/objectweb/asm/SymbolTable;I[II)Z
|
||||||
|
Method accept(Lorg/objectweb/asm/MethodWriter;)V
|
||||||
|
Method putAbstractType(Lorg/objectweb/asm/SymbolTable;ILorg/objectweb/asm/ByteVector;)V
|
||||||
|
File org/objectweb/asm/Handle.class
|
||||||
|
Class org/objectweb/asm/Handle
|
||||||
|
Method <init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method <init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
|
||||||
|
Method getTag()I
|
||||||
|
Method getOwner()Ljava/lang/String;
|
||||||
|
Method getName()Ljava/lang/String;
|
||||||
|
Method getDesc()Ljava/lang/String;
|
||||||
|
Method isInterface()Z
|
||||||
|
Method equals(Ljava/lang/Object;)Z
|
||||||
|
Method hashCode()I
|
||||||
|
Method toString()Ljava/lang/String;
|
||||||
|
File org/objectweb/asm/Handler.class
|
||||||
|
Class org/objectweb/asm/Handler
|
||||||
|
Method <init>(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;ILjava/lang/String;)V
|
||||||
|
Method <init>(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
|
||||||
|
Method removeRange(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Handler;
|
||||||
|
Method getExceptionTableLength(Lorg/objectweb/asm/Handler;)I
|
||||||
|
Method getExceptionTableSize(Lorg/objectweb/asm/Handler;)I
|
||||||
|
Method putExceptionTable(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
File org/objectweb/asm/Label.class
|
||||||
|
Class org/objectweb/asm/Label
|
||||||
|
Method <init>()V
|
||||||
|
Method getOffset()I
|
||||||
|
Method getCanonicalInstance()Lorg/objectweb/asm/Label;
|
||||||
|
Method addLineNumber(I)V
|
||||||
|
Method accept(Lorg/objectweb/asm/MethodVisitor;Z)V
|
||||||
|
Method put(Lorg/objectweb/asm/ByteVector;IZ)V
|
||||||
|
Method addForwardReference(III)V
|
||||||
|
Method resolve([BI)Z
|
||||||
|
Method markSubroutine(S)V
|
||||||
|
Method addSubroutineRetSuccessors(Lorg/objectweb/asm/Label;)V
|
||||||
|
Method pushSuccessors(Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;
|
||||||
|
Method toString()Ljava/lang/String;
|
||||||
|
Method <clinit>()V
|
||||||
|
File org/objectweb/asm/MethodTooLargeException.class
|
||||||
|
Class org/objectweb/asm/MethodTooLargeException
|
||||||
|
Method <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
|
||||||
|
Method getClassName()Ljava/lang/String;
|
||||||
|
Method getMethodName()Ljava/lang/String;
|
||||||
|
Method getDescriptor()Ljava/lang/String;
|
||||||
|
Method getCodeSize()I
|
||||||
|
File org/objectweb/asm/MethodVisitor.class
|
||||||
|
Class org/objectweb/asm/MethodVisitor
|
||||||
|
Method <init>(I)V
|
||||||
|
Method <init>(ILorg/objectweb/asm/MethodVisitor;)V
|
||||||
|
Method visitParameter(Ljava/lang/String;I)V
|
||||||
|
Method visitAnnotationDefault()Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAnnotableParameterCount(IZ)V
|
||||||
|
Method visitParameterAnnotation(ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAttribute(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
Method visitCode()V
|
||||||
|
Method visitFrame(II[Ljava/lang/Object;I[Ljava/lang/Object;)V
|
||||||
|
Method visitInsn(I)V
|
||||||
|
Method visitIntInsn(II)V
|
||||||
|
Method visitVarInsn(II)V
|
||||||
|
Method visitTypeInsn(ILjava/lang/String;)V
|
||||||
|
Method visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
|
||||||
|
Method visitInvokeDynamicInsn(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V
|
||||||
|
Method visitJumpInsn(ILorg/objectweb/asm/Label;)V
|
||||||
|
Method visitLabel(Lorg/objectweb/asm/Label;)V
|
||||||
|
Method visitLdcInsn(Ljava/lang/Object;)V
|
||||||
|
Method visitIincInsn(II)V
|
||||||
|
Method visitTableSwitchInsn(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V
|
||||||
|
Method visitLookupSwitchInsn(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V
|
||||||
|
Method visitMultiANewArrayInsn(Ljava/lang/String;I)V
|
||||||
|
Method visitInsnAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTryCatchBlock(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V
|
||||||
|
Method visitTryCatchAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitLocalVariable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V
|
||||||
|
Method visitLocalVariableAnnotation(ILorg/objectweb/asm/TypePath;[Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;[ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitLineNumber(ILorg/objectweb/asm/Label;)V
|
||||||
|
Method visitMaxs(II)V
|
||||||
|
Method visitEnd()V
|
||||||
|
File org/objectweb/asm/MethodWriter.class
|
||||||
|
Class org/objectweb/asm/MethodWriter
|
||||||
|
Method <init>(Lorg/objectweb/asm/SymbolTable;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)V
|
||||||
|
Method hasFrames()Z
|
||||||
|
Method hasAsmInstructions()Z
|
||||||
|
Method visitParameter(Ljava/lang/String;I)V
|
||||||
|
Method visitAnnotationDefault()Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAnnotableParameterCount(IZ)V
|
||||||
|
Method visitParameterAnnotation(ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitAttribute(Lorg/objectweb/asm/Attribute;)V
|
||||||
|
Method visitCode()V
|
||||||
|
Method visitFrame(II[Ljava/lang/Object;I[Ljava/lang/Object;)V
|
||||||
|
Method visitInsn(I)V
|
||||||
|
Method visitIntInsn(II)V
|
||||||
|
Method visitVarInsn(II)V
|
||||||
|
Method visitTypeInsn(ILjava/lang/String;)V
|
||||||
|
Method visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
|
||||||
|
Method visitInvokeDynamicInsn(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V
|
||||||
|
Method visitJumpInsn(ILorg/objectweb/asm/Label;)V
|
||||||
|
Method visitLabel(Lorg/objectweb/asm/Label;)V
|
||||||
|
Method visitLdcInsn(Ljava/lang/Object;)V
|
||||||
|
Method visitIincInsn(II)V
|
||||||
|
Method visitTableSwitchInsn(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V
|
||||||
|
Method visitLookupSwitchInsn(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V
|
||||||
|
Method visitSwitchInsn(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V
|
||||||
|
Method visitMultiANewArrayInsn(Ljava/lang/String;I)V
|
||||||
|
Method visitInsnAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitTryCatchBlock(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V
|
||||||
|
Method visitTryCatchAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitLocalVariable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V
|
||||||
|
Method visitLocalVariableAnnotation(ILorg/objectweb/asm/TypePath;[Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;[ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
|
||||||
|
Method visitLineNumber(ILorg/objectweb/asm/Label;)V
|
||||||
|
Method visitMaxs(II)V
|
||||||
|
Method computeAllFrames()V
|
||||||
|
Method computeMaxStackAndLocal()V
|
||||||
|
Method visitEnd()V
|
||||||
|
Method addSuccessorToCurrentBasicBlock(ILorg/objectweb/asm/Label;)V
|
||||||
|
Method endCurrentBasicBlockWithNoSuccessor()V
|
||||||
|
Method visitFrameStart(III)I
|
||||||
|
Method visitAbstractType(II)V
|
||||||
|
Method visitFrameEnd()V
|
||||||
|
Method putFrame()V
|
||||||
|
Method putAbstractTypes(II)V
|
||||||
|
Method putFrameType(Ljava/lang/Object;)V
|
||||||
|
Method canCopyMethodAttributes(Lorg/objectweb/asm/ClassReader;IIZZIII)Z
|
||||||
|
Method computeMethodInfoSize()I
|
||||||
|
Method putMethodInfo(Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
Method collectAttributePrototypes(Lorg/objectweb/asm/Attribute$Set;)V
|
||||||
|
Method <clinit>()V
|
||||||
|
File org/objectweb/asm/ModuleVisitor.class
|
||||||
|
Class org/objectweb/asm/ModuleVisitor
|
||||||
|
Method <init>(I)V
|
||||||
|
Method <init>(ILorg/objectweb/asm/ModuleVisitor;)V
|
||||||
|
Method visitMainClass(Ljava/lang/String;)V
|
||||||
|
Method visitPackage(Ljava/lang/String;)V
|
||||||
|
Method visitRequire(Ljava/lang/String;ILjava/lang/String;)V
|
||||||
|
Method visitExport(Ljava/lang/String;I[Ljava/lang/String;)V
|
||||||
|
Method visitOpen(Ljava/lang/String;I[Ljava/lang/String;)V
|
||||||
|
Method visitUse(Ljava/lang/String;)V
|
||||||
|
Method visitProvide(Ljava/lang/String;[Ljava/lang/String;)V
|
||||||
|
Method visitEnd()V
|
||||||
|
File org/objectweb/asm/ModuleWriter.class
|
||||||
|
Class org/objectweb/asm/ModuleWriter
|
||||||
|
Method <init>(Lorg/objectweb/asm/SymbolTable;III)V
|
||||||
|
Method visitMainClass(Ljava/lang/String;)V
|
||||||
|
Method visitPackage(Ljava/lang/String;)V
|
||||||
|
Method visitRequire(Ljava/lang/String;ILjava/lang/String;)V
|
||||||
|
Method visitExport(Ljava/lang/String;I[Ljava/lang/String;)V
|
||||||
|
Method visitOpen(Ljava/lang/String;I[Ljava/lang/String;)V
|
||||||
|
Method visitUse(Ljava/lang/String;)V
|
||||||
|
Method visitProvide(Ljava/lang/String;[Ljava/lang/String;)V
|
||||||
|
Method visitEnd()V
|
||||||
|
Method getAttributeCount()I
|
||||||
|
Method computeAttributesSize()I
|
||||||
|
Method putAttributes(Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
File org/objectweb/asm/Opcodes.class
|
||||||
|
Class org/objectweb/asm/Opcodes
|
||||||
|
Method <clinit>()V
|
||||||
|
File org/objectweb/asm/Symbol.class
|
||||||
|
Class org/objectweb/asm/Symbol
|
||||||
|
Method <init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
|
||||||
|
Method getArgumentsAndReturnSizes()I
|
||||||
|
File org/objectweb/asm/SymbolTable$Entry.class
|
||||||
|
Class org/objectweb/asm/SymbolTable$Entry
|
||||||
|
Method <init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;JI)V
|
||||||
|
Method <init>(IILjava/lang/String;I)V
|
||||||
|
Method <init>(IILjava/lang/String;JI)V
|
||||||
|
Method <init>(IILjava/lang/String;Ljava/lang/String;I)V
|
||||||
|
Method <init>(IIJI)V
|
||||||
|
File org/objectweb/asm/SymbolTable.class
|
||||||
|
Class org/objectweb/asm/SymbolTable
|
||||||
|
Method <init>(Lorg/objectweb/asm/ClassWriter;)V
|
||||||
|
Method <init>(Lorg/objectweb/asm/ClassWriter;Lorg/objectweb/asm/ClassReader;)V
|
||||||
|
Method getSource()Lorg/objectweb/asm/ClassReader;
|
||||||
|
Method getMajorVersion()I
|
||||||
|
Method getClassName()Ljava/lang/String;
|
||||||
|
Method setMajorVersionAndClassName(ILjava/lang/String;)I
|
||||||
|
Method getConstantPoolCount()I
|
||||||
|
Method getConstantPoolLength()I
|
||||||
|
Method putConstantPool(Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
Method computeBootstrapMethodsSize()I
|
||||||
|
Method putBootstrapMethods(Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
Method get(I)Lorg/objectweb/asm/SymbolTable$Entry;
|
||||||
|
Method put(Lorg/objectweb/asm/SymbolTable$Entry;)Lorg/objectweb/asm/SymbolTable$Entry;
|
||||||
|
Method add(Lorg/objectweb/asm/SymbolTable$Entry;)V
|
||||||
|
Method addConstant(Ljava/lang/Object;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantClass(Ljava/lang/String;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantFieldref(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantMethodref(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantMemberReference(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/SymbolTable$Entry;
|
||||||
|
Method addConstantMemberReference(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method addConstantString(Ljava/lang/String;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantInteger(I)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantFloat(F)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantInteger(II)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantInteger(III)V
|
||||||
|
Method addConstantLong(J)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantDouble(D)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantLong(IJ)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantLong(IIJ)V
|
||||||
|
Method addConstantNameAndType(Ljava/lang/String;Ljava/lang/String;)I
|
||||||
|
Method addConstantNameAndType(ILjava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method addConstantUtf8(Ljava/lang/String;)I
|
||||||
|
Method addConstantUtf8(ILjava/lang/String;)V
|
||||||
|
Method addConstantMethodHandle(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantMethodHandle(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Method addConstantMethodType(Ljava/lang/String;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantDynamic(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantInvokeDynamic(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantDynamicOrInvokeDynamicReference(ILjava/lang/String;Ljava/lang/String;I)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantDynamicOrInvokeDynamicReference(IILjava/lang/String;Ljava/lang/String;I)V
|
||||||
|
Method addConstantModule(Ljava/lang/String;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantPackage(Ljava/lang/String;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantUtf8Reference(ILjava/lang/String;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addConstantUtf8Reference(IILjava/lang/String;)V
|
||||||
|
Method addBootstrapMethod(Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addBootstrapMethod(III)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method getType(I)Lorg/objectweb/asm/Symbol;
|
||||||
|
Method addType(Ljava/lang/String;)I
|
||||||
|
Method addUninitializedType(Ljava/lang/String;I)I
|
||||||
|
Method addMergedType(II)I
|
||||||
|
Method addType(Lorg/objectweb/asm/SymbolTable$Entry;)I
|
||||||
|
Method hash(II)I
|
||||||
|
Method hash(IJ)I
|
||||||
|
Method hash(ILjava/lang/String;)I
|
||||||
|
Method hash(ILjava/lang/String;I)I
|
||||||
|
Method hash(ILjava/lang/String;Ljava/lang/String;)I
|
||||||
|
Method hash(ILjava/lang/String;Ljava/lang/String;I)I
|
||||||
|
Method hash(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
|
||||||
|
Method hash(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
|
||||||
|
File org/objectweb/asm/Type.class
|
||||||
|
Class org/objectweb/asm/Type
|
||||||
|
Method <init>(ILjava/lang/String;II)V
|
||||||
|
Method getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getMethodType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getMethodType(Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getType(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getType(Ljava/lang/reflect/Constructor;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getType(Ljava/lang/reflect/Method;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getArgumentTypes(Ljava/lang/String;)[Lorg/objectweb/asm/Type;
|
||||||
|
Method getArgumentTypes(Ljava/lang/reflect/Method;)[Lorg/objectweb/asm/Type;
|
||||||
|
Method getReturnType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getReturnType(Ljava/lang/reflect/Method;)Lorg/objectweb/asm/Type;
|
||||||
|
Method getArgumentsAndReturnSizes(Ljava/lang/String;)I
|
||||||
|
Method getType(Ljava/lang/String;II)Lorg/objectweb/asm/Type;
|
||||||
|
Method getSort()I
|
||||||
|
Method getDimensions()I
|
||||||
|
Method getElementType()Lorg/objectweb/asm/Type;
|
||||||
|
Method getClassName()Ljava/lang/String;
|
||||||
|
Method getInternalName()Ljava/lang/String;
|
||||||
|
Method getArgumentTypes()[Lorg/objectweb/asm/Type;
|
||||||
|
Method getReturnType()Lorg/objectweb/asm/Type;
|
||||||
|
Method getArgumentsAndReturnSizes()I
|
||||||
|
Method getDescriptor()Ljava/lang/String;
|
||||||
|
Method getMethodDescriptor(Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)Ljava/lang/String;
|
||||||
|
Method appendDescriptor(Ljava/lang/StringBuilder;)V
|
||||||
|
Method getInternalName(Ljava/lang/Class;)Ljava/lang/String;
|
||||||
|
Method getDescriptor(Ljava/lang/Class;)Ljava/lang/String;
|
||||||
|
Method getConstructorDescriptor(Ljava/lang/reflect/Constructor;)Ljava/lang/String;
|
||||||
|
Method getMethodDescriptor(Ljava/lang/reflect/Method;)Ljava/lang/String;
|
||||||
|
Method appendDescriptor(Ljava/lang/StringBuilder;Ljava/lang/Class;)V
|
||||||
|
Method getSize()I
|
||||||
|
Method getOpcode(I)I
|
||||||
|
Method equals(Ljava/lang/Object;)Z
|
||||||
|
Method hashCode()I
|
||||||
|
Method toString()Ljava/lang/String;
|
||||||
|
Method <clinit>()V
|
||||||
|
File org/objectweb/asm/TypePath.class
|
||||||
|
Class org/objectweb/asm/TypePath
|
||||||
|
Method <init>([BI)V
|
||||||
|
Method getLength()I
|
||||||
|
Method getStep(I)I
|
||||||
|
Method getStepArgument(I)I
|
||||||
|
Method fromString(Ljava/lang/String;)Lorg/objectweb/asm/TypePath;
|
||||||
|
Method toString()Ljava/lang/String;
|
||||||
|
Method put(Lorg/objectweb/asm/TypePath;Lorg/objectweb/asm/ByteVector;)V
|
||||||
|
File org/objectweb/asm/TypeReference.class
|
||||||
|
Class org/objectweb/asm/TypeReference
|
||||||
|
Method <init>(I)V
|
||||||
|
Method newTypeReference(I)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method newTypeParameterReference(II)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method newTypeParameterBoundReference(III)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method newSuperTypeReference(I)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method newFormalParameterReference(I)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method newExceptionReference(I)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method newTryCatchReference(I)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method newTypeArgumentReference(II)Lorg/objectweb/asm/TypeReference;
|
||||||
|
Method getSort()I
|
||||||
|
Method getTypeParameterIndex()I
|
||||||
|
Method getTypeParameterBoundIndex()I
|
||||||
|
Method getSuperTypeIndex()I
|
||||||
|
Method getFormalParameterIndex()I
|
||||||
|
Method getExceptionIndex()I
|
||||||
|
Method getTryCatchBlockIndex()I
|
||||||
|
Method getTypeArgumentIndex()I
|
||||||
|
Method getValue()I
|
||||||
|
Method putTarget(ILorg/objectweb/asm/ByteVector;)V
|
||||||
|
File org/objectweb/asm/signature/SignatureReader.class
|
||||||
|
Class org/objectweb/asm/signature/SignatureReader
|
||||||
|
Method <init>(Ljava/lang/String;)V
|
||||||
|
Method accept(Lorg/objectweb/asm/signature/SignatureVisitor;)V
|
||||||
|
Method acceptType(Lorg/objectweb/asm/signature/SignatureVisitor;)V
|
||||||
|
Method parseType(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
|
||||||
|
File org/objectweb/asm/signature/SignatureVisitor.class
|
||||||
|
Class org/objectweb/asm/signature/SignatureVisitor
|
||||||
|
Method <init>(I)V
|
||||||
|
Method visitFormalTypeParameter(Ljava/lang/String;)V
|
||||||
|
Method visitClassBound()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitInterfaceBound()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitSuperclass()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitInterface()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitParameterType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitReturnType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitExceptionType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitBaseType(C)V
|
||||||
|
Method visitTypeVariable(Ljava/lang/String;)V
|
||||||
|
Method visitArrayType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitClassType(Ljava/lang/String;)V
|
||||||
|
Method visitInnerClassType(Ljava/lang/String;)V
|
||||||
|
Method visitTypeArgument()V
|
||||||
|
Method visitTypeArgument(C)Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitEnd()V
|
||||||
|
File org/objectweb/asm/signature/SignatureWriter.class
|
||||||
|
Class org/objectweb/asm/signature/SignatureWriter
|
||||||
|
Method <init>()V
|
||||||
|
Method visitFormalTypeParameter(Ljava/lang/String;)V
|
||||||
|
Method visitClassBound()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitInterfaceBound()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitSuperclass()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitInterface()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitParameterType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitReturnType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitExceptionType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitBaseType(C)V
|
||||||
|
Method visitTypeVariable(Ljava/lang/String;)V
|
||||||
|
Method visitArrayType()Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitClassType(Ljava/lang/String;)V
|
||||||
|
Method visitInnerClassType(Ljava/lang/String;)V
|
||||||
|
Method visitTypeArgument()V
|
||||||
|
Method visitTypeArgument(C)Lorg/objectweb/asm/signature/SignatureVisitor;
|
||||||
|
Method visitEnd()V
|
||||||
|
Method toString()Ljava/lang/String;
|
||||||
|
Method endFormals()V
|
||||||
|
Method endArguments()V
|
||||||
|
=== STATISTICS ===
|
||||||
|
classes: 36
|
||||||
|
methods: 506
|
||||||
|
instructions: 23388
|
||||||
|
invoke instructions: 2388
|
||||||
|
branch instructions: 1313
|
||||||
|
OPCODE MNEMONIC COUNT
|
||||||
|
0 NOP 0
|
||||||
|
1 ACONST_NULL 123
|
||||||
|
2 ICONST_M1 80
|
||||||
|
3 ICONST_0 483
|
||||||
|
4 ICONST_1 356
|
||||||
|
5 ICONST_2 213
|
||||||
|
6 ICONST_3 63
|
||||||
|
7 ICONST_4 84
|
||||||
|
8 ICONST_5 13
|
||||||
|
9 LCONST_0 4
|
||||||
|
10 LCONST_1 0
|
||||||
|
11 FCONST_0 0
|
||||||
|
12 FCONST_1 0
|
||||||
|
13 FCONST_2 0
|
||||||
|
14 DCONST_0 0
|
||||||
|
15 DCONST_1 0
|
||||||
|
16 BIPUSH 646
|
||||||
|
17 SIPUSH 227
|
||||||
|
18 LDC 499
|
||||||
|
19 LDC_W 0
|
||||||
|
20 LDC2_W 0
|
||||||
|
21 ILOAD 2516
|
||||||
|
22 LLOAD 20
|
||||||
|
23 FLOAD 2
|
||||||
|
24 DLOAD 2
|
||||||
|
25 ALOAD 5255
|
||||||
|
26 ILOAD_0 0
|
||||||
|
27 ILOAD_1 0
|
||||||
|
28 ILOAD_2 0
|
||||||
|
29 ILOAD_3 0
|
||||||
|
30 LLOAD_0 0
|
||||||
|
31 LLOAD_1 0
|
||||||
|
32 LLOAD_2 0
|
||||||
|
33 LLOAD_3 0
|
||||||
|
34 FLOAD_0 0
|
||||||
|
35 FLOAD_1 0
|
||||||
|
36 FLOAD_2 0
|
||||||
|
37 FLOAD_3 0
|
||||||
|
38 DLOAD_0 0
|
||||||
|
39 DLOAD_1 0
|
||||||
|
40 DLOAD_2 0
|
||||||
|
41 DLOAD_3 0
|
||||||
|
42 ALOAD_0 0
|
||||||
|
43 ALOAD_1 0
|
||||||
|
44 ALOAD_2 0
|
||||||
|
45 ALOAD_3 0
|
||||||
|
46 IALOAD 88
|
||||||
|
47 LALOAD 1
|
||||||
|
48 FALOAD 1
|
||||||
|
49 DALOAD 1
|
||||||
|
50 AALOAD 71
|
||||||
|
51 BALOAD 45
|
||||||
|
52 CALOAD 1
|
||||||
|
53 SALOAD 1
|
||||||
|
54 ISTORE 879
|
||||||
|
55 LSTORE 4
|
||||||
|
56 FSTORE 1
|
||||||
|
57 DSTORE 1
|
||||||
|
58 ASTORE 424
|
||||||
|
59 ISTORE_0 0
|
||||||
|
60 ISTORE_1 0
|
||||||
|
61 ISTORE_2 0
|
||||||
|
62 ISTORE_3 0
|
||||||
|
63 LSTORE_0 0
|
||||||
|
64 LSTORE_1 0
|
||||||
|
65 LSTORE_2 0
|
||||||
|
66 LSTORE_3 0
|
||||||
|
67 FSTORE_0 0
|
||||||
|
68 FSTORE_1 0
|
||||||
|
69 FSTORE_2 0
|
||||||
|
70 FSTORE_3 0
|
||||||
|
71 DSTORE_0 0
|
||||||
|
72 DSTORE_1 0
|
||||||
|
73 DSTORE_2 0
|
||||||
|
74 DSTORE_3 0
|
||||||
|
75 ASTORE_0 0
|
||||||
|
76 ASTORE_1 0
|
||||||
|
77 ASTORE_2 0
|
||||||
|
78 ASTORE_3 0
|
||||||
|
79 IASTORE 241
|
||||||
|
80 LASTORE 1
|
||||||
|
81 FASTORE 1
|
||||||
|
82 DASTORE 1
|
||||||
|
83 AASTORE 41
|
||||||
|
84 BASTORE 55
|
||||||
|
85 CASTORE 4
|
||||||
|
86 SASTORE 1
|
||||||
|
87 POP 317
|
||||||
|
88 POP2 0
|
||||||
|
89 DUP 500
|
||||||
|
90 DUP_X1 37
|
||||||
|
91 DUP_X2 5
|
||||||
|
92 DUP2 1
|
||||||
|
93 DUP2_X1 0
|
||||||
|
94 DUP2_X2 0
|
||||||
|
95 SWAP 0
|
||||||
|
96 IADD 525
|
||||||
|
97 LADD 0
|
||||||
|
98 FADD 0
|
||||||
|
99 DADD 0
|
||||||
|
100 ISUB 101
|
||||||
|
101 LSUB 0
|
||||||
|
102 FSUB 0
|
||||||
|
103 DSUB 0
|
||||||
|
104 IMUL 39
|
||||||
|
105 LMUL 0
|
||||||
|
106 FMUL 0
|
||||||
|
107 DMUL 0
|
||||||
|
108 IDIV 3
|
||||||
|
109 LDIV 0
|
||||||
|
110 FDIV 0
|
||||||
|
111 DDIV 0
|
||||||
|
112 IREM 11
|
||||||
|
113 LREM 0
|
||||||
|
114 FREM 0
|
||||||
|
115 DREM 0
|
||||||
|
116 INEG 1
|
||||||
|
117 LNEG 0
|
||||||
|
118 FNEG 0
|
||||||
|
119 DNEG 0
|
||||||
|
120 ISHL 25
|
||||||
|
121 LSHL 2
|
||||||
|
122 ISHR 19
|
||||||
|
123 LSHR 0
|
||||||
|
124 IUSHR 30
|
||||||
|
125 LUSHR 2
|
||||||
|
126 IAND 182
|
||||||
|
127 LAND 1
|
||||||
|
128 IOR 79
|
||||||
|
129 LOR 2
|
||||||
|
130 IXOR 12
|
||||||
|
131 LXOR 0
|
||||||
|
132 IINC 477
|
||||||
|
133 I2L 17
|
||||||
|
134 I2F 0
|
||||||
|
135 I2D 0
|
||||||
|
136 L2I 6
|
||||||
|
137 L2F 0
|
||||||
|
138 L2D 0
|
||||||
|
139 F2I 0
|
||||||
|
140 F2L 0
|
||||||
|
141 F2D 0
|
||||||
|
142 D2I 0
|
||||||
|
143 D2L 0
|
||||||
|
144 D2F 0
|
||||||
|
145 I2B 53
|
||||||
|
146 I2C 5
|
||||||
|
147 I2S 31
|
||||||
|
148 LCMP 6
|
||||||
|
149 FCMPL 0
|
||||||
|
150 FCMPG 0
|
||||||
|
151 DCMPL 0
|
||||||
|
152 DCMPG 0
|
||||||
|
153 IFEQ 264
|
||||||
|
154 IFNE 68
|
||||||
|
155 IFLT 4
|
||||||
|
156 IFGE 1
|
||||||
|
157 IFGT 0
|
||||||
|
158 IFLE 73
|
||||||
|
159 IF_ICMPEQ 108
|
||||||
|
160 IF_ICMPNE 194
|
||||||
|
161 IF_ICMPLT 30
|
||||||
|
162 IF_ICMPGE 148
|
||||||
|
163 IF_ICMPGT 16
|
||||||
|
164 IF_ICMPLE 36
|
||||||
|
165 IF_ACMPEQ 11
|
||||||
|
166 IF_ACMPNE 27
|
||||||
|
167 GOTO 718
|
||||||
|
168 JSR 0
|
||||||
|
169 RET 0
|
||||||
|
170 TABLESWITCH 28
|
||||||
|
171 LOOKUPSWITCH 5
|
||||||
|
172 IRETURN 176
|
||||||
|
173 LRETURN 1
|
||||||
|
174 FRETURN 0
|
||||||
|
175 DRETURN 0
|
||||||
|
176 ARETURN 267
|
||||||
|
177 RETURN 241
|
||||||
|
178 GETSTATIC 72
|
||||||
|
179 PUTSTATIC 18
|
||||||
|
180 GETFIELD 2211
|
||||||
|
181 PUTFIELD 473
|
||||||
|
182 INVOKEVIRTUAL 1609
|
||||||
|
183 INVOKESPECIAL 630
|
||||||
|
184 INVOKESTATIC 149
|
||||||
|
185 INVOKEINTERFACE 0
|
||||||
|
186 INVOKEDYNAMIC 0
|
||||||
|
187 NEW 225
|
||||||
|
188 NEWARRAY 46
|
||||||
|
189 ANEWARRAY 30
|
||||||
|
190 ARRAYLENGTH 111
|
||||||
|
191 ATHROW 68
|
||||||
|
192 CHECKCAST 55
|
||||||
|
193 INSTANCEOF 37
|
||||||
|
194 MONITORENTER 0
|
||||||
|
195 MONITOREXIT 0
|
||||||
|
196 WIDE 0
|
||||||
|
197 MULTIANEWARRAY 0
|
||||||
|
198 IFNULL 243
|
||||||
|
199 IFNONNULL 57
|
||||||
|
200 0
|
||||||
|
201 0
|
||||||
|
202 0
|
||||||
|
203 0
|
||||||
|
204 0
|
||||||
|
205 0
|
||||||
|
206 0
|
||||||
|
207 0
|
||||||
|
208 0
|
||||||
|
209 0
|
||||||
|
210 0
|
||||||
|
211 0
|
||||||
|
212 0
|
||||||
|
213 0
|
||||||
|
214 0
|
||||||
|
215 0
|
||||||
|
216 0
|
||||||
|
217 0
|
||||||
|
218 0
|
||||||
|
219 0
|
||||||
|
220 0
|
||||||
|
221 0
|
||||||
|
222 0
|
||||||
|
223 0
|
||||||
|
224 0
|
||||||
|
225 0
|
||||||
|
226 0
|
||||||
|
227 0
|
||||||
|
228 0
|
||||||
|
229 0
|
||||||
|
230 0
|
||||||
|
231 0
|
||||||
|
232 0
|
||||||
|
233 0
|
||||||
|
234 0
|
||||||
|
235 0
|
||||||
|
236 0
|
||||||
|
237 0
|
||||||
|
238 0
|
||||||
|
239 0
|
||||||
|
240 0
|
||||||
|
241 0
|
||||||
|
242 0
|
||||||
|
243 0
|
||||||
|
244 0
|
||||||
|
245 0
|
||||||
|
246 0
|
||||||
|
247 0
|
||||||
|
248 0
|
||||||
|
249 0
|
||||||
|
250 0
|
||||||
|
251 0
|
||||||
|
252 0
|
||||||
|
253 0
|
||||||
|
254 0
|
||||||
|
255 0
|
Reference in a new issue