Issue #271053 - StringIndexOutOfBoundsException: String index out of range - fixed.
authorDusan Balek <dbalek@netbeans.org>
Fri, 04 Aug 2017 18:19:59 +0200
changeset 59571d4d9f967eaa
parent 5956 15c0d1682895
child 5958 b5d5effa0977
Issue #271053 - StringIndexOutOfBoundsException: String index out of range - fixed.
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Repair.java
     1.1 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Repair.java	Fri Aug 04 13:32:32 2017 +0200
     1.2 +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Repair.java	Fri Aug 04 18:19:59 2017 +0200
     1.3 @@ -556,8 +556,10 @@
     1.4                      final String path = source.toUri().getPath();
     1.5                      int start = path.lastIndexOf('/');
     1.6                      int end = path.lastIndexOf('.');
     1.7 -                    fixedTopLevelName = c.name.table.fromString(path.substring(start+1, end));
     1.8 -                    c.name = fixedTopLevelName;
     1.9 +                    if (end > start) {
    1.10 +                        fixedTopLevelName = c.name.table.fromString(path.substring(start+1, end));
    1.11 +                        c.name = fixedTopLevelName;
    1.12 +                    }
    1.13                      c.fullname = Symbol.TypeSymbol.formFullName(c.name, enclosingElement);
    1.14                      c.flatname = c.fullname;
    1.15                      tree.name = c.name;