corejava第10版
This commit is contained in:
1 parent
2021c3c227
commit
6165543dd3
1088 files changed
+94411
No files matched your search
@@ -0,0 +1,26 @@
|
||||
package bytecodeAnnotations;
|
||||
|
||||
import java.lang.instrument.*;
|
||||
|
||||
import org.objectweb.asm.*;
|
||||
|
||||
/**
|
||||
* @version 1.10 2016-05-10
|
||||
* @author Cay Horstmann
|
||||
*/
|
||||
public class EntryLoggingAgent
|
||||
{
|
||||
public static void premain(final String arg, Instrumentation instr)
|
||||
{
|
||||
instr.addTransformer((loader, className, cl, pd, data) ->
|
||||
{
|
||||
if (!className.replace("/", ".").equals(arg)) return null;
|
||||
ClassReader reader = new ClassReader(data);
|
||||
ClassWriter writer = new ClassWriter(
|
||||
ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES);
|
||||
EntryLogger el = new EntryLogger(writer, className);
|
||||
reader.accept(el, ClassReader.EXPAND_FRAMES);
|
||||
return writer.toByteArray();
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user