001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.transformer.bytecode.util;
020
021import org.objectweb.asm.Type;
022import org.objectweb.asm.commons.Method;
023
024public final class Methods {
025
026// Caster String
027        // String toString (Object)
028    final public static Method METHOD_TO_STRING = new Method("toString",
029                        Types.STRING,
030                        new Type[]{Types.OBJECT});
031    // String toString (String)
032    //final public static Method METHOD_TO_STRING_FROM_STRING = new Method("toString",Types.STRING,new Type[]{Types.STRING});
033    
034    
035    // String toString (double)
036    final public static Method METHOD_TO_STRING_FROM_DOUBLE = new Method("toString",Types.STRING,new Type[]{Types.DOUBLE_VALUE});
037    // String toString (boolean)
038    final public static Method METHOD_TO_STRING_FROM_BOOLEAN = new Method("toString",
039                        Types.STRING,
040                        new Type[]{Types.BOOLEAN_VALUE}); 
041
042//  Caster Boolean
043    // Boolean toBoolean (Object)
044    final public static Method METHOD_TO_BOOLEAN = new Method("toBoolean",
045                        Types.BOOLEAN,
046                        new Type[]{Types.OBJECT});
047    // boolean toBooleanValue (Object)
048    final public static Method METHOD_TO_BOOLEAN_VALUE = new Method("toBooleanValue",
049                        Types.BOOLEAN_VALUE,
050                        new Type[]{Types.OBJECT});
051    
052    // Boolean toBoolean (double)
053    final public static Method METHOD_TO_BOOLEAN_FROM_DOUBLE = new Method("toBoolean",
054                        Types.BOOLEAN,
055                        new Type[]{Types.DOUBLE_VALUE});
056    
057    // boolean toBooleanValue (double)
058    final public static Method METHOD_TO_BOOLEAN_VALUE_FROM_DOUBLE = new Method("toBooleanValue",
059                        Types.BOOLEAN_VALUE,
060                        new Type[]{Types.DOUBLE_VALUE});
061    
062    // Boolean toBoolean (boolean)
063    final public static Method METHOD_TO_BOOLEAN_FROM_BOOLEAN = new Method("toBoolean",
064                        Types.BOOLEAN,
065                        new Type[]{Types.BOOLEAN_VALUE});
066    // boolean toBooleanValue (boolean)
067    //final public static Method METHOD_TO_BOOLEAN_VALUE_FROM_BOOLEAN = new Method("toBooleanValue",Types.BOOLEAN_VALUE,new Type[]{Types.BOOLEAN_VALUE});
068    
069    // Boolean toBoolean (String)
070    final public static Method METHOD_TO_BOOLEAN_FROM_STRING = new Method("toBoolean",
071                        Types.BOOLEAN,
072                        new Type[]{Types.STRING});
073    // boolean toBooleanValue (String)
074    final public static Method METHOD_TO_BOOLEAN_VALUE_FROM_STRING = new Method("toBooleanValue",
075                        Types.BOOLEAN_VALUE,
076                        new Type[]{Types.STRING});
077    
078// Caster Double
079    // Double toDouble (Object)
080    final public static Method METHOD_TO_DOUBLE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.OBJECT});
081    final public static Method METHOD_TO_FLOAT = new Method("toFloat",Types.FLOAT,new Type[]{Types.OBJECT});
082    final public static Method METHOD_TO_INTEGER = new Method("toInteger",Types.INTEGER,new Type[]{Types.OBJECT});
083    
084    // double toDouble Value(Object)
085    final public static Method METHOD_TO_DOUBLE_VALUE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.OBJECT});
086    final public static Method METHOD_TO_FLOAT_VALUE = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.OBJECT});
087    final public static Method METHOD_TO_INT_VALUE = new Method("toIntValue",Types.FLOAT_VALUE,new Type[]{Types.OBJECT});
088    
089
090    final public static Method METHOD_TO_INTEGER_FROM_INT = new Method("toInteger",Types.INTEGER,new Type[]{Types.INT_VALUE});
091    final public static Method METHOD_TO_LONG_FROM_LONG_VALUE = new Method("toLong",Types.LONG,new Type[]{Types.LONG_VALUE});
092    
093    // Double toDouble (double)
094    final public static Method METHOD_TO_DOUBLE_FROM_DOUBLE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.DOUBLE_VALUE});
095    final public static Method METHOD_TO_DOUBLE_FROM_FLOAT_VALUE = new Method("toDouble",Types.DOUBLE,new Type[]{Types.FLOAT_VALUE});
096    final public static Method METHOD_TO_FLOAT_FROM_DOUBLE = new Method("toFloat",Types.FLOAT,new Type[]{Types.DOUBLE_VALUE});
097    
098    final public static Method METHOD_TO_FLOAT_FROM_FLOAT = new Method("toFloat",Types.FLOAT,new Type[]{Types.FLOAT_VALUE});
099    // double toDoubleValue (double)
100    //final public static Method METHOD_TO_DOUBLE_VALUE_FROM_DOUBLE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.DOUBLE_VALUE});
101    final public static Method METHOD_TO_FLOAT_VALUE_FROM_DOUBLE = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.DOUBLE_VALUE});
102
103    final public static Method METHOD_TO_INT_VALUE_FROM_DOUBLE = new Method("toIntValue",Types.INT_VALUE,new Type[]{Types.DOUBLE_VALUE});
104    final public static Method METHOD_TO_INTEGER_FROM_DOUBLE = new Method("toInteger",Types.INTEGER,new Type[]{Types.DOUBLE_VALUE});
105    
106    
107    
108    // Double toDouble (boolean)
109    final public static Method METHOD_TO_DOUBLE_FROM_BOOLEAN = new Method("toDouble",Types.DOUBLE,new Type[]{Types.BOOLEAN_VALUE});
110    final public static Method METHOD_TO_FLOAT_FROM_BOOLEAN = new Method("toFloat",Types.FLOAT,new Type[]{Types.BOOLEAN_VALUE});
111    
112    // double toDoubleValue (boolean)
113    final public static Method METHOD_TO_DOUBLE_VALUE_FROM_BOOLEAN = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.BOOLEAN_VALUE});
114    final public static Method METHOD_TO_FLOAT_VALUE_FROM_BOOLEAN = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.BOOLEAN_VALUE});
115    
116
117    final public static Method METHOD_TO_INT_VALUE_FROM_BOOLEAN = new Method("toIntValue",Types.INT_VALUE,new Type[]{Types.BOOLEAN_VALUE});
118    final public static Method METHOD_TO_INTEGER_FROM_BOOLEAN = new Method("toInteger",Types.INTEGER,new Type[]{Types.BOOLEAN_VALUE});
119    
120
121    final public static Method METHOD_TO_DOUBLE_VALUE_FROM_DOUBLE = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.DOUBLE});
122    
123    // Double toDouble (String)
124    final public static Method METHOD_TO_DOUBLE_FROM_STRING = new Method("toDouble",Types.DOUBLE,new Type[]{Types.STRING});
125    final public static Method METHOD_TO_FLOAT_FROM_STRING = new Method("toFloat",Types.FLOAT,new Type[]{Types.STRING});
126    final public static Method METHOD_TO_INTEGER_FROM_STRING = new Method("toInteger",Types.INTEGER,new Type[]{Types.STRING});
127    
128    // double toDoubleValue (String)
129    final public static Method METHOD_TO_DOUBLE_VALUE_FROM_STRING = new Method("toDoubleValue",Types.DOUBLE_VALUE,new Type[]{Types.STRING});
130    final public static Method METHOD_TO_FLOAT_VALUE_FROM_STRING = new Method("toFloatValue",Types.FLOAT_VALUE,new Type[]{Types.STRING});
131    final public static Method METHOD_TO_INT_VALUE_FROM_STRING = new Method("toIntValue",Types.INT_VALUE,new Type[]{Types.STRING});
132}