/** * Remove an exception handler for the top try block. * * @param exceptionType one of the integer constants representing an * exception type * @param endLabel a label representing the end of the last bytecode * that should be handled by the exception * @returns the label of the exception handler associated with the * exception type */ int removeHandler(int exceptionType, int endLabel) { ExceptionInfo top = getTop(); if (top.handlerLabels[exceptionType] != 0) { int handlerLabel = top.handlerLabels[exceptionType]; endCatch(top, exceptionType, endLabel); top.handlerLabels[exceptionType] = 0; return handlerLabel; } return 0; }
/** * Remove an exception handler for the top try block. * * @param exceptionType one of the integer constants representing an * exception type * @param endLabel a label representing the end of the last bytecode * that should be handled by the exception * @returns the label of the exception handler associated with the * exception type */ int removeHandler(int exceptionType, int endLabel) { ExceptionInfo top = getTop(); if (top.handlerLabels[exceptionType] != 0) { int handlerLabel = top.handlerLabels[exceptionType]; endCatch(top, exceptionType, endLabel); top.handlerLabels[exceptionType] = 0; return handlerLabel; } return 0; }
/** * Remove an exception handler for the top try block. * * @param exceptionType one of the integer constants representing an * exception type * @param endLabel a label representing the end of the last bytecode * that should be handled by the exception * @returns the label of the exception handler associated with the * exception type */ int removeHandler(int exceptionType, int endLabel) { ExceptionInfo top = getTop(); if (top.handlerLabels[exceptionType] != 0) { int handlerLabel = top.handlerLabels[exceptionType]; endCatch(top, exceptionType, endLabel); top.handlerLabels[exceptionType] = 0; return handlerLabel; } return 0; }
/** * Remove an exception handler for the top try block. * * @param exceptionType one of the integer constants representing an * exception type * @param endLabel a label representing the end of the last bytecode * that should be handled by the exception * @returns the label of the exception handler associated with the * exception type */ int removeHandler(int exceptionType, int endLabel) { ExceptionInfo top = getTop(); if (top.handlerLabels[exceptionType] != 0) { int handlerLabel = top.handlerLabels[exceptionType]; endCatch(top, exceptionType, endLabel); top.handlerLabels[exceptionType] = 0; return handlerLabel; } return 0; }
/** * Register multiple exception handlers for the top try block. If the * exception type maps to a zero label, then it is ignored. * * @param handlerLabels a map from integer constants representing an * exception type to the label of the exception * handler * @param startLabel the label where all of the exception handling * begins */ void setHandlers(int[] handlerLabels, int startLabel) { ExceptionInfo top = getTop(); for (int i = 0; i < handlerLabels.length; i++) { if (handlerLabels[i] != 0) { addHandler(i, handlerLabels[i], startLabel); } } }
/** * Register multiple exception handlers for the top try block. If the * exception type maps to a zero label, then it is ignored. * * @param handlerLabels a map from integer constants representing an * exception type to the label of the exception * handler * @param startLabel the label where all of the exception handling * begins */ void setHandlers(int[] handlerLabels, int startLabel) { ExceptionInfo top = getTop(); for (int i = 0; i < handlerLabels.length; i++) { if (handlerLabels[i] != 0) { addHandler(i, handlerLabels[i], startLabel); } } }
/** * Register multiple exception handlers for the top try block. If the * exception type maps to a zero label, then it is ignored. * * @param handlerLabels a map from integer constants representing an * exception type to the label of the exception * handler * @param startLabel the label where all of the exception handling * begins */ void setHandlers(int[] handlerLabels, int startLabel) { ExceptionInfo top = getTop(); for (int i = 0; i < handlerLabels.length; i++) { if (handlerLabels[i] != 0) { addHandler(i, handlerLabels[i], startLabel); } } }
/** * Register multiple exception handlers for the top try block. If the * exception type maps to a zero label, then it is ignored. * * @param handlerLabels a map from integer constants representing an * exception type to the label of the exception * handler * @param startLabel the label where all of the exception handling * begins */ void setHandlers(int[] handlerLabels, int startLabel) { ExceptionInfo top = getTop(); for (int i = 0; i < handlerLabels.length; i++) { if (handlerLabels[i] != 0) { addHandler(i, handlerLabels[i], startLabel); } } }
/** * Register an exception handler for the try block at the top of the * exception information stack. * * @param exceptionType one of the integer constants representing an * exception type * @param handlerLabel the label of the exception handler * @param startLabel the label where the exception handling begins */ void addHandler(int exceptionType, int handlerLabel, int startLabel) { ExceptionInfo top = getTop(); top.handlerLabels[exceptionType] = handlerLabel; top.exceptionStarts[exceptionType] = startLabel; }
/** * Register an exception handler for the try block at the top of the * exception information stack. * * @param exceptionType one of the integer constants representing an * exception type * @param handlerLabel the label of the exception handler * @param startLabel the label where the exception handling begins */ void addHandler(int exceptionType, int handlerLabel, int startLabel) { ExceptionInfo top = getTop(); top.handlerLabels[exceptionType] = handlerLabel; top.exceptionStarts[exceptionType] = startLabel; }
/** * Register an exception handler for the try block at the top of the * exception information stack. * * @param exceptionType one of the integer constants representing an * exception type * @param handlerLabel the label of the exception handler * @param startLabel the label where the exception handling begins */ void addHandler(int exceptionType, int handlerLabel, int startLabel) { ExceptionInfo top = getTop(); top.handlerLabels[exceptionType] = handlerLabel; top.exceptionStarts[exceptionType] = startLabel; }
/** * Register an exception handler for the try block at the top of the * exception information stack. * * @param exceptionType one of the integer constants representing an * exception type * @param handlerLabel the label of the exception handler * @param startLabel the label where the exception handling begins */ void addHandler(int exceptionType, int handlerLabel, int startLabel) { ExceptionInfo top = getTop(); top.handlerLabels[exceptionType] = handlerLabel; top.exceptionStarts[exceptionType] = startLabel; }