diff options
Diffstat (limited to 'src/org/jetbrains/java/decompiler/code/ExceptionTable.java')
-rw-r--r-- | src/org/jetbrains/java/decompiler/code/ExceptionTable.java | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/src/org/jetbrains/java/decompiler/code/ExceptionTable.java b/src/org/jetbrains/java/decompiler/code/ExceptionTable.java index da8ec22..e828a7f 100644 --- a/src/org/jetbrains/java/decompiler/code/ExceptionTable.java +++ b/src/org/jetbrains/java/decompiler/code/ExceptionTable.java @@ -1,57 +1,58 @@ /* - * Fernflower - The Analytical Java Decompiler - * http://www.reversed-java.com + * Copyright 2000-2014 JetBrains s.r.o. * - * (C) 2008 - 2010, Stiver + * 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 * - * This software is NEITHER public domain NOR free software - * as per GNU License. See license.txt for more details. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This software is distributed WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. + * 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 org.jetbrains.java.decompiler.code; -import java.util.ArrayList; -import java.util.List; - import org.jetbrains.java.decompiler.code.interpreter.Util; import org.jetbrains.java.decompiler.struct.StructContext; +import java.util.ArrayList; +import java.util.List; + public class ExceptionTable { - private List<ExceptionHandler> handlers = new ArrayList<ExceptionHandler>(); - - public ExceptionTable() {} - - public ExceptionTable(List<ExceptionHandler> handlers) { - this.handlers = handlers; - } - - - public ExceptionHandler getHandlerByClass(StructContext context, int line, String valclass, boolean withany) { - - ExceptionHandler res = null; // no handler found - - for(ExceptionHandler handler : handlers) { - if(handler.from<=line && handler.to>line) { - String name = handler.exceptionClass; - - if((withany && name==null) || // any -> finally or synchronized handler - (name!=null && Util.instanceOf(context, valclass, name))) { - res = handler; - break; - } - } - } - - return res; - } - - public List<ExceptionHandler> getHandlers() { - return handlers; - } - + private List<ExceptionHandler> handlers = new ArrayList<ExceptionHandler>(); + + public ExceptionTable() { + } + + public ExceptionTable(List<ExceptionHandler> handlers) { + this.handlers = handlers; + } + + + public ExceptionHandler getHandlerByClass(StructContext context, int line, String valclass, boolean withany) { + + ExceptionHandler res = null; // no handler found + + for (ExceptionHandler handler : handlers) { + if (handler.from <= line && handler.to > line) { + String name = handler.exceptionClass; + + if ((withany && name == null) || // any -> finally or synchronized handler + (name != null && Util.instanceOf(context, valclass, name))) { + res = handler; + break; + } + } + } + + return res; + } + + public List<ExceptionHandler> getHandlers() { + return handlers; + } } |