|
24 | 24 | import org.jd.core.v1.service.layouter.LayoutFragmentProcessor; |
25 | 25 | import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor; |
26 | 26 | import org.jd.core.v1.service.writer.WriteTokenProcessor; |
| 27 | +import org.jd.core.v1.stub.InitializedArrayInTernaryOperator; |
27 | 28 | import org.junit.Test; |
28 | 29 |
|
29 | 30 | import java.io.InputStream; |
@@ -89,41 +90,17 @@ public void testJdk170Array() throws Exception { |
89 | 90 |
|
90 | 91 | @Test |
91 | 92 | public void testInitializedArrayInTernaryOperator() throws Exception { |
92 | | - class InitializedArrayInTernaryOperator { |
93 | | - Class[] test0(int i) { |
94 | | - return (i == 0) ? new Class[] { Object.class } : null; |
95 | | - } |
96 | | - Class[] test2(int i) { |
97 | | - return (i == 0) ? new Class[] { Object.class, String.class, Number.class } : null; |
98 | | - } |
99 | | - Class[][] test3(int i) { |
100 | | - return (i == 0) ? new Class[][] { { Object.class }, { String.class, Number.class} } : null; |
101 | | - } |
102 | | - Class[] test4(int i) { |
103 | | - return (i == 0) ? null : new Class[] { Object.class }; |
104 | | - } |
105 | | - Class[] test5(int i) { |
106 | | - return (i == 0) ? null : new Class[] { Object.class, String.class, Number.class }; |
107 | | - } |
108 | | - Class[][] test6(int i) { |
109 | | - return (i == 0) ? null : new Class[][] { { Object.class }, { String.class, Number.class} }; |
110 | | - } |
111 | | - Class[] test7(int i) { |
112 | | - return (i == 0) ? new Class[] { Object.class } : new Class[] { String.class, Number.class }; |
113 | | - } |
114 | | - } |
115 | | - |
116 | 93 | String internalClassName = InitializedArrayInTernaryOperator.class.getName().replace('.', '/'); |
117 | 94 | String source = decompile(new ClassPathLoader(), new PlainTextPrinter(), internalClassName); |
118 | 95 |
|
119 | 96 | // Check decompiled source code |
120 | | - assertTrue(source.matches(PatternMaker.make(": 93 */", "return (i == 0) ? new Class<?>[] { Object.class } : null;"))); |
121 | | - assertTrue(source.matches(PatternMaker.make(": 96 */", "return (i == 0) ? new Class<?>[] { Object.class, String.class, Number.class } : null;"))); |
122 | | - assertTrue(source.matches(PatternMaker.make(": 99 */", "return (i == 0) ? new Class[][] { { Object.class }, { String.class, Number.class } } : null;"))); |
123 | | - assertTrue(source.matches(PatternMaker.make(": 102 */", "return (i == 0) ? null : new Class<?>[] { Object.class };"))); |
124 | | - assertTrue(source.matches(PatternMaker.make(": 105 */", "return (i == 0) ? null : new Class<?>[] { Object.class, String.class, Number.class };"))); |
125 | | - assertTrue(source.matches(PatternMaker.make(": 108 */", "return (i == 0) ? null : new Class[][] { { Object.class }, { String.class, Number.class} };"))); |
126 | | - assertTrue(source.matches(PatternMaker.make(": 111 */", "return (i == 0) ? new Class<?>[] { Object.class } : new Class<?>[] { String.class, Number.class };"))); |
| 97 | + assertTrue(source.matches(PatternMaker.make(": 5 */", "return (i == 0) ? new Class<?>[] { Object.class } : null;"))); |
| 98 | + assertTrue(source.matches(PatternMaker.make(": 8 */", "return (i == 0) ? new Class<?>[] { Object.class, String.class, Number.class } : null;"))); |
| 99 | + assertTrue(source.matches(PatternMaker.make(": 11 */", "return (i == 0) ? new Class[][] { { Object.class }, { String.class, Number.class } } : null;"))); |
| 100 | + assertTrue(source.matches(PatternMaker.make(": 14 */", "return (i == 0) ? null : new Class<?>[] { Object.class };"))); |
| 101 | + assertTrue(source.matches(PatternMaker.make(": 17 */", "return (i == 0) ? null : new Class<?>[] { Object.class, String.class, Number.class };"))); |
| 102 | + assertTrue(source.matches(PatternMaker.make(": 20 */", "return (i == 0) ? null : new Class[][] { { Object.class }, { String.class, Number.class} };"))); |
| 103 | + assertTrue(source.matches(PatternMaker.make(": 23 */", "return (i == 0) ? new Class<?>[] { Object.class } : new Class<?>[] { String.class, Number.class };"))); |
127 | 104 |
|
128 | 105 | // Recompile decompiled source code and check errors |
129 | 106 | assertTrue(CompilerUtil.compile("1.8", new JavaSourceFileObject(internalClassName, source))); |
|
0 commit comments