Skip to content

Commit 3393c2b

Browse files
committed
refactor: move some stubs out
1 parent 24a27eb commit 3393c2b

File tree

6 files changed

+53
-39
lines changed

6 files changed

+53
-39
lines changed

src/test/java/org/jd/core/v1/JavaAutoboxingTest.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2424
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
2525
import org.jd.core.v1.service.writer.WriteTokenProcessor;
26+
import org.jd.core.v1.stub.AutoboxingAndUnboxing;
2627
import org.junit.Test;
2728

2829
import java.util.Collections;
@@ -40,19 +41,12 @@ public class JavaAutoboxingTest extends TestCase {
4041
@Test
4142
// https://github.com/java-decompiler/jd-core/issues/14
4243
public void testAutoboxing() throws Exception {
43-
class AutoboxingAndUnboxing {
44-
void test() {
45-
Integer intObj = 10;
46-
int i = intObj;
47-
}
48-
}
49-
5044
String internalClassName = AutoboxingAndUnboxing.class.getName().replace('.', '/');
5145
String source = decompile(new ClassPathLoader(), new PlainTextPrinter(), internalClassName);
5246

5347
// Check decompiled source code
54-
assertTrue(source.matches(PatternMaker.make(": 44 */", "Integer intObj = 10;")));
55-
assertTrue(source.matches(PatternMaker.make(": 45 */", "int i = intObj;")));
48+
assertTrue(source.matches(PatternMaker.make(": 5 */", "Integer intObj = 10;")));
49+
assertTrue(source.matches(PatternMaker.make(": 6 */", "int i = intObj;")));
5650

5751
// Recompile decompiled source code and check errors
5852
assertTrue(CompilerUtil.compile("1.8", new JavaSourceFileObject(internalClassName, source)));

src/test/java/org/jd/core/v1/JavaMethodOverloadingTest.java

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2424
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
2525
import org.jd.core.v1.service.writer.WriteTokenProcessor;
26+
import org.jd.core.v1.stub.ArrayMethodOverloading;
2627
import org.junit.Test;
2728

2829
import java.util.Collections;
@@ -40,32 +41,14 @@ public class JavaMethodOverloadingTest extends TestCase {
4041
@Test
4142
// https://github.com/java-decompiler/jd-core/issues/33
4243
public void testArrayMethodOverloading() throws Exception {
43-
class ArrayMethodOverloading {
44-
void use(Object[] o) { }
45-
void use(Object o) { }
46-
47-
void test1() {
48-
use("string");
49-
}
50-
void test2() {
51-
use((Object) new Object[] {""});
52-
}
53-
void test3() {
54-
use(null);
55-
}
56-
void test4() {
57-
use((Object)null);
58-
}
59-
}
60-
6144
String internalClassName = ArrayMethodOverloading.class.getName().replace('.', '/');
6245
String source = decompile(new ClassPathLoader(), new PlainTextPrinter(), internalClassName);
6346

6447
// Check decompiled source code
65-
assertTrue(source.matches(PatternMaker.make(": 47 */", "use(\"string\");")));
66-
assertTrue(source.matches(PatternMaker.make(": 50 */", "use((Object)new Object[] { \"\" });")));
67-
assertTrue(source.matches(PatternMaker.make(": 53 */", "use((Object[])null);")));
68-
assertTrue(source.matches(PatternMaker.make(": 56 */", "use((Object)null);")));
48+
assertTrue(source.matches(PatternMaker.make(": 11 */", "use(\"string\");")));
49+
assertTrue(source.matches(PatternMaker.make(": 15 */", "use((Object)new Object[] { \"\" });")));
50+
assertTrue(source.matches(PatternMaker.make(": 19 */", "use((Object[])null);")));
51+
assertTrue(source.matches(PatternMaker.make(": 23 */", "use((Object)null);")));
6952

7053
// Recompile decompiled source code and check errors
7154
assertTrue(CompilerUtil.compile("1.8", new JavaSourceFileObject(internalClassName, source)));

src/test/java/org/jd/core/v1/JavaOperatorPrecedenceTest.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2424
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
2525
import org.jd.core.v1.service.writer.WriteTokenProcessor;
26+
import org.jd.core.v1.stub.NewOperatorPrecedence;
2627
import org.junit.Test;
2728

2829
import java.util.Collections;
@@ -39,18 +40,11 @@ public class JavaOperatorPrecedenceTest extends TestCase {
3940

4041
@Test
4142
public void testNewOperatorPrecedence() throws Exception {
42-
class NewOperatorPrecedence {
43-
void test() {}
44-
public /* static */ void main(String ... args) {
45-
new NewOperatorPrecedence().test();
46-
}
47-
}
48-
4943
String internalClassName = NewOperatorPrecedence.class.getName().replace('.', '/');
5044
String source = decompile(new ClassPathLoader(), new PlainTextPrinter(), internalClassName);
5145

5246
// Check decompiled source code
53-
assertTrue(source.matches(PatternMaker.make(": 44 */", "new NewOperatorPrecedence().test();")));
47+
assertTrue(source.matches(PatternMaker.make(": 8 */", "new NewOperatorPrecedence().test();")));
5448

5549
// Recompile decompiled source code and check errors
5650
assertTrue(CompilerUtil.compile("1.8", new JavaSourceFileObject(internalClassName, source)));
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.jd.core.v1.stub;
2+
3+
public class ArrayMethodOverloading {
4+
void use(Object[] o) {
5+
}
6+
7+
void use(Object o) {
8+
}
9+
10+
void test1() {
11+
use("string");
12+
}
13+
14+
void test2() {
15+
use((Object) new Object[]{""});
16+
}
17+
18+
void test3() {
19+
use(null);
20+
}
21+
22+
void test4() {
23+
use((Object) null);
24+
}
25+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package org.jd.core.v1.stub;
2+
3+
public class AutoboxingAndUnboxing {
4+
void test() {
5+
Integer intObj = 10;
6+
int i = intObj;
7+
}
8+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package org.jd.core.v1.stub;
2+
3+
public class NewOperatorPrecedence {
4+
void test() {
5+
}
6+
7+
public /* static */ void main(String... args) {
8+
new NewOperatorPrecedence().test();
9+
}
10+
}

0 commit comments

Comments
 (0)