1 # 2 # Copyright (C) 2016 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 17 .class public abstract interface LIface; 18 .super Ljava/lang/Object; 19 20 # public interface Iface { 21 # public default String getTwice() { 22 # return getString() + getString(); 23 # } 24 # public String getString(); 25 # } 26 27 .method public getTwice()Ljava/lang/String; 28 .locals 2 29 invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; 30 invoke-interface {p0}, LIface;->getString()Ljava/lang/String; 31 move-result-object v0 32 invoke-interface {p0}, LIface;->getString()Ljava/lang/String; 33 move-result-object v1 34 invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; 35 move-result-object v0 36 return-object v0 37 .end method 38 39 .method public abstract getString()Ljava/lang/String; 40 .end method 41