| // Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| package classmerging; |
| |
| public class MergeDefaultMethodIntoClassTest { |
| |
| public static void main(String[] args) { |
| // Note: Important that the static type of [obj] is A, such that the call to f becomes an |
| // invoke-interface instruction and not invoke-virtual instruction. |
| A obj = new B(); |
| obj.f(); |
| } |
| |
| public interface A { |
| default void f() { |
| System.out.println("In A.f"); |
| } |
| } |
| |
| public static class B implements A {} |
| } |