langtools/test/tools/javac/T8022186/DeadCodeGeneratedForEmptyTryTest.java
author alundblad
Wed, 26 Aug 2015 09:02:02 +0200
changeset 32337 c9d3ab9f601c
parent 30846 2b3f379840f0
permissions -rw-r--r--
8133671: langtools tests have bad license Summary: Dropped classpath exception from copyright notice in tests. Reviewed-by: jjg
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19247
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
     1
/*
30730
d3ce7619db2c 8076543: Add @modules as needed to the langtools tests
akulyakh
parents: 19247
diff changeset
     2
 * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
19247
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
     4
 *
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
32337
c9d3ab9f601c 8133671: langtools tests have bad license
alundblad
parents: 30846
diff changeset
     7
 * published by the Free Software Foundation.
19247
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
     8
 *
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    13
 * accompanied this code).
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    14
 *
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    18
 *
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    21
 * questions.
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    22
 */
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    23
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    24
/*
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    25
 * @test
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    26
 * @bug 8022186
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    27
 * @summary javac generates dead code if a try with an empty body has a finalizer
30846
2b3f379840f0 8074432: Move jdeps and javap to jdk.jdeps module
mchung
parents: 30730
diff changeset
    28
 * @modules jdk.jdeps/com.sun.tools.classfile
30730
d3ce7619db2c 8076543: Add @modules as needed to the langtools tests
akulyakh
parents: 19247
diff changeset
    29
 *          jdk.compiler/com.sun.tools.javac.util
19247
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    30
 */
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    31
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    32
import com.sun.tools.classfile.Attribute;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    33
import com.sun.tools.classfile.ClassFile;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    34
import com.sun.tools.classfile.Code_attribute;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    35
import com.sun.tools.classfile.ConstantPool;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    36
import com.sun.tools.classfile.ConstantPool.CONSTANT_String_info;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    37
import com.sun.tools.classfile.ConstantPool.CPInfo;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    38
import com.sun.tools.classfile.ConstantPool.InvalidIndex;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    39
import com.sun.tools.classfile.Instruction;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    40
import com.sun.tools.classfile.Instruction.KindVisitor;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    41
import com.sun.tools.classfile.Instruction.TypeKind;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    42
import com.sun.tools.classfile.Method;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    43
import com.sun.tools.javac.util.Assert;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    44
import java.io.BufferedInputStream;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    45
import java.nio.file.Files;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    46
import java.nio.file.Path;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    47
import java.nio.file.Paths;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    48
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    49
public class DeadCodeGeneratedForEmptyTryTest {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    50
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    51
    public static void main(String[] args) throws Exception {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    52
        new DeadCodeGeneratedForEmptyTryTest().run();
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    53
    }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    54
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    55
    void run() throws Exception {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    56
        checkClassFile(Paths.get(System.getProperty("test.classes"),
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    57
                this.getClass().getName() + "$Test.class"));
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    58
    }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    59
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    60
    int utf8Index;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    61
    int numberOfRefToStr = 0;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    62
    ConstantPool constantPool;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    63
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    64
    void checkClassFile(final Path path) throws Exception {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    65
        ClassFile classFile = ClassFile.read(
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    66
                new BufferedInputStream(Files.newInputStream(path)));
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    67
        constantPool = classFile.constant_pool;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    68
        utf8Index = constantPool.getUTF8Index("STR_TO_LOOK_FOR");
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    69
        for (Method method: classFile.methods) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    70
            if (method.getName(constantPool).equals("methodToLookFor")) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    71
                Code_attribute codeAtt = (Code_attribute)method.attributes.get(Attribute.Code);
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    72
                for (Instruction inst: codeAtt.getInstructions()) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    73
                    inst.accept(codeVisitor, null);
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    74
                }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    75
            }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    76
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    77
        Assert.check(numberOfRefToStr == 1,
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    78
                "There should only be one reference to a CONSTANT_String_info structure in the generated code");
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    79
    }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    80
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    81
    CodeVisitor codeVisitor = new CodeVisitor();
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    82
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    83
    class CodeVisitor implements KindVisitor<Void, Void> {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    84
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    85
        void checkIndirectRefToString(int cp_index) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    86
            try {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    87
                CPInfo cInfo = constantPool.get(cp_index);
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    88
                if (cInfo instanceof CONSTANT_String_info) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    89
                    CONSTANT_String_info strInfo = (CONSTANT_String_info)cInfo;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    90
                    if (strInfo.string_index == utf8Index) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    91
                        numberOfRefToStr++;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    92
                    }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    93
                }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    94
            } catch (InvalidIndex ex) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    95
                throw new AssertionError("invalid constant pool index at " + cp_index);
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    96
            }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    97
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    98
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
    99
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   100
        public Void visitNoOperands(Instruction instr, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   101
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   102
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   103
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   104
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   105
        public Void visitArrayType(Instruction instr, TypeKind kind, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   106
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   107
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   108
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   109
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   110
        public Void visitBranch(Instruction instr, int offset, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   111
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   112
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   113
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   114
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   115
        public Void visitConstantPoolRef(Instruction instr, int index, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   116
            checkIndirectRefToString(index);
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   117
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   118
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   119
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   120
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   121
        public Void visitConstantPoolRefAndValue(Instruction instr, int index, int value, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   122
            checkIndirectRefToString(index);
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   123
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   124
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   125
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   126
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   127
        public Void visitLocal(Instruction instr, int index, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   128
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   129
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   130
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   131
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   132
        public Void visitLocalAndValue(Instruction instr, int index, int value, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   133
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   134
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   135
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   136
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   137
        public Void visitLookupSwitch(Instruction instr, int default_, int npairs, int[] matches, int[] offsets, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   138
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   139
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   140
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   141
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   142
        public Void visitTableSwitch(Instruction instr, int default_, int low, int high, int[] offsets, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   143
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   144
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   145
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   146
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   147
        public Void visitValue(Instruction instr, int value, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   148
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   149
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   150
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   151
        @Override
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   152
        public Void visitUnknown(Instruction instr, Void p) {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   153
            return null;
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   154
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   155
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   156
    }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   157
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   158
    public class Test {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   159
        void methodToLookFor() {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   160
            try {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   161
            } finally {
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   162
                System.out.println("STR_TO_LOOK_FOR");
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   163
            }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   164
        }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   165
    }
71b0c0710a47 8022186: javac generates dead code if a try with an empty body has a finalizer
vromero
parents:
diff changeset
   166
}