| 1 32 package net.sf.retrotranslator.transformer; 33 34 37 class SunJITRetrotranslator { 38 39 private static class ClassFileTransformerImpl extends ClassFileTransformer { 40 41 private final ClassTransformer transformer; 42 43 public ClassFileTransformerImpl(ClassTransformer transformer) { 44 this.transformer = transformer; 45 } 46 47 public byte[] transform(byte[] bytes, int offset, int length) { 48 return transformer.transform(bytes, offset, length); 49 } 50 } 51 52 public static void install(ClassTransformer classTransformer) { 53 try { 54 for (Object transformer : ClassFileTransformer.getTransformers()) { 55 if (transformer instanceof ClassFileTransformerImpl) return; 56 } 57 ClassFileTransformer.add(new ClassFileTransformerImpl(classTransformer)); 58 } catch (Throwable e) { 59 } 61 } 62 } 63 64 | Popular Tags |