| /* ******************************************************************* |
| * Copyright (c) 2006 Contributors |
| * 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: |
| * Andy Clement IBM initial implementation |
| * ******************************************************************/ |
| package org.aspectj.weaver; |
| |
| public abstract class AnnotationValue { |
| |
| protected int valueKind; |
| |
| public static final int STRING = 's'; |
| public static final int ENUM_CONSTANT = 'e'; |
| public static final int CLASS = 'c'; |
| public static final int ANNOTATION = '@'; |
| public static final int ARRAY = '['; |
| |
| public static final int PRIMITIVE_INT = 'I'; |
| public static final int PRIMITIVE_BYTE = 'B'; |
| public static final int PRIMITIVE_CHAR = 'C'; |
| public static final int PRIMITIVE_DOUBLE = 'D'; |
| public static final int PRIMITIVE_FLOAT = 'F'; |
| public static final int PRIMITIVE_LONG = 'J'; |
| public static final int PRIMITIVE_SHORT = 'S'; |
| public static final int PRIMITIVE_BOOLEAN = 'Z'; |
| |
| public abstract String stringify(); |
| |
| public AnnotationValue(int kind) { |
| valueKind = kind; |
| } |
| |
| public static String whatKindIsThis(int kind) { |
| switch (kind) { |
| case PRIMITIVE_BYTE: // byte |
| return "byte"; |
| case PRIMITIVE_CHAR: // char |
| return "char"; |
| case PRIMITIVE_DOUBLE: // double |
| return "double"; |
| case PRIMITIVE_FLOAT: // float |
| return "float"; |
| case PRIMITIVE_INT: // int |
| return "int"; |
| case PRIMITIVE_LONG: // long |
| return "long"; |
| case PRIMITIVE_SHORT: // short |
| return "short"; |
| case PRIMITIVE_BOOLEAN: // boolean |
| return "boolean"; |
| case 's': // String |
| return "string"; |
| case 'e': // Enum constant |
| return "enum"; |
| case 'c': // Class |
| return "class"; |
| case '@': // Annotation |
| return "annotation"; |
| case '[': // Array |
| return "array"; |
| default: |
| throw new RuntimeException("Dont know what this is : " + kind); |
| } |
| } |
| } |