Home | History | Annotate | Download | only in smali
      1 # /*
      2 #  * Copyright (C) 2015 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 Main implements Iface {
     18 #   public static void main(String[] args) {
     19 #     Main m = new Main();
     20 #     sayHiMain(m);
     21 #     sayHiIface(m);
     22 #   }
     23 #   public static void sayHiMain(Main m) {
     24 #     System.out.println("Saying hi from class");
     25 #     m.sayHi();
     26 #   }
     27 #   public static void sayHiIface(Iface m) {
     28 #     System.out.println("Saying hi from interface");
     29 #     m.sayHi();
     30 #   }
     31 # }
     32 .class public LMain;
     33 .super Ljava/lang/Object;
     34 .implements LIface;
     35 
     36 .method public constructor <init>()V
     37     .registers 1
     38     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
     39     return-void
     40 .end method
     41 
     42 .method public static main([Ljava/lang/String;)V
     43     .locals 2
     44     new-instance v0, LMain;
     45     invoke-direct {v0}, LMain;-><init>()V
     46 
     47     invoke-static {v0}, LMain;->sayHiMain(LMain;)V
     48     invoke-static {v0}, LMain;->sayHiIface(LIface;)V
     49 
     50     return-void
     51 .end method
     52 
     53 .method public static sayHiMain(LMain;)V
     54     .locals 2
     55     sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
     56     const-string v1, "Saying hi from class"
     57     invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V
     58 
     59     invoke-virtual {p0}, LMain;->sayHi()V
     60     return-void
     61 .end method
     62 
     63 .method public static sayHiIface(LIface;)V
     64     .locals 2
     65     sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
     66     const-string v1, "Saying hi from interface"
     67     invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V
     68 
     69     invoke-interface {p0}, LIface;->sayHi()V
     70     return-void
     71 .end method
     72