Skip to content

Commit dc2872a

Browse files
committed
Fixed bug with generating runnable calls
1 parent 7393945 commit dc2872a

File tree

1 file changed

+10
-8
lines changed
  • JavaProjectGenerator/src/de/loskutov/jpg

1 file changed

+10
-8
lines changed

JavaProjectGenerator/src/de/loskutov/jpg/Clazz.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,37 +83,39 @@ String generateMethods(String type) {
8383
if(methodCounts > 0) {
8484
for (int i = 0; i < runnablesAndCallablesCounts; i++) {
8585
String suffix = i == 0? "" : "" + i;
86+
String getInstanceIdx = i == 0 || methodCounts == 1? "" : "" + Math.min(i, methodCounts - 1);
8687
String result = "\t public void run" + suffix + "() {\n" +
8788
"\t \t try {\n" +
8889
"\t \t \t this.call" + suffix + "();\n" +
8990
"\t \t } catch (Exception e) {}\n" +
9091
"\t \t " + "Runnable r = () -> {\n" +
91-
"\t \t " + " run" + suffix + "();\n" +
92+
"\t \t " + " run" + suffix + "();\n" +
9293
"\t \t " + " set(this);\n" +
9394
"\t \t " + " get();\n" +
94-
"\t \t " + "};\n" +
95+
"\t \t " + "};\n" +
9596
"\t \t " + "r.run();\n" +
9697
"\t \t " + "r = this::run;\n" +
9798
"\t \t " + "r.run();\n" +
9899
"\t \t " + "r = " + extend + ".instance::run;\n" +
99100
"\t \t " + "r.run();\n" +
100-
"\t \t " + extend + ".getInstance" + suffix + "().run();\n" +
101+
"\t \t " + extend + ".getInstance" + getInstanceIdx + "().run();\n" +
101102
"\t }\n\n";
102103
sb.append(result);
103104
}
104105
for (int i = 0; i < runnablesAndCallablesCounts; i++) {
105106
String suffix = i == 0? "" : "" + i;
107+
String getInstanceIdx = i == 0 || methodCounts == 1? "" : "" + Math.min(i, methodCounts - 1);
106108
String result = "\t public "+type+" call" + suffix + "() throws Exception {\n" +
107-
"\t \t " + extend + ".getInstance" + suffix + "().call();\n" +
109+
"\t \t " + extend + ".getInstance" + getInstanceIdx + "().call();\n" +
108110
"\t \t " + "java.util.concurrent.Callable<?> c = () -> {\n" +
109-
"\t \t " + " call" + suffix + "();\n" +
111+
"\t \t " + " call" + suffix + "();\n" +
110112
"\t \t " + " set(this);\n" +
111113
"\t \t " + " return get();\n" +
112-
"\t \t " + "};\n" +
114+
"\t \t " + "};\n" +
113115
"\t \t " + "c.call();\n" +
114-
"\t \t " + "c = " + extend + ".getInstance" + suffix + "()::call;\n" +
116+
"\t \t " + "c = " + extend + ".getInstance" + getInstanceIdx + "()::call;\n" +
115117
"\t \t " + "c.call();\n" +
116-
"\t \t return ("+type+")" + extend + ".getInstance" + suffix + "().call" + suffix + "();\n" +
118+
"\t \t return ("+type+")" + extend + ".getInstance" + getInstanceIdx + "().call" + getInstanceIdx + "();\n" +
117119
"\t }\n\n";
118120
sb.append(result);
119121
}

0 commit comments

Comments
 (0)