jdk-24/langtools/test/tools/javac/flow/tests/TestCaseLocalInInnerBlock.java
Vicente Romero 96d9e95176 8027660: javac crash while creating LVT entry for a local variable defined in an inner block
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: jjg
2013-11-01 19:08:56 +00:00

42 lines
1.6 KiB
Java

/*
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
public class TestCaseLocalInInnerBlock {
@AliveRange(varName="fm", bytecodeStart=23, bytecodeLength=10)
@AliveRange(varName="newWidth", bytecodeStart=2, bytecodeLength=33)
@AliveRange(varName="tc", bytecodeStart=5, bytecodeLength=30)
int m() {
int newWidth = 0;
String tc = "b";
if (tc != null) {
String fm;
if (tc.trim() != null) {
} else if ((fm = "b") != null) {
newWidth += fm.length();
}
}
return newWidth;
}
}