Last active
December 19, 2015 20:49
-
-
Save julianpeeters/6015694 to your computer and use it in GitHub Desktop.
scala signature of {case class MyRecord()}, ,a base for signature for investigating how to signatures differ depending on the members of a class. best not o look at the numbers, as the gist has been cut and pasted to show the basic structure of a scala sig only.
This file contains 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
ScalaSig version 5.0 | |
0: ClassSymbol(MyRecordA, owner=<empty>, flags=40, info=5 ,None) | |
1: MyRecordA | |
2: <empty> | |
3: <empty> | |
4: NoSymbol | |
5: ClassInfoType(ClassSymbol(MyRecordA, owner=<empty>, flags=40, info=5 ,None),List(TypeRefType(ThisType(scala),scala.AnyRef,List()), TypeRefType(ThisType(scala),scala.Product,List()), TypeRefType(ThisType(scala),scala.Serializable,List()))) | |
6: TypeRefType(ThisType(scala),scala.AnyRef,List()) | |
7: ThisType(scala) | |
8: scala | |
9: scala | |
10: scala.AnyRef | |
11: AnyRef | |
12: TypeRefType(ThisType(scala),scala.Product,List()) | |
13: scala.Product | |
14: Product | |
15: TypeRefType(ThisType(scala),scala.Serializable,List()) | |
16: scala.Serializable | |
17: Serializable | |
//Begin member definition as if MyRecord(x: Byte) | |
18: MethodSymbol(x, owner=0, flags=29400200, info=20 ,None) | |
19: x | |
20: NullaryMethodType(TypeRefType(ThisType(scala),scala.Byte,List())) | |
//Block not for use with MyRecord(x: AnyRef) | |
21: TypeRefType(ThisType(scala),scala.Byte,List()) | |
// Begin Inner Block //Variable Types below, please fill in with your type. see list of representations | |
22: scala.Byte | |
23: Byte | |
//end Inner Block - Nested types go in sequence. If same type, use TypeRefType again, but there is no need for 2nd Inner Block | |
//end Block not for use with MyRecord(x: AnyRef) | |
24: MethodSymbol(x , owner=0, flags=21080004, info=21 ,None) | |
25: x | |
//end member def. | |
18: MethodSymbol(<init>, owner=0, flags=200, info=20 ,None) | |
19: <init> | |
20: MethodType(TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordA, owner=<empty>, flags=40, info=5 ,None),List()),List()) | |
21: TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordA, owner=<empty>, flags=40, info=5 ,None),List()) | |
//Block not for use with MyRecord(x: customTypes) | |
22: ThisType(<empty>) | |
//end lock not for use with MyRecord(x: customTypes) | |
//Begin member definition as if MyRecord(x: Byte) | |
31: MethodSymbol(x, owner=26, flags=2000, info=21 ,None) | |
//end member def. | |
23: MethodSymbol(copy, owner=0, flags=200200, info=20 ,None) | |
24: copy | |
//Begin member definition as if MyRecord(x: Byte) | |
34: MethodType(TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordB, owner=<empty>, flags=40, info=5 ,None),List()),List(MethodSymbol(x, owner=32, flags=2002000, info=21 ,None))) | |
35: MethodSymbol(x, owner=32, flags=2002000, info=21 ,None) | |
36: MethodSymbol(copy$default$1, owner=0, flags=2200200, info=38 ,None) | |
37: copy$default$1 | |
38: NullaryMethodType(AnnotatedType(TypeRefType(ThisType(scala),scala.Byte,List()),List(40))) | |
39: AnnotatedType(TypeRefType(ThisType(scala),scala.Byte,List()),List(40)) | |
40: AnnotInfo(List(41)) | |
41: TypeRefType(ThisType(scala.annotation.unchecked),scala.annotation.unchecked.uncheckedVariance,List()) | |
42: ThisType(scala.annotation.unchecked) | |
43: scala.annotation.unchecked | |
44: unchecked | |
45: scala.annotation | |
46: annotation | |
47: scala.annotation.unchecked.uncheckedVariance | |
48: uncheckedVariance | |
//end member def. | |
25: MethodSymbol(productPrefix, owner=0, flags=200220, info=27 ,None) | |
26: productPrefix | |
27: NullaryMethodType(TypeRefType(ThisType(java.lang),java.lang.String,List())) | |
28: TypeRefType(ThisType(java.lang),java.lang.String,List()) | |
//Block not for use with MyRecord(x: Object), or generics[Object] | |
29: ThisType(java.lang) | |
30: java.lang | |
31: lang | |
32: java | |
33: java | |
//end Block not for use with MyRecord(x: Object), or generics[Object] | |
34: java.lang.String | |
//Block not for use with MyRecord(x: String), or generics[String] | |
35: String | |
//end Block not for use with MyRecord(x: String), or generics[String] | |
36: MethodSymbol(productArity, owner=0, flags=200200, info=38 ,None) | |
37: productArity | |
//Block not for use with MyRecord(x: Int) | |
38: NullaryMethodType(TypeRefType(ThisType(scala),scala.Int,List())) | |
//end Block not for use with MyRecord(x: Int) | |
//Inner Block not for use with generics[int] | |
39: TypeRefType(ThisType(scala),scala.Int,List()) | |
40: scala.Int | |
41: Int | |
//end Block not for use with generics[Int] | |
//end Block not for use with MyRecord(x: Int) | |
42: MethodSymbol(productElement, owner=0, flags=200200, info=44 ,None) | |
43: productElement | |
44: MethodType(TypeRefType(ThisType(scala),scala.Any,List()),List(MethodSymbol(x$1, owner=42, flags=202000, info=39 ,None))) | |
//Block not for use with MyRecord(x: Any), or generics[Any] | |
45: TypeRefType(ThisType(scala),scala.Any,List()) | |
46: scala.Any | |
47: Any | |
//end Block not for use with MyRecord(x: Any), or generics[Any] | |
48: MethodSymbol(x$1, owner=42, flags=202000, info=39 ,None) | |
49: x$1 | |
50: MethodSymbol(productIterator, owner=0, flags=200220, info=52 ,None) | |
51: productIterator | |
52: NullaryMethodType(TypeRefType(ThisType(scala.collection),scala.collection.Iterator,List(TypeRefType(ThisType(scala),scala.Any,List())))) | |
53: TypeRefType(ThisType(scala.collection),scala.collection.Iterator,List(TypeRefType(ThisType(scala),scala.Any,List()))) | |
54: ThisType(scala.collection) | |
55: scala.collection | |
56: collection | |
57: scala.collection.Iterator | |
58: Iterator | |
59: MethodSymbol(canEqual, owner=0, flags=200200, info=61 ,None) | |
60: canEqual | |
61: MethodType(TypeRefType(ThisType(scala),scala.Boolean,List()),List(MethodSymbol(x$1, owner=59, flags=202000, info=45 ,None))) | |
//Block not for use with MyRecord(x: Boolean), or generics[Boolean] | |
62: TypeRefType(ThisType(scala),scala.Boolean,List()) | |
63: scala.Boolean | |
64: Boolean | |
//end Block not for use with MyRecord(x: Boolean), or generics[Boolean] | |
65: MethodSymbol(x$1, owner=59, flags=202000, info=45 ,None) | |
66: MethodSymbol(hashCode, owner=0, flags=200220, info=68 ,None) | |
67: hashCode | |
68: MethodType(TypeRefType(ThisType(scala),scala.Int,List()),List()) | |
69: MethodSymbol(toString, owner=0, flags=200220, info=71 ,None) | |
70: toString | |
71: MethodType(TypeRefType(ThisType(java.lang),java.lang.String,List()),List()) | |
72: MethodSymbol(equals, owner=0, flags=200220, info=74 ,None) | |
73: equals | |
74: MethodType(TypeRefType(ThisType(scala),scala.Boolean,List()),List(MethodSymbol(x$1, owner=72, flags=202000, info=45 ,None))) | |
75: MethodSymbol(x$1, owner=72, flags=202000, info=45 ,None) | |
76: ObjectSymbol(MyRecordA, owner=<empty>, flags=200400, info=78 ) | |
77: MyRecordA | |
78: TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordA, owner=<empty>, flags=200400, info=80 ,None),List()) | |
79: ClassSymbol(MyRecordA, owner=<empty>, flags=200400, info=80 ,None) | |
80: ClassInfoType(ClassSymbol(MyRecordA, owner=<empty>, flags=200400, info=80 ,None),List(TypeRefType(ThisType(scala.runtime),scala.runtime.AbstractFunction0,List(TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordA, owner=<empty>, flags=40, info=5 ,None),List()))), TypeRefType(ThisType(scala),scala.Serializable,List()))) | |
81: TypeRefType(ThisType(scala.runtime),scala.runtime.AbstractFunction0,List(TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordA, owner=<empty>, flags=40, info=5 ,None),List()))) | |
82: ThisType(scala.runtime) | |
83: scala.runtime | |
84: runtime | |
85: scala.runtime.AbstractFunction0 | |
86: AbstractFunction0 | |
87: MethodSymbol(<init>, owner=79, flags=200, info=88 ,None) | |
88: MethodType(TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordA, owner=<empty>, flags=200400, info=80 ,None),List()),List()) | |
89: MethodSymbol(toString, owner=79, flags=200222, info=71 ,None) | |
90: MethodSymbol(apply, owner=79, flags=200240, info=20 ,None) | |
91: apply | |
//Begin member definition as if MyRecord(x: Byte) | |
116: MethodType(TypeRefType(ThisType(<empty>),ClassSymbol(MyRecordB, owner=<empty>, flags=40, info=5 ,None),List()),List(MethodSymbol(x, owner=114, flags=2000, info=21 ,None))) | |
117: MethodSymbol(x, owner=114, flags=2000, info=21 ,None) | |
//end member def. | |
92: MethodSymbol(unapply, owner=79, flags=200240, info=94 ,None) | |
93: unapply | |
94: MethodType(TypeRefType(ThisType(scala),scala.Boolean,List()),List(MethodSymbol(x$0, owner=92, flags=2000, info=21 ,None))) | |
121: TypeRefType(ThisType(scala),scala.Option,List(TypeRefType(ThisType(scala),scala.Byte,List()))) | |
//Block not for use with MyRecord(x: Option[]) | |
122: scala.Option | |
123: Option | |
//Block not for use with MyRecord(x: Option[]) | |
95: MethodSymbol(x$0, owner=92, flags=2000, info=21 ,None) | |
96: x$0 | |
97: MethodSymbol(readResolve, owner=79, flags=200204, info=99 ,None) | |
98: readResolve | |
99: MethodType(TypeRefType(ThisType(java.lang),java.lang.Object,List()),List()) | |
//Block not for use with MyRecord(x: Object), or (x: generics[Object]) | |
100: TypeRefType(ThisType(java.lang),java.lang.Object,List()) | |
101: java.lang.Object | |
102: Object |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment