123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- /* *******************************************************************
- * Copyright (c) 1999-2001 Xerox Corporation,
- * 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved.
- * This program and the accompanying materials are made available
- * under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Xerox/PARC initial implementation
- * ******************************************************************/
-
-
- package org.aspectj.runtime.internal;
-
- public final class Conversions {
- // Can't make instances of me
- private Conversions() {}
-
- // we might want to keep a cache of small integers around
- public static Object intObject(int i) {
- return new Integer(i);
- }
- public static Object shortObject(short i) {
- return new Short(i);
- }
- public static Object byteObject(byte i) {
- return new Byte(i);
- }
- public static Object charObject(char i) {
- return new Character(i);
- }
- public static Object longObject(long i) {
- return new Long(i);
- }
- public static Object floatObject(float i) {
- return new Float(i);
- }
- public static Object doubleObject(double i) {
- return new Double(i);
- }
- public static Object booleanObject(boolean i) {
- return new Boolean(i);
- }
- public static Object voidObject() {
- return null;
- }
-
-
- public static int intValue(Object o) {
- if (o == null) {
- return 0;
- } else if (o instanceof Number) {
- return ((Number)o).intValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to int");
- }
- }
- public static long longValue(Object o) {
- if (o == null) {
- return 0;
- } else if (o instanceof Number) {
- return ((Number)o).longValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to long");
- }
- }
- public static float floatValue(Object o) {
- if (o == null) {
- return 0;
- } else if (o instanceof Number) {
- return ((Number)o).floatValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to float");
- }
- }
- public static double doubleValue(Object o) {
- if (o == null) {
- return 0;
- } else if (o instanceof Number) {
- return ((Number)o).doubleValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to double");
- }
- }
- public static byte byteValue(Object o) {
- if (o == null) {
- return 0;
- } else if (o instanceof Number) {
- return ((Number)o).byteValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to byte");
- }
- }
- public static short shortValue(Object o) {
- if (o == null) {
- return 0;
- } else if (o instanceof Number) {
- return ((Number)o).shortValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to short");
- }
- }
- public static char charValue(Object o) {
- if (o == null) {
- return 0;
- } else if (o instanceof Character) {
- return ((Character)o).charValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to char");
- }
- }
- public static boolean booleanValue(Object o) {
- if (o == null) {
- return false;
- } else if (o instanceof Boolean) {
- return ((Boolean)o).booleanValue();
- } else {
- throw new ClassCastException(o.getClass().getName() +
- " can not be converted to boolean");
- }
- }
-
- /**
- * identity function for now. This is not typed to "void" because we happen
- * to know that in Java, any void context (i.e., {@link ExprStmt})
- * can also handle a return value.
- */
- public static Object voidValue(Object o) {
- if (o == null) {
- return o;
- } else {
- // !!! this may be an error in the future
- return o;
- }
- }
- }
|