blob: 0f975dfdee72796ee949c1c93a96299c55c05f9d [file] [log] [blame]
/*
* Copyright 2006 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.dev.util;
/**
* Java type helpers used.
*/
public class TypeInfo {
public static final int NOT_FOUND = 0; // used with all of the enumerated
public static final int TYPE_ARRAY = 0x200000;
public static final int TYPE_COLLECTION = 0x180000;
public static final int TYPE_COLLECTION_LIST = 0x100000;
public static final int TYPE_COLLECTION_SET = 0x080000;
public static final int TYPE_PRIM = 0x07fc00;
public static final int TYPE_PRIM_BOOLEAN = 0x008000;
public static final int TYPE_PRIM_BYTE = 0x000800;
public static final int TYPE_PRIM_CHAR = 0x000400;
public static final int TYPE_PRIM_DOUBLE = 0x020000;
public static final int TYPE_PRIM_FLOAT = 0x010000;
public static final int TYPE_PRIM_INT = 0x002000;
public static final int TYPE_PRIM_LONG = 0x004000;
public static final int TYPE_PRIM_SHORT = 0x001000;
public static final int TYPE_PRIM_VOID = 0x040000;
public static final int TYPE_USER = 0x400000;
public static final int TYPE_WRAP = 0x0003ff;
public static final int TYPE_WRAP_BOOLEAN = 0x000040;
public static final int TYPE_WRAP_BYTE = 0x000004;
public static final int TYPE_WRAP_CHAR = 0x000002;
public static final int TYPE_WRAP_DATE = 0x000200;
public static final int TYPE_WRAP_DOUBLE = 0x000100;
public static final int TYPE_WRAP_FLOAT = 0x000080;
public static final int TYPE_WRAP_INT = 0x000010;
public static final int TYPE_WRAP_LONG = 0x000020;
public static final int TYPE_WRAP_SHORT = 0x000008;
// types below
public static final int TYPE_WRAP_STRING = 0x000001;
public static String getSourceRepresentation(Class<?> type) {
// Primitives
//
if (type.equals(Integer.TYPE)) {
return "int";
} else if (type.equals(Long.TYPE)) {
return "long";
} else if (type.equals(Short.TYPE)) {
return "short";
} else if (type.equals(Byte.TYPE)) {
return "byte";
} else if (type.equals(Character.TYPE)) {
return "char";
} else if (type.equals(Boolean.TYPE)) {
return "boolean";
} else if (type.equals(Float.TYPE)) {
return "float";
} else if (type.equals(Double.TYPE)) {
return "double";
}
// Arrays
//
if (type.isArray()) {
Class<?> componentType = type.getComponentType();
return getSourceRepresentation(componentType) + "[]";
}
// Everything else
//
return type.getName().replace('$', '.');
}
}