aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang/inline.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite/libjava.lang/inline.java')
-rw-r--r--libjava/testsuite/libjava.lang/inline.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/inline.java b/libjava/testsuite/libjava.lang/inline.java
new file mode 100644
index 00000000000..66585293491
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/inline.java
@@ -0,0 +1,35 @@
+public class inline
+{
+ static int factorial_1 (int n)
+ {
+ if (n > 0)
+ return n * factorial_1(n-1);
+ return 1;
+ }
+
+ static int factorial_2 (int n)
+ {
+ if (n > 0)
+ return n * factorial_3(n-1);
+ return 1;
+ }
+
+ static int factorial_3 (int n)
+ {
+ if (n > 0)
+ return n * factorial_2(n-1);
+ return 1;
+ }
+
+ public static void main(String args[])
+ {
+ if (factorial_1 (5) != 120)
+ System.out.println("This should not happen");
+ else
+ System.out.println("OK");
+ if (factorial_2 (5) != 120)
+ System.out.println("This should not happen");
+ else
+ System.out.println("OK");
+ }
+}