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 {
007    
008    // Caster String
009            // String toString (Object)
010        final public static Method METHOD_TO_STRING = new Method("toString",
011                            Types.STRING,
012                            new Type[]{Types.OBJECT});
013        // String toString (String)
014        //final public static Method METHOD_TO_STRING_FROM_STRING = new Method("toString",Types.STRING,new Type[]{Types.STRING});
015        
016        
017        // String toString (double)
018        final public static Method METHOD_TO_STRING_FROM_DOUBLE = new Method("toString",Types.STRING,new Type[]{Types.DOUBLE_VALUE});
019        // String toString (boolean)
020        final public static Method METHOD_TO_STRING_FROM_BOOLEAN = new Method("toString",
021                            Types.STRING,
022                            new Type[]{Types.BOOLEAN_VALUE}); 
023    
024    //  Caster Boolean
025        // Boolean toBoolean (Object)
026        final public static Method METHOD_TO_BOOLEAN = new Method("toBoolean",
027                            Types.BOOLEAN,
028                            new Type[]{Types.OBJECT});
029        // boolean toBooleanValue (Object)
030        final public static Method METHOD_TO_BOOLEAN_VALUE = new Method("toBooleanValue",
031                            Types.BOOLEAN_VALUE,
032                            new Type[]{Types.OBJECT});
033        
034        // Boolean toBoolean (double)
035        final public static Method METHOD_TO_BOOLEAN_FROM_DOUBLE = new Method("toBoolean",
036                            Types.BOOLEAN,
037                            new Type[]{Types.DOUBLE_VALUE});
038        
039        // boolean toBooleanValue (double)
040        final public static Method METHOD_TO_BOOLEAN_VALUE_FROM_DOUBLE = new Method("toBooleanValue",
041                            Types.BOOLEAN_VALUE,
042                            new Type[]{Types.DOUBLE_VALUE});
043        
044        // Boolean toBoolean (boolean)
045        final public static Method METHOD_TO_BOOLEAN_FROM_BOOLEAN = new Method("toBoolean",
046                            Types.BOOLEAN,
047                            new Type[]{Types.BOOLEAN_VALUE});
048        // boolean toBooleanValue (boolean)
049        //final public static Method METHOD_TO_BOOLEAN_VALUE_FROM_BOOLEAN = new Method("toBooleanValue",Types.BOOLEAN_VALUE,new Type[]{Types.BOOLEAN_VALUE});
050        
051        // Boolean toBoolean (String)
052        final public static Method METHOD_TO_BOOLEAN_FROM_STRING = new Method("toBoolean",
053                            Types.BOOLEAN,
054                            new Type[]{Types.STRING});
055        // boolean toBooleanValue (String)
056        final public static Method METHOD_TO_BOOLEAN_VALUE_FROM_STRING = new Method("toBooleanValue",
057                            Types.BOOLEAN_VALUE,
058                            new Type[]{Types.STRING});
059        
060    // Caster Double
061        // Double toDouble (Object)
062        final public static Method METHOD_TO_DOUBLE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.OBJECT});
063        final public static Method METHOD_TO_FLOAT = new Method("toFloat",Types.FLOAT,new Type[]{Types.OBJECT});
064        final public static Method METHOD_TO_INTEGER = new Method("toInteger",Types.INTEGER,new Type[]{Types.OBJECT});
065        
066        // double toDouble Value(Object)
067        final public static Method METHOD_TO_DOUBLE_VALUE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.OBJECT});
068        final public static Method METHOD_TO_FLOAT_VALUE = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.OBJECT});
069        final public static Method METHOD_TO_INT_VALUE = new Method("toIntValue",Types.FLOAT_VALUE,new Type[]{Types.OBJECT});
070        
071    
072        final public static Method METHOD_TO_INTEGER_FROM_INT = new Method("toInteger",Types.INTEGER,new Type[]{Types.INT_VALUE});
073        final public static Method METHOD_TO_LONG_FROM_LONG_VALUE = new Method("toLong",Types.LONG,new Type[]{Types.LONG_VALUE});
074        
075        // Double toDouble (double)
076        final public static Method METHOD_TO_DOUBLE_FROM_DOUBLE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.DOUBLE_VALUE});
077        final public static Method METHOD_TO_DOUBLE_FROM_FLOAT_VALUE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.FLOAT_VALUE});
078        final public static Method METHOD_TO_FLOAT_FROM_DOUBLE = new Method("toFloat",Types.FLOAT,new Type[]{Types.DOUBLE_VALUE});
079        
080        final public static Method METHOD_TO_FLOAT_FROM_FLOAT = new Method("toFloat",Types.FLOAT,new Type[]{Types.FLOAT_VALUE});
081        // double toDoubleValue (double)
082        //final public static Method METHOD_TO_DOUBLE_VALUE_FROM_DOUBLE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.DOUBLE_VALUE});
083        final public static Method METHOD_TO_FLOAT_VALUE_FROM_DOUBLE = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.DOUBLE_VALUE});
084    
085        final public static Method METHOD_TO_INT_VALUE_FROM_DOUBLE = new Method("toIntValue",Types.INT_VALUE,new Type[]{Types.DOUBLE_VALUE});
086        final public static Method METHOD_TO_INTEGER_FROM_DOUBLE = new Method("toInteger",Types.INTEGER,new Type[]{Types.DOUBLE_VALUE});
087        
088        
089        
090        // Double toDouble (boolean)
091        final public static Method METHOD_TO_DOUBLE_FROM_BOOLEAN = new Method("toDouble",Types.DOUBLE,new Type[]{Types.BOOLEAN_VALUE});
092        final public static Method METHOD_TO_FLOAT_FROM_BOOLEAN = new Method("toFloat",Types.FLOAT,new Type[]{Types.BOOLEAN_VALUE});
093        
094        // double toDoubleValue (boolean)
095        final public static Method METHOD_TO_DOUBLE_VALUE_FROM_BOOLEAN = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.BOOLEAN_VALUE});
096        final public static Method METHOD_TO_FLOAT_VALUE_FROM_BOOLEAN = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.BOOLEAN_VALUE});
097        
098    
099        final public static Method METHOD_TO_INT_VALUE_FROM_BOOLEAN = new Method("toIntValue",Types.INT_VALUE,new Type[]{Types.BOOLEAN_VALUE});
100        final public static Method METHOD_TO_INTEGER_FROM_BOOLEAN = new Method("toInteger",Types.INTEGER,new Type[]{Types.BOOLEAN_VALUE});
101        
102    
103        final public static Method METHOD_TO_DOUBLE_VALUE_FROM_DOUBLE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.DOUBLE});
104        
105        // Double toDouble (String)
106        final public static Method METHOD_TO_DOUBLE_FROM_STRING = new Method("toDouble",Types.DOUBLE,new Type[]{Types.STRING});
107        final public static Method METHOD_TO_FLOAT_FROM_STRING = new Method("toFloat",Types.FLOAT,new Type[]{Types.STRING});
108        final public static Method METHOD_TO_INTEGER_FROM_STRING = new Method("toInteger",Types.INTEGER,new Type[]{Types.STRING});
109        
110        // double toDoubleValue (String)
111        final public static Method METHOD_TO_DOUBLE_VALUE_FROM_STRING = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.STRING});
112        final public static Method METHOD_TO_FLOAT_VALUE_FROM_STRING = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.STRING});
113        final public static Method METHOD_TO_INT_VALUE_FROM_STRING = new Method("toIntValue",Types.INT_VALUE,new Type[]{Types.STRING});
114    }