Created
November 22, 2012 08:43
-
-
Save rscottm/4130034 to your computer and use it in GitHub Desktop.
baksmali output
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public final class org.jruby.proxy.java.math.BigInteger$Proxy0 extends java.math.BigInteger implements org.jruby.javasupport.proxy.InternalJavaProxy{ | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(int, int, java.util.Random, org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: iload_1 | |
| 2: iload_2 | |
| 3: aload_3 | |
| 4: invokespecial #33; //Method java/math/BigInteger."<init>":(IILjava/util/Random;)V | |
| 7: aload_0 | |
| 8: aload 4 | |
| 10: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 13: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(int, int, int[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: iload_1 | |
| 2: iload_2 | |
| 3: aload_3 | |
| 4: invokespecial #39; //Method java/math/BigInteger."<init>":(II[I)V | |
| 7: aload_0 | |
| 8: aload 4 | |
| 10: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 13: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(int, long, org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: iload_1 | |
| 2: lload_2 | |
| 3: invokespecial #43; //Method java/math/BigInteger."<init>":(IJ)V | |
| 6: aload_0 | |
| 7: aload 4 | |
| 9: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 12: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(int, java.util.Random, org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: iload_1 | |
| 2: aload_2 | |
| 3: invokespecial #47; //Method java/math/BigInteger."<init>":(ILjava/util/Random;)V | |
| 6: aload_0 | |
| 7: aload_3 | |
| 8: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 11: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(int, byte[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: iload_1 | |
| 2: aload_2 | |
| 3: invokespecial #51; //Method java/math/BigInteger."<init>":(I[B)V | |
| 6: aload_0 | |
| 7: aload_3 | |
| 8: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 11: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(java.lang.String, org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: aload_1 | |
| 2: invokespecial #55; //Method java/math/BigInteger."<init>":(Ljava/lang/String;)V | |
| 5: aload_0 | |
| 6: aload_2 | |
| 7: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 10: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(java.lang.String, int, org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: aload_1 | |
| 2: iload_2 | |
| 3: invokespecial #59; //Method java/math/BigInteger."<init>":(Ljava/lang/String;I)V | |
| 6: aload_0 | |
| 7: aload_3 | |
| 8: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 11: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(java.math.BigInt, org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: aload_1 | |
| 2: invokespecial #63; //Method java/math/BigInteger."<init>":(Ljava/math/BigInt;)V | |
| 5: aload_0 | |
| 6: aload_2 | |
| 7: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 10: return | |
| public org.jruby.proxy.java.math.BigInteger$Proxy0(byte[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler); | |
| Code: | |
| 0: aload_0 | |
| 1: aload_1 | |
| 2: invokespecial #67; //Method java/math/BigInteger."<init>":([B)V | |
| 5: aload_0 | |
| 6: aload_2 | |
| 7: putfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 10: return | |
| public org.jruby.javasupport.proxy.JavaProxyClass ___getProxyClass(); | |
| Code: | |
| 0: getstatic #28; //Field __proxy_class:Lorg/jruby/javasupport/proxy/JavaProxyClass; | |
| 3: areturn | |
| public org.jruby.javasupport.proxy.JavaProxyInvocationHandler ___getInvocationHandler(); | |
| Code: | |
| 0: aload_0 | |
| 1: getfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 4: areturn | |
| public boolean equals(java.lang.Object); | |
| Code: | |
| 0: aload_0 | |
| 1: getfield #35; //Field __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| 4: dup | |
| 5: ifnonnull 14 | |
| 8: aload_0 | |
| 9: aload_1 | |
| 10: invokespecial #85; //Method java/math/BigInteger.equals:(Ljava/lang/Object;)Z | |
| 13: ireturn | |
| 14: aload_0 | |
| 15: getstatic #83; //Field __mth$equals$java_lang_Object:Lorg/jruby/javasupport/proxy/JavaProxyMethod; | |
| 18: iconst_1 | |
| 19: anewarray #87; //class java/lang/Object | |
| 22: dup | |
| 23: iconst_0 | |
| 24: aload_1 | |
| 25: aastore | |
| 26: invokeinterface #93, 4; //InterfaceMethod org/jruby/javasupport/proxy/JavaProxyInvocationHandler.invoke:(Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyMethod;[Ljava/lang/Object;)Ljava/lang/Object; | |
| 31: checkcast #95; //class java/lang/Boolean | |
| 34: invokevirtual #99; //Method java/lang/Boolean.booleanValue:()Z | |
| 37: ireturn | |
| 38: athrow | |
| 39: astore_2 | |
| 40: new #105; //class java/lang/reflect/UndeclaredThrowableException | |
| 43: dup | |
| 44: aload_2 | |
| 45: invokespecial #108; //Method java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V | |
| 48: athrow | |
| Exception table: | |
| from to target type | |
| 26 31 38 Class java/lang/Error | |
| 26 31 38 Class java/lang/RuntimeException | |
| 26 31 39 Class java/lang/Throwable | |
| public boolean __super$equals(java.lang.Object); | |
| Code: | |
| 0: aload_0 | |
| 1: aload_1 | |
| 2: invokespecial #85; //Method java/math/BigInteger.equals:(Ljava/lang/Object;)Z | |
| 5: ireturn | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| .class public final Lorg/jruby/proxy/java/math/BigInteger$Proxy1; | |
| .super Ljava/math/BigInteger; | |
| # interfaces | |
| .implements Lorg/jruby/javasupport/proxy/InternalJavaProxy; | |
| # static fields | |
| .field private static __mth$equals$java_lang_Object:Lorg/jruby/javasupport/proxy/JavaProxyMethod; | |
| .field private static __proxy_class:Lorg/jruby/javasupport/proxy/JavaProxyClass; | |
| # instance fields | |
| .field private __handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| # direct methods | |
| .method private static constructor <clinit>()V | |
| .registers 6 | |
| const-string v0, "org.jruby.proxy.java.math.BigInteger$Proxy1" | |
| invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; | |
| move-result-object v0 | |
| invoke-static {v0}, Lorg/jruby/javasupport/proxy/InternalJavaProxyHelper;->initProxyClass(Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyClass; | |
| move-result-object v0 | |
| move-object v5, v0 | |
| move-object v0, v5 | |
| move-object v1, v5 | |
| sput-object v1, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__proxy_class:Lorg/jruby/javasupport/proxy/JavaProxyClass; | |
| move-object v5, v0 | |
| move-object v0, v5 | |
| move-object v1, v5 | |
| const-string v2, "equals" | |
| const-string v3, "(Ljava/lang/Object;)Z" | |
| const/4 v4, 0x1 | |
| invoke-static {v1, v2, v3, v4}, Lorg/jruby/javasupport/proxy/InternalJavaProxyHelper;->initProxyMethod(Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/String;Ljava/lang/String;Z)Lorg/jruby/javasupport/proxy/JavaProxyMethod; | |
| move-result-object v1 | |
| sput-object v1, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__mth$equals$java_lang_Object:Lorg/jruby/javasupport/proxy/JavaProxyMethod; | |
| return-void | |
| .end method | |
| .method public constructor <init>(IILjava/util/Random;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 14 | |
| move-object v0, p0 | |
| move v1, p1 | |
| move v2, p2 | |
| move-object v3, p3 | |
| move-object v4, p4 | |
| move-object v5, v0 | |
| move v6, v1 | |
| move v7, v2 | |
| move-object v8, v3 | |
| invoke-direct {v5, v6, v7, v8}, Ljava/math/BigInteger;-><init>(IILjava/util/Random;)V | |
| move-object v5, v0 | |
| move-object v6, v4 | |
| iput-object v6, v5, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>(II[ILorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 14 | |
| move-object v0, p0 | |
| move v1, p1 | |
| move v2, p2 | |
| move-object v3, p3 | |
| move-object v4, p4 | |
| move-object v5, v0 | |
| move v6, v1 | |
| move v7, v2 | |
| move-object v8, v3 | |
| invoke-direct {v5, v6, v7, v8}, Ljava/math/BigInteger;-><init>(II[I)V | |
| move-object v5, v0 | |
| move-object v6, v4 | |
| iput-object v6, v5, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>(IJLorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 14 | |
| move-object v0, p0 | |
| move v1, p1 | |
| move-wide v2, p2 | |
| move-object v4, p4 | |
| move-object v5, v0 | |
| move v6, v1 | |
| move-wide v7, v2 | |
| invoke-direct {v5, v6, v7, v8}, Ljava/math/BigInteger;-><init>(IJ)V | |
| move-object v5, v0 | |
| move-object v6, v4 | |
| iput-object v6, v5, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>(ILjava/util/Random;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 11 | |
| move-object v0, p0 | |
| move v1, p1 | |
| move-object v2, p2 | |
| move-object v3, p3 | |
| move-object v4, v0 | |
| move v5, v1 | |
| move-object v6, v2 | |
| invoke-direct {v4, v5, v6}, Ljava/math/BigInteger;-><init>(ILjava/util/Random;)V | |
| move-object v4, v0 | |
| move-object v5, v3 | |
| iput-object v5, v4, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>(I[BLorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 11 | |
| move-object v0, p0 | |
| move v1, p1 | |
| move-object v2, p2 | |
| move-object v3, p3 | |
| move-object v4, v0 | |
| move v5, v1 | |
| move-object v6, v2 | |
| invoke-direct {v4, v5, v6}, Ljava/math/BigInteger;-><init>(I[B)V | |
| move-object v4, v0 | |
| move-object v5, v3 | |
| iput-object v5, v4, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>(Ljava/lang/String;ILorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 11 | |
| move-object v0, p0 | |
| move-object v1, p1 | |
| move v2, p2 | |
| move-object v3, p3 | |
| move-object v4, v0 | |
| move-object v5, v1 | |
| move v6, v2 | |
| invoke-direct {v4, v5, v6}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V | |
| move-object v4, v0 | |
| move-object v5, v3 | |
| iput-object v5, v4, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>(Ljava/lang/String;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 8 | |
| move-object v0, p0 | |
| move-object v1, p1 | |
| move-object v2, p2 | |
| move-object v3, v0 | |
| move-object v4, v1 | |
| invoke-direct {v3, v4}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;)V | |
| move-object v3, v0 | |
| move-object v4, v2 | |
| iput-object v4, v3, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>(Ljava/math/BigInt;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 8 | |
| move-object v0, p0 | |
| move-object v1, p1 | |
| move-object v2, p2 | |
| move-object v3, v0 | |
| move-object v4, v1 | |
| invoke-direct {v3, v4}, Ljava/math/BigInteger;-><init>(Ljava/math/BigInt;)V | |
| move-object v3, v0 | |
| move-object v4, v2 | |
| iput-object v4, v3, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| .method public constructor <init>([BLorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)V | |
| .registers 8 | |
| move-object v0, p0 | |
| move-object v1, p1 | |
| move-object v2, p2 | |
| move-object v3, v0 | |
| move-object v4, v1 | |
| invoke-direct {v3, v4}, Ljava/math/BigInteger;-><init>([B)V | |
| move-object v3, v0 | |
| move-object v4, v2 | |
| iput-object v4, v3, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| return-void | |
| .end method | |
| # virtual methods | |
| .method public ___getInvocationHandler()Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| .registers 3 | |
| move-object v0, p0 | |
| move-object v1, v0 | |
| iget-object v1, v1, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| move-object v0, v1 | |
| return-object v0 | |
| .end method | |
| .method public ___getProxyClass()Lorg/jruby/javasupport/proxy/JavaProxyClass; | |
| .registers 3 | |
| move-object v0, p0 | |
| sget-object v1, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__proxy_class:Lorg/jruby/javasupport/proxy/JavaProxyClass; | |
| move-object v0, v1 | |
| return-object v0 | |
| .end method | |
| .method public __super$equals(Ljava/lang/Object;)Z | |
| .registers 6 | |
| move-object v0, p0 | |
| move-object v1, p1 | |
| move-object v2, v0 | |
| move-object v3, v1 | |
| invoke-direct {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z | |
| move-result v2 | |
| move v0, v2 | |
| return v0 | |
| .end method | |
| .method public equals(Ljava/lang/Object;)Z | |
| .registers 13 | |
| move-object v0, p0 | |
| move-object v1, p1 | |
| move-object v3, v0 | |
| iget-object v3, v3, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__handler:Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler; | |
| move-object v10, v3 | |
| move-object v3, v10 | |
| move-object v4, v10 | |
| if-nez v4, :cond_12 | |
| move-object v4, v0 | |
| move-object v5, v1 | |
| invoke-direct {v4, v5}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z | |
| move-result v4 | |
| move v0, v4 | |
| :goto_11 | |
| return v0 | |
| :cond_12 | |
| move-object v4, v0 | |
| sget-object v5, Lorg/jruby/proxy/java/math/BigInteger$Proxy1;->__mth$equals$java_lang_Object:Lorg/jruby/javasupport/proxy/JavaProxyMethod; | |
| const/4 v6, 0x1 | |
| new-array v6, v6, [Ljava/lang/Object; | |
| move-object v10, v6 | |
| move-object v6, v10 | |
| move-object v7, v10 | |
| const/4 v8, 0x0 | |
| move-object v9, v1 | |
| aput-object v9, v7, v8 | |
| :try_start_1f | |
| invoke-interface {v3, v4, v5, v6}, Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;->invoke(Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyMethod;[Ljava/lang/Object;)Ljava/lang/Object; | |
| :try_end_22 | |
| .catch Ljava/lang/Error; {:try_start_1f .. :try_end_22} :catch_2b | |
| .catch Ljava/lang/RuntimeException; {:try_start_1f .. :try_end_22} :catch_2b | |
| .catch Ljava/lang/Throwable; {:try_start_1f .. :try_end_22} :catch_2d | |
| move-result-object v3 | |
| check-cast v3, Ljava/lang/Boolean; | |
| invoke-virtual {v3}, Ljava/lang/Boolean;->booleanValue()Z | |
| move-result v3 | |
| move v0, v3 | |
| goto :goto_11 | |
| :catch_2b | |
| move-exception v3 | |
| throw v3 | |
| :catch_2d | |
| move-exception v3 | |
| move-object v2, v3 | |
| new-instance v3, Ljava/lang/reflect/UndeclaredThrowableException; | |
| move-object v10, v3 | |
| move-object v3, v10 | |
| move-object v4, v10 | |
| move-object v5, v2 | |
| invoke-direct {v4, v5}, Ljava/lang/reflect/UndeclaredThrowableException;-><init>(Ljava/lang/Throwable;)V | |
| throw v3 | |
| .end method |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class MyBigInt < java.math.BigInteger | |
| def equals(x) | |
| rv = super(x) | |
| rv | |
| end | |
| end | |
| b = MyBigInt.new("10") | |
| b.equals(10) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment