< prev index next >

test/compiler/jvmci/common/testcases/MultipleImplementersInterface.java

Print this page

        

@@ -21,10 +21,13 @@
  * questions.
  */
 
 package compiler.jvmci.common.testcases;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public interface MultipleImplementersInterface {
 
     int INT_CONSTANT = Integer.MAX_VALUE;
     long LONG_CONSTANT = Long.MAX_VALUE;
     float FLOAT_CONSTANT = Float.MAX_VALUE;

@@ -40,14 +43,36 @@
 
     default void finalize() throws Throwable {
         // empty
     }
 
-    default void interfaceMethodReferral(MultipleImplementersInterface obj) {
-        obj.defaultMethod();
-    }
-
     default void lambdaUsingMethod() {
         Thread t = new Thread(this::defaultMethod);
         t.start();
     }
+    
+    default void printFields() {
+        System.out.println(OBJECT_CONSTANT);
+        String s = "";
+        System.out.println(s);
+    }
+    
+    static void staticMethod() {
+        System.getProperties(); // calling some static method
+        Map map = new HashMap(); // calling some constructor
+        map.put(OBJECT_CONSTANT, OBJECT_CONSTANT); // calling some interface method
+        map.remove(OBJECT_CONSTANT); // calling some default interface method
+    }
+    
+    default void instanceMethod() {
+        toString(); // calling some virtual method
+    }
+    
+    default void anonClassMethod() {
+        new Runnable() {
+            @Override
+            public void run() {
+                System.out.println("Running");
+            }
+        }.run();
+    }
 }
< prev index next >