15a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#
25a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# Copyright (C) 2016 The Android Open Source Project
35a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#
45a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# Licensed under the Apache License, Version 2.0 (the "License");
55a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# you may not use this file except in compliance with the License.
65a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# You may obtain a copy of the License at
75a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#
85a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#     http://www.apache.org/licenses/LICENSE-2.0
95a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#
105a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# Unless required by applicable law or agreed to in writing, software
115a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# distributed under the License is distributed on an "AS IS" BASIS,
125a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# See the License for the specific language governing permissions and
145a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# limitations under the License.
155a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light
165a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light
175a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.class public LConcreteClass;
185a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.super Ljava/lang/Object;
195a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.implements LIface;
205a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light
215a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# public class ConcreteClass implements Iface {
225a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#     public String getString() {
235a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#         return "STRING!!!";
245a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#     }
255a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#     public String callMethod() {
265a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#         return this.getTwice();
275a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light#     }
285a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light# }
295a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light
305a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.method public constructor <init>()V
315a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    .registers 1
325a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
335a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    return-void
345a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.end method
355a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light
365a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.method public getString()Ljava/lang/String;
375a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.registers 2
385a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    const-string v0, "STRING!!!"
395a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    return-object v0
405a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.end method
415a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light
425a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.method public callMethod()Ljava/lang/String;
435a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.registers 2
445a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    invoke-virtual {p0}, LConcreteClass;->getTwice()Ljava/lang/String;
455a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    move-result-object v0
465a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light    return-object v0
475a5598609f4f65f446e46327e7b6789c41c92bdeAlex Light.end method
48