Skip to content

Commit 8dda8a4

Browse files
committed
more cleanup, time to merge these functions
1 parent 20c6f86 commit 8dda8a4

1 file changed

Lines changed: 120 additions & 52 deletions

File tree

java/src/processing/mode/java/pdex/CompletionCandidate.java

Lines changed: 120 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -52,39 +52,48 @@ public class CompletionCandidate implements Comparable<CompletionCandidate> {
5252
// return value ignored? [fry 180326]
5353
method.getDeclaringClass().getName();
5454
elementName = method.getName();
55+
Class<?>[] types = method.getParameterTypes();
5556

56-
StringBuilder labelBuilder = new StringBuilder();
57-
labelBuilder.append("<html>");
58-
labelBuilder.append(elementName);
59-
labelBuilder.append('(');
60-
61-
StringBuilder compBuilder = new StringBuilder();
62-
compBuilder.append(elementName);
63-
compBuilder.append('(');
57+
{ // html label
58+
StringBuilder labelBuilder = new StringBuilder();
59+
labelBuilder.append("<html>");
60+
labelBuilder.append(elementName);
61+
labelBuilder.append('(');
6462

65-
Class<?>[] types = method.getParameterTypes();
66-
for (int i = 0; i < types.length; i++) {
67-
labelBuilder.append(types[i].getSimpleName());
68-
if (i < types.length - 1) {
69-
labelBuilder.append(',');
70-
compBuilder.append(',');
63+
for (int i = 0; i < types.length; i++) {
64+
labelBuilder.append(types[i].getSimpleName());
65+
if (i < types.length - 1) {
66+
labelBuilder.append(',');
67+
}
7168
}
72-
}
73-
if (types.length == 1) {
74-
compBuilder.append(' ');
75-
}
76-
compBuilder.append(")");
69+
labelBuilder.append(")");
70+
if (method.getReturnType() != null) {
71+
labelBuilder.append(" : ");
72+
labelBuilder.append(method.getReturnType().getSimpleName());
73+
}
74+
labelBuilder.append(" - <font color=#777777>");
75+
labelBuilder.append(method.getDeclaringClass().getSimpleName());
76+
labelBuilder.append("</font></html>");
7777

78-
labelBuilder.append(")");
79-
if (method.getReturnType() != null) {
80-
labelBuilder.append(" : " + method.getReturnType().getSimpleName());
78+
label = labelBuilder.toString();
8179
}
82-
labelBuilder.append(" - <font color=#777777>");
83-
labelBuilder.append(method.getDeclaringClass().getSimpleName());
84-
labelBuilder.append("</font></html>");
8580

86-
label = labelBuilder.toString();
87-
completion = compBuilder.toString();
81+
{ // completion string
82+
StringBuilder compBuilder = new StringBuilder();
83+
compBuilder.append(elementName);
84+
compBuilder.append('(');
85+
86+
for (int i = 0; i < types.length; i++) {
87+
if (i < types.length - 1) {
88+
compBuilder.append(','); // wtf? [fry 180326]
89+
}
90+
}
91+
if (types.length == 1) {
92+
compBuilder.append(' ');
93+
}
94+
compBuilder.append(")");
95+
completion = compBuilder.toString();
96+
}
8897

8998
type = PREDEF_METHOD;
9099
wrappedObject = method;
@@ -119,24 +128,39 @@ public class CompletionCandidate implements Comparable<CompletionCandidate> {
119128
List<ASTNode> params = (List<ASTNode>)
120129
method.getStructuralProperty(MethodDeclaration.PARAMETERS_PROPERTY);
121130

122-
StringBuilder label = new StringBuilder(elementName + "(");
123-
StringBuilder cstr = new StringBuilder(method.getName() + "(");
124-
for (int i = 0; i < params.size(); i++) {
125-
label.append(params.get(i).toString());
126-
if (i < params.size() - 1) {
127-
label.append(",");
128-
cstr.append(",");
131+
{ // label
132+
StringBuilder labelBuilder = new StringBuilder(elementName);
133+
labelBuilder.append('(');
134+
for (int i = 0; i < params.size(); i++) {
135+
labelBuilder.append(params.get(i).toString());
136+
if (i < params.size() - 1) {
137+
labelBuilder.append(',');
138+
}
129139
}
140+
labelBuilder.append(')');
141+
if (method.getReturnType2() != null) {
142+
labelBuilder.append(" : ");
143+
labelBuilder.append(method.getReturnType2());
144+
}
145+
label = labelBuilder.toString();
130146
}
131-
if (params.size() == 1) {
132-
cstr.append(' ');
147+
148+
{ // completion
149+
StringBuilder compBuilder = new StringBuilder(elementName);
150+
compBuilder.append('(');
151+
152+
for (int i = 0; i < params.size(); i++) {
153+
if (i < params.size() - 1) {
154+
compBuilder.append(',');
155+
}
156+
}
157+
if (params.size() == 1) {
158+
compBuilder.append(' ');
159+
}
160+
compBuilder.append(')');
161+
completion = compBuilder.toString();
133162
}
134-
label.append(")");
135-
if (method.getReturnType2() != null)
136-
label.append(" : " + method.getReturnType2());
137-
cstr.append(")");
138-
this.label = label.toString();
139-
this.completion = cstr.toString();
163+
140164
wrappedObject = method;
141165
}
142166

@@ -251,37 +275,53 @@ CompletionCandidate withRegeneratedCompString() {
251275
method.getStructuralProperty(MethodDeclaration.PARAMETERS_PROPERTY);
252276

253277
StringBuilder labelBuilder = new StringBuilder(elementName + "(");
254-
StringBuilder compBuilder = new StringBuilder(method.getName() + "(");
278+
labelBuilder.append('(');
255279
for (int i = 0; i < params.size(); i++) {
256280
labelBuilder.append(params.get(i));
257281
if (i < params.size() - 1) {
258282
labelBuilder.append(',');
259-
compBuilder.append(',');
260283
}
261284
}
262-
if (params.size() == 1) {
263-
compBuilder.append(' ');
264-
}
265285
labelBuilder.append(')');
266286
if (method.getReturnType2() != null) {
267287
labelBuilder.append(" : ");
268288
labelBuilder.append(method.getReturnType2());
269289
}
290+
291+
StringBuilder compBuilder = new StringBuilder();
292+
compBuilder.append(method.getName());
293+
compBuilder.append('(');
294+
for (int i = 0; i < params.size(); i++) {
295+
if (i < params.size() - 1) {
296+
compBuilder.append(',');
297+
}
298+
}
299+
if (params.size() == 1) {
300+
compBuilder.append(' ');
301+
}
270302
compBuilder.append(')');
303+
271304
return withLabelAndCompString(labelBuilder.toString(), compBuilder.toString());
272305

273306
} else if (wrappedObject instanceof Method) {
274307
Method method = (Method) wrappedObject;
275-
StringBuilder labelBuilder = new StringBuilder("<html>" + method.getName() + "(");
308+
Class<?>[] types = method.getParameterTypes();
309+
310+
StringBuilder labelBuilder = new StringBuilder();
311+
labelBuilder.append("<html>");
312+
labelBuilder.append(method.getName());
313+
labelBuilder.append('(');
314+
276315
StringBuilder compBuilder = new StringBuilder(method.getName() + "(");
277-
for (int i = 0; i < method.getParameterTypes().length; i++) {
278-
labelBuilder.append(method.getParameterTypes()[i].getSimpleName());
279-
if (i < method.getParameterTypes().length - 1) {
316+
317+
for (int i = 0; i < types.length; i++) {
318+
labelBuilder.append(types[i].getSimpleName());
319+
if (i < types.length - 1) {
280320
labelBuilder.append(',');
281321
compBuilder.append(',');
282322
}
283323
}
284-
if (method.getParameterTypes().length == 1) {
324+
if (types.length == 1) {
285325
compBuilder.append(' ');
286326
}
287327
compBuilder.append(')');
@@ -290,6 +330,7 @@ CompletionCandidate withRegeneratedCompString() {
290330
if (method.getReturnType() != null) {
291331
labelBuilder.append(" : " + method.getReturnType().getSimpleName());
292332
}
333+
293334
labelBuilder.append(" - <font color=#777777>");
294335
labelBuilder.append(method.getDeclaringClass().getSimpleName());
295336
labelBuilder.append("</font></html>");
@@ -302,6 +343,33 @@ CompletionCandidate withRegeneratedCompString() {
302343
}
303344

304345

346+
static private String makeLabel(Method method) {
347+
Class<?>[] types = method.getParameterTypes();
348+
349+
StringBuilder labelBuilder = new StringBuilder();
350+
labelBuilder.append("<html>");
351+
labelBuilder.append(method.getName());
352+
labelBuilder.append('(');
353+
354+
for (int i = 0; i < types.length; i++) {
355+
labelBuilder.append(types[i].getSimpleName());
356+
if (i < types.length - 1) {
357+
labelBuilder.append(',');
358+
}
359+
}
360+
labelBuilder.append(")");
361+
if (method.getReturnType() != null) {
362+
labelBuilder.append(" : ");
363+
labelBuilder.append(method.getReturnType().getSimpleName());
364+
}
365+
labelBuilder.append(" - <font color=#777777>");
366+
labelBuilder.append(method.getDeclaringClass().getSimpleName());
367+
labelBuilder.append("</font></html>");
368+
369+
return labelBuilder.toString();
370+
}
371+
372+
305373
@Override
306374
public int compareTo(CompletionCandidate cc) {
307375
if (type != cc.getType()) {

0 commit comments

Comments
 (0)