Stop "Possible use before definition" warning following change 24997
[p5sagit/p5-mst-13.2.git] / jpl / Test / Test.jpl
CommitLineData
d50cb536 1import java.util.*;
2
3public class Test {
4
5 int myint = 123;
6 double mydouble = 3.14159265;
7 String mystring = "my string";
8 static String ourstring = "our string";
9 static boolean embedded = false;
10 int array[] = {1,2,3};
11 Vector v;
12
13 public Test() {
14
15
16 v = new Vector();
17 v.addElement("Hello");
18 printfields();
19 Vector x = perlTryVec(v);
20 x.addElement("World");
21 Vector y = perlTryVec(x);
22 if (!embedded) System.err.println("Thank you, perlTryVec!");
23
24 if (!embedded) System.err.println(retchars());
25 if (!embedded) System.err.println("Thank you, retchars!");
26
27 String[] s = retstrings();
28 if (!embedded) System.err.println(s[0] + s[1] + s[2] + s[3]);
29 if (!embedded) System.err.println("Thank you, retstrings!");
30
31 Object[] o = retobjects(v, x, y);
32 if (!embedded) System.err.println(o[1]);
33 if (!embedded) System.err.println(o[3]);
34 if (!embedded) System.err.println(o[4]);
35 if (!embedded) System.err.println("Thank you, retobjects!");
36
37 passarray(s);
38
39 if (!embedded) System.err.println(s[0] + s[1] + s[2] + s[3]);
40 if (!embedded) System.err.println("Thank you, passarray!");
41
42 printfields();
43 if (!embedded) System.err.println("Thank you, printfields!");
44 setfields();
45 if (!embedded) System.err.println("Thank you, setfields!");
46 printfields();
47 if (!embedded) System.err.println("Thank you, printfields!");
48 }
49
50 perl Vector perlTryVec(Vector v) throws RuntimeException {{
51 print "v is: $v\n";
52 print "v isa: ", ref $v,"\n";
53
54 print "In perlTryVec() - Vector size is: ", $v->size([],['int']), "\n";
55 @foo = times;
56 $size ||= getmeth('size', [], ['int']);
57 for ($i = 10000; $i; --$i) {
58 $x = $v->$size();
59 }
60 @bar = times;
61 printf "%5.2fu %5.2fs\n", $bar[0] - $foo[0], $bar[1] - $foo[1];
62 return $v;
63 }}
64
65 perl char[] retchars() {{
66 print "In retchars()\n";
67 return [65,66,67];
68 }}
69
70 perl String[] retstrings() {{
71 print "In retstrings()\n";
72 return [1,2,3,"many"];
73 }}
74
75 perl Object[] retobjects(Vector v, Vector x, Vector y) {{
76 print "In retstrings()\n";
77 return [$v, $x, $y, "this is only a test", 123];
78 }}
79
80 perl void passarray(String[] s) {{
81 print "In passarray()\n";
82 print "s = $s\n";
83 $t = GetObjectArrayElement($s,3);
84 print "t = $t\n";
85 $x = GetStringUTFChars($t);
86 print "$x\n";
87 $t = SetObjectArrayElement($s,3,NewStringUTF("infinity"));
88 }}
89
90 perl void printfields() {{
91
92 $| = 1;
93 eval {print $self->v->toString____s(), "\n";};
94 print $@ if $@;
95
96 print $self->myint, "\n";
97 print $self->mydouble, "\n";
98 print $self->mystring, "\n";
99 print JPL::Test->ourstring, "\n";
100
101 @nums = GetIntArrayElements($self->array());
102 print "@nums\n";
103
104 @nums = unpack("i*", scalar GetIntArrayElements($self->array()));
105 print "@nums\n";
106 }}
107
108 perl void setfields() {{
109 $self->myint(321);
110 $self->mydouble(2.7182918);
111 $self->mystring("MY STRING!!!");
112 JPL::Test->ourstring("OUR STRING!!!");
113 }}
114
115 public static void main(String[] argv) {
116 if (java.lang.reflect.Array.getLength(argv) > 0 &&
117 argv[0].equals("-nothanks"))
118 embedded = true;
119 Test f = new Test();
120 if (!embedded) System.err.println("Thank you, Test!");
121 }
122}