varargs: make printf working
[mate.git] / java / io / PrintStream.java
1 package java.io;
2
3 public class PrintStream {
4         public PrintStream printf(String format, Object... args) {
5                 /* temporary workaround ;-) */
6                 int len = args.length;
7                 if (len == 0) {
8                         this.println(format);
9                 } else if (len == 1) {
10                         this.printf_1(format, args[0]);
11                 } else if (len == 2) {
12                         this.printf_2(format, args[0], args[1]);
13                 } else if (len == 3) {
14                         this.printf_3(format, args[0], args[1], args[2]);
15                 } else if (len == 4) {
16                         this.printf_4(format, args[0], args[1], args[2], args[3]);
17                 } else if (len == 5) {
18                         this.printf_5(format, args[0], args[1], args[2], args[3], args[4]);
19                 }
20                 return this;
21         }
22
23         public native void printf_1(String a, Object b);
24         public native void printf_2(String a, Object b, Object c);
25         public native void printf_3(String a, Object b, Object c, Object d);
26         public native void printf_4(String a, Object b, Object c, Object d, Object e);
27         public native void printf_5(String a, Object b, Object c, Object d, Object e, Object f);
28         public native void println(String a);
29 }