@@ -1855,18 +1855,37 @@ public boolean visit(MethodInvocation node) {
1855
1855
buffer .append (", " );
1856
1856
}
1857
1857
boolean needBrackets = true ;
1858
- //if (args.size() == 1) {
1858
+
1859
+ //sgurin: corrected bug when vararg parameter is an empty array.
1860
+ if (args .size () == 0 ) {
1861
+ if (needBrackets ) buffer .append ("[]" );
1862
+ }
1863
+ else {
1859
1864
Expression arg = (Expression ) args .get (args .size () - 1 );
1860
1865
ITypeBinding resolveTypeBinding = arg .resolveTypeBinding ();
1861
- if (resolveTypeBinding != null && resolveTypeBinding .isArray ()) {
1862
- needBrackets = false ;
1863
- }
1864
- //}
1865
- if (needBrackets ) buffer .append ("[" );
1866
- //IMethodBinding methodDeclaration = node.resolveMethodBinding();
1867
- //visitMethodParameterList(node.arguments(), methodDeclaration, paramTypes.length - 1, size);
1868
- visitList (args , ", " , paramTypes .length - 1 , size );
1869
- if (needBrackets ) buffer .append ("]" );
1866
+ if (resolveTypeBinding != null && resolveTypeBinding .isArray ())
1867
+ needBrackets = false ;
1868
+ if (needBrackets ) buffer .append ("[" );
1869
+ visitList (args , ", " , paramTypes .length - 1 , size );
1870
+ if (needBrackets ) buffer .append ("]" );
1871
+ }
1872
+
1873
+ //old Code:
1874
+ // //if (args.size() == 1) {
1875
+ // Expression arg = (Expression) args.get(args.size() - 1);
1876
+ // ITypeBinding resolveTypeBinding = arg.resolveTypeBinding();
1877
+ // if (resolveTypeBinding != null && resolveTypeBinding.isArray()) {
1878
+ // needBrackets = false;
1879
+ // }
1880
+ // //}
1881
+ // if (needBrackets) buffer.append("[");
1882
+ // //IMethodBinding methodDeclaration = node.resolveMethodBinding();
1883
+ // //visitMethodParameterList(node.arguments(), methodDeclaration, paramTypes.length - 1, size);
1884
+ // visitList(args, ", ", paramTypes.length - 1, size);
1885
+ // if (needBrackets) buffer.append("]");
1886
+
1887
+
1888
+
1870
1889
} else {
1871
1890
IMethodBinding methodDeclaration = node .resolveMethodBinding ();
1872
1891
visitMethodParameterList (node .arguments (), methodDeclaration );
0 commit comments