IDEA-208443 Java decompiler not correctly decompiling string concatenation with recent Java

This commit is contained in:
Egor Ushakov
2019-03-06 14:22:46 +03:00
parent 1cdee1fbf4
commit a0a8f0a8dd
6 changed files with 71 additions and 27 deletions

Binary file not shown.

View File

@@ -0,0 +1,27 @@
package java11;
public class TestJava11StringConcat {
public String test1(String var1, int var2) {
return var1 + var2;// 20
}
public String test2(String var1, int var2, Object var3) {
return "(" + var1 + "-" + var2 + "---" + var3 + ")";// 24
}
}
class 'java11/TestJava11StringConcat' {
method 'test1 (Ljava/lang/String;I)Ljava/lang/String;' {
2 4
7 4
}
method 'test2 (Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String;' {
3 8
8 8
}
}
Lines mapping:
20 <-> 5
24 <-> 9

View File

@@ -0,0 +1,26 @@
/*
* Copyright 2000-2014 JetBrains s.r.o.
*
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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 java11;
public class TestJava11StringConcat {
public String test1(String prefix, int a) {
return prefix + a;
}
public String test2(String var, int b, Object c) {
return "(" + var + "-" + b + "---" + c + ")";
}
}