Skip to content

Instantly share code, notes, and snippets.

@smarter
Created May 23, 2015 21:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smarter/054b4f342c37808794ab to your computer and use it in GitHub Desktop.
Save smarter/054b4f342c37808794ab to your computer and use it in GitHub Desktop.
Compiling Meter.scala with VC*Companion superclass
% javap -c Meter
Compiled from "Meter.scala"
public class Meter {
public static boolean canEqual(java.lang.Object);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: aload_0
4: invokevirtual #17 // Method Meter$.canEqual:(Ljava/lang/Object;)Z
7: ireturn
public static boolean $greater$colon$greater(scala.reflect.ClassTag);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: aload_0
4: invokevirtual #21 // Method Meter$.$greater$colon$greater:(Lscala/reflect/ClassTag;)Z
7: ireturn
public static boolean $less$colon$less(scala.reflect.ClassTag);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: aload_0
4: invokevirtual #24 // Method Meter$.$less$colon$less:(Lscala/reflect/ClassTag;)Z
7: ireturn
public static scala.reflect.ClassTag wrap();
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: invokevirtual #28 // Method Meter$.wrap:()Lscala/reflect/ClassTag;
6: areturn
public static scala.Option unapply(scala.runtime.BoxedUnit);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: aload_0
4: invokevirtual #32 // Method Meter$.unapply:(Lscala/runtime/BoxedUnit;)Lscala/Option;
7: areturn
public static scala.Option unapply(boolean);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #35 // Method Meter$.unapply:(Z)Lscala/Option;
7: areturn
public static scala.Option unapply(double);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: dload_0
4: invokevirtual #38 // Method Meter$.unapply:(D)Lscala/Option;
7: areturn
public static scala.Option unapply(float);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: fload_0
4: invokevirtual #41 // Method Meter$.unapply:(F)Lscala/Option;
7: areturn
public static scala.Option unapply(long);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: lload_0
4: invokevirtual #44 // Method Meter$.unapply:(J)Lscala/Option;
7: areturn
public static scala.Option unapply(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #47 // Method Meter$.unapply:(I)Lscala/Option;
7: areturn
public static scala.Option unapply(char);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #50 // Method Meter$.unapply:(C)Lscala/Option;
7: areturn
public static scala.Option unapply(short);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #53 // Method Meter$.unapply:(S)Lscala/Option;
7: areturn
public static scala.Option unapply(byte);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #56 // Method Meter$.unapply:(B)Lscala/Option;
7: areturn
public static scala.Option unapply(java.lang.Object);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: aload_0
4: invokevirtual #59 // Method Meter$.unapply:(Ljava/lang/Object;)Lscala/Option;
7: areturn
public static dotty.runtime.vc.VCDoubleCompanion classTag();
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: invokevirtual #63 // Method Meter$.classTag:()Ldotty/runtime/vc/VCDoubleCompanion;
6: areturn
public static int hashCode$extension(double);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: dload_0
4: invokevirtual #67 // Method Meter$.hashCode$extension:(D)I
7: ireturn
public static java.lang.Object[][][] newArray4(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #71 // Method Meter$.newArray4:(I)[[[Ljava/lang/Object;
7: areturn
public static double unbox(dotty.runtime.vc.VCDoublePrototype);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: aload_0
4: invokevirtual #75 // Method Meter$.unbox:(Ldotty/runtime/vc/VCDoublePrototype;)D
7: dreturn
public static java.lang.Object[] newArray2(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #79 // Method Meter$.newArray2:(I)[Ljava/lang/Object;
7: areturn
public static scala.reflect.ClassTag arrayManifest();
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: invokevirtual #82 // Method Meter$.arrayManifest:()Lscala/reflect/ClassTag;
6: areturn
public static double _1$extension(double);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: dload_0
4: invokevirtual #86 // Method Meter$._1$extension:(D)D
7: dreturn
public static dotty.runtime.vc.VCDoublePrototype[] newArray(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #90 // Method Meter$.newArray:(I)[Ldotty/runtime/vc/VCDoublePrototype;
7: areturn
public static java.lang.Object newArray(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #93 // Method Meter$.newArray:(I)Ljava/lang/Object;
7: areturn
public static scala.collection.mutable.WrappedArray newWrappedArray(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #97 // Method Meter$.newWrappedArray:(I)Lscala/collection/mutable/WrappedArray;
7: areturn
public static java.lang.Object[][] newArray3(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #101 // Method Meter$.newArray3:(I)[[Ljava/lang/Object;
7: areturn
public static java.lang.String toString$extension(double);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: dload_0
4: invokevirtual #105 // Method Meter$.toString$extension:(D)Ljava/lang/String;
7: areturn
public static scala.collection.mutable.ArrayBuilder newArrayBuilder();
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: invokevirtual #109 // Method Meter$.newArrayBuilder:()Lscala/collection/mutable/ArrayBuilder;
6: areturn
public static scala.collection.immutable.List typeArguments();
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: invokevirtual #113 // Method Meter$.typeArguments:()Lscala/collection/immutable/List;
6: areturn
public static java.lang.Object[][][][] newArray5(int);
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: iload_0
4: invokevirtual #117 // Method Meter$.newArray5:(I)[[[[Ljava/lang/Object;
7: areturn
public static java.lang.Class erasure();
Code:
0: getstatic #15 // Field Meter$.MODULE$:LMeter$;
3: invokevirtual #121 // Method Meter$.erasure:()Ljava/lang/Class;
6: areturn
public Meter(double);
Code:
0: aload_0
1: invokespecial #126 // Method java/lang/Object."<init>":()V
4: aload_0
5: dload_1
6: putfield #128 // Field underlying$$local:D
9: return
public double underlying();
Code:
0: aload_0
1: getfield #128 // Field underlying$$local:D
4: dreturn
}
class Meter(val underlying: Double) extends AnyVal
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment