1/* 2 * Copyright (C) 2007 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.dexgen.rop.code; 18 19import com.android.dexgen.rop.type.StdTypeList; 20import com.android.dexgen.rop.type.Type; 21 22/** 23 * Common exception types. 24 */ 25public final class Exceptions { 26 /** {@code non-null;} the type {@code java.lang.ArithmeticException} */ 27 public static final Type TYPE_ArithmeticException = 28 Type.intern("Ljava/lang/ArithmeticException;"); 29 30 /** 31 * {@code non-null;} the type 32 * {@code java.lang.ArrayIndexOutOfBoundsException} 33 */ 34 public static final Type TYPE_ArrayIndexOutOfBoundsException = 35 Type.intern("Ljava/lang/ArrayIndexOutOfBoundsException;"); 36 37 /** {@code non-null;} the type {@code java.lang.ArrayStoreException} */ 38 public static final Type TYPE_ArrayStoreException = 39 Type.intern("Ljava/lang/ArrayStoreException;"); 40 41 /** {@code non-null;} the type {@code java.lang.ClassCastException} */ 42 public static final Type TYPE_ClassCastException = 43 Type.intern("Ljava/lang/ClassCastException;"); 44 45 /** {@code non-null;} the type {@code java.lang.Error} */ 46 public static final Type TYPE_Error = Type.intern("Ljava/lang/Error;"); 47 48 /** 49 * {@code non-null;} the type 50 * {@code java.lang.IllegalMonitorStateException} 51 */ 52 public static final Type TYPE_IllegalMonitorStateException = 53 Type.intern("Ljava/lang/IllegalMonitorStateException;"); 54 55 /** {@code non-null;} the type {@code java.lang.NegativeArraySizeException} */ 56 public static final Type TYPE_NegativeArraySizeException = 57 Type.intern("Ljava/lang/NegativeArraySizeException;"); 58 59 /** {@code non-null;} the type {@code java.lang.NullPointerException} */ 60 public static final Type TYPE_NullPointerException = 61 Type.intern("Ljava/lang/NullPointerException;"); 62 63 /** {@code non-null;} the list {@code [java.lang.Error]} */ 64 public static final StdTypeList LIST_Error = StdTypeList.make(TYPE_Error); 65 66 /** 67 * {@code non-null;} the list {@code[java.lang.Error, 68 * java.lang.ArithmeticException]} 69 */ 70 public static final StdTypeList LIST_Error_ArithmeticException = 71 StdTypeList.make(TYPE_Error, TYPE_ArithmeticException); 72 73 /** 74 * {@code non-null;} the list {@code[java.lang.Error, 75 * java.lang.ClassCastException]} 76 */ 77 public static final StdTypeList LIST_Error_ClassCastException = 78 StdTypeList.make(TYPE_Error, TYPE_ClassCastException); 79 80 /** 81 * {@code non-null;} the list {@code [java.lang.Error, 82 * java.lang.NegativeArraySizeException]} 83 */ 84 public static final StdTypeList LIST_Error_NegativeArraySizeException = 85 StdTypeList.make(TYPE_Error, TYPE_NegativeArraySizeException); 86 87 /** 88 * {@code non-null;} the list {@code [java.lang.Error, 89 * java.lang.NullPointerException]} 90 */ 91 public static final StdTypeList LIST_Error_NullPointerException = 92 StdTypeList.make(TYPE_Error, TYPE_NullPointerException); 93 94 /** 95 * {@code non-null;} the list {@code [java.lang.Error, 96 * java.lang.NullPointerException, 97 * java.lang.ArrayIndexOutOfBoundsException]} 98 */ 99 public static final StdTypeList LIST_Error_Null_ArrayIndexOutOfBounds = 100 StdTypeList.make(TYPE_Error, 101 TYPE_NullPointerException, 102 TYPE_ArrayIndexOutOfBoundsException); 103 104 /** 105 * {@code non-null;} the list {@code [java.lang.Error, 106 * java.lang.NullPointerException, 107 * java.lang.ArrayIndexOutOfBoundsException, 108 * java.lang.ArrayStoreException]} 109 */ 110 public static final StdTypeList LIST_Error_Null_ArrayIndex_ArrayStore = 111 StdTypeList.make(TYPE_Error, 112 TYPE_NullPointerException, 113 TYPE_ArrayIndexOutOfBoundsException, 114 TYPE_ArrayStoreException); 115 116 /** 117 * {@code non-null;} the list {@code [java.lang.Error, 118 * java.lang.NullPointerException, 119 * java.lang.IllegalMonitorStateException]} 120 */ 121 public static final StdTypeList 122 LIST_Error_Null_IllegalMonitorStateException = 123 StdTypeList.make(TYPE_Error, 124 TYPE_NullPointerException, 125 TYPE_IllegalMonitorStateException); 126 127 /** 128 * This class is uninstantiable. 129 */ 130 private Exceptions() { 131 // This space intentionally left blank. 132 } 133} 134