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}