001 package railo.transformer.bytecode.util; 002 003 import org.objectweb.asm.Type; 004 import org.objectweb.asm.commons.Method; 005 006 public final class Methods_Operator { 007 008 public static final Method OPERATOR_EQV_BV_BV=new Method( 009 "eqv", 010 Types.BOOLEAN_VALUE, 011 new Type[]{Types.BOOLEAN_VALUE,Types.BOOLEAN_VALUE} 012 ); 013 014 public static final Method OPERATOR_IMP_BV_BV=new Method( 015 "imp", 016 Types.BOOLEAN_VALUE, 017 new Type[]{Types.BOOLEAN_VALUE,Types.BOOLEAN_VALUE} 018 ); 019 020 public static final Method OPERATOR_CT=new Method( 021 "ct", 022 Types.BOOLEAN_VALUE, 023 new Type[]{Types.OBJECT,Types.OBJECT} 024 ); 025 public static final Method OPERATOR_EEQ=new Method( 026 "eeq", 027 Types.BOOLEAN_VALUE, 028 new Type[]{Types.OBJECT,Types.OBJECT} 029 ); 030 public static final Method OPERATOR_NEEQ=new Method( 031 "neeq", 032 Types.BOOLEAN_VALUE, 033 new Type[]{Types.OBJECT,Types.OBJECT} 034 ); 035 036 public static final Method OPERATOR_NCT=new Method( 037 "nct", 038 Types.BOOLEAN_VALUE, 039 new Type[]{Types.OBJECT,Types.OBJECT} 040 ); 041 042 // double exponent(double left, double right) 043 044 045 public static final Method[][] OPERATORS=new Method[][]{ 046 // Object 047 new Method[] { 048 new Method("compare",Types.INT_VALUE,new Type[]{Types.OBJECT,Types.OBJECT}), 049 new Method("compare",Types.INT_VALUE,new Type[]{Types.OBJECT,Types.BOOLEAN_VALUE}), 050 new Method("compare",Types.INT_VALUE,new Type[]{Types.OBJECT,Types.DOUBLE_VALUE}), 051 new Method("compare",Types.INT_VALUE,new Type[]{Types.OBJECT,Types.STRING}) 052 }, 053 // boolean 054 new Method[] { 055 new Method("compare",Types.INT_VALUE,new Type[]{Types.BOOLEAN_VALUE,Types.OBJECT}), 056 new Method("compare",Types.INT_VALUE,new Type[]{Types.BOOLEAN_VALUE,Types.BOOLEAN_VALUE}), 057 new Method("compare",Types.INT_VALUE,new Type[]{Types.BOOLEAN_VALUE,Types.DOUBLE_VALUE}), 058 new Method("compare",Types.INT_VALUE,new Type[]{Types.BOOLEAN_VALUE,Types.STRING}) 059 }, 060 // double 061 new Method[] { 062 new Method("compare",Types.INT_VALUE,new Type[]{Types.DOUBLE_VALUE,Types.OBJECT}), 063 new Method("compare",Types.INT_VALUE,new Type[]{Types.DOUBLE_VALUE,Types.BOOLEAN_VALUE}), 064 new Method("compare",Types.INT_VALUE,new Type[]{Types.DOUBLE_VALUE,Types.DOUBLE_VALUE}), 065 new Method("compare",Types.INT_VALUE,new Type[]{Types.DOUBLE_VALUE,Types.STRING}) 066 }, 067 // String 068 new Method[] { 069 new Method("compare",Types.INT_VALUE,new Type[]{Types.STRING,Types.OBJECT}), 070 new Method("compare",Types.INT_VALUE,new Type[]{Types.STRING,Types.BOOLEAN_VALUE}), 071 new Method("compare",Types.INT_VALUE,new Type[]{Types.STRING,Types.DOUBLE_VALUE}), 072 new Method("compare",Types.INT_VALUE,new Type[]{Types.STRING,Types.STRING}) 073 } 074 }; 075 }