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        
065        // double toDouble Value(Object)
066        final public static Method METHOD_TO_DOUBLE_VALUE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.OBJECT});
067        final public static Method METHOD_TO_FLOAT_VALUE = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.OBJECT});
068        
069    
070        final public static Method METHOD_TO_INTEGER_FROM_INT = new Method("toInteger",Types.INTEGER,new Type[]{Types.INT_VALUE});
071        final public static Method METHOD_TO_LONG_FROM_LONG_VALUE = new Method("toLong",Types.LONG,new Type[]{Types.LONG_VALUE});
072        
073        // Double toDouble (double)
074        final public static Method METHOD_TO_DOUBLE_FROM_DOUBLE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.DOUBLE_VALUE});
075        final public static Method METHOD_TO_DOUBLE_FROM_FLOAT_VALUE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.FLOAT_VALUE});
076        final public static Method METHOD_TO_FLOAT_FROM_DOUBLE = new Method("toFloat",Types.FLOAT,new Type[]{Types.DOUBLE_VALUE});
077        
078        final public static Method METHOD_TO_FLOAT_FROM_FLOAT = new Method("toFloat",Types.FLOAT,new Type[]{Types.FLOAT_VALUE});
079        // double toDoubleValue (double)
080        //final public static Method METHOD_TO_DOUBLE_VALUE_FROM_DOUBLE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.DOUBLE_VALUE});
081        final public static Method METHOD_TO_FLOAT_VALUE_FROM_DOUBLE = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.DOUBLE_VALUE});
082        
083        // Double toDouble (boolean)
084        final public static Method METHOD_TO_DOUBLE_FROM_BOOLEAN = new Method("toDouble",Types.DOUBLE,new Type[]{Types.BOOLEAN_VALUE});
085        final public static Method METHOD_TO_FLOAT_FROM_BOOLEAN = new Method("toFloat",Types.FLOAT,new Type[]{Types.BOOLEAN_VALUE});
086        
087        // double toDoubleValue (boolean)
088        final public static Method METHOD_TO_DOUBLE_VALUE_FROM_BOOLEAN = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.BOOLEAN_VALUE});
089        final public static Method METHOD_TO_FLOAT_VALUE_FROM_BOOLEAN = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.BOOLEAN_VALUE});
090        
091    
092        final public static Method METHOD_TO_DOUBLE_VALUE_FROM_DOUBLE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.DOUBLE});
093        
094        // Double toDouble (String)
095        final public static Method METHOD_TO_DOUBLE_FROM_STRING = new Method("toDouble",Types.DOUBLE,new Type[]{Types.STRING});
096        final public static Method METHOD_TO_FLOAT_FROM_STRING = new Method("toFloat",Types.FLOAT,new Type[]{Types.STRING});
097        
098        // double toDoubleValue (String)
099        final public static Method METHOD_TO_DOUBLE_VALUE_FROM_STRING = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.STRING});
100        final public static Method METHOD_TO_FLOAT_VALUE_FROM_STRING = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.STRING});
101    }