001 package org.shiftone.jrat.inject.bytecode.asm;
002
003
004 import org.objectweb.asm.Type;
005 import org.objectweb.asm.commons.Method;
006 import org.shiftone.jrat.inject.bytecode.InjectorStrategy;
007
008
009 /**
010 * @author jeff@shiftone.org (Jeff Drost)
011 */
012 public interface Constants {
013
014 public static String initializeName = "$clinit" + InjectorStrategy.METHOD_POSTFIX;
015 public static Method initialize = Method.getMethod("void " + initializeName + "()");
016 public static String classInitName = "<clinit>";
017 public static String classInitDesc = "()V";
018 public static Method classInit = Method.getMethod("void " + classInitName + "()");
019
020 public interface Throwable {
021 public static Class CLASS = java.lang.Throwable.class;
022 public static Type TYPE = Type.getType(CLASS);
023 }
024
025 public interface Clock {
026
027 public static Class CLASS = org.shiftone.jrat.util.time.Clock.class;
028 public static Type TYPE = Type.getType(CLASS);
029 public static Method currentTimeNanos = Method.getMethod("long currentTimeMillis()");
030 }
031
032 // public interface System {
033 //
034 // public static Class CLASS = java.lang.System.class;
035 // public static Type TYPE = Type.getType(CLASS);
036 // public static Method currentTimeMillis = Method.getMethod("long currentTimeMillis()");
037 // }
038
039 public interface HandlerFactory {
040
041 public static Class CLASS = org.shiftone.jrat.core.HandlerFactory.class;
042 public static Type TYPE = Type.getType(CLASS);
043 public static Method getMethodHandler =
044 Method.getMethod(org.shiftone.jrat.core.spi.MethodHandler.class.getName()
045 + " getMethodHandler(String, String, String)");
046 }
047
048 public interface MethodHandler {
049
050 public static Class CLASS = org.shiftone.jrat.core.spi.MethodHandler.class;
051 public static Type TYPE = Type.getType(CLASS);
052 public static Method onMethodStart = Method.getMethod("void onMethodStart(Object)");
053 public static Method onMethodFinish = Method.getMethod("void onMethodFinish(Object, long, Throwable)");
054 }
055 }