Skip to content

Instantly share code, notes, and snippets.

@julianpeeters
Created July 16, 2013 18:44
Show Gist options
  • Save julianpeeters/6011432 to your computer and use it in GitHub Desktop.
Save julianpeeters/6011432 to your computer and use it in GitHub Desktop.
Example of a parsed(not pickled) Scala signature.
Some(ScalaSig version 5.0
0: ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None)
1: MyRecord
2: models
3: models
4: NoSymbol
5: ClassInfoType(ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None),List(TypeRefType(ThisType(java.lang),java.lang.Object,List()), TypeRefType(ThisType(scala),scala.ScalaObject,List()), TypeRefType(ThisType(scala),scala.Product,List()), TypeRefType(ThisType(scala),scala.Serializable,List())))
6: TypeRefType(ThisType(java.lang),java.lang.Object,List())
7: ThisType(java.lang)
8: java.lang
9: lang
10: java
11: java
12: java.lang.Object
13: Object
14: TypeRefType(ThisType(scala),scala.ScalaObject,List())
15: ThisType(scala)
16: scala
17: scala
18: scala.ScalaObject
19: ScalaObject
20: TypeRefType(ThisType(scala),scala.Product,List())
21: scala.Product
22: Product
23: TypeRefType(ThisType(scala),scala.Serializable,List())
24: scala.Serializable
25: Serializable
26: MethodSymbol(x, owner=0, flags=29400200, info=28 ,None)
27: x
28: NullaryMethodType(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List()))
29: TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List())
30: SingleType(ThisType(scala),scala.Predef)
31: scala.Predef
32: Predef
33: scala.Predef.String
34: String
35: scala.Predef
36: MethodSymbol(x , owner=0, flags=21080004, info=29 ,None)
37: x
38: MethodSymbol(<init>, owner=0, flags=200, info=40 ,None)
39: <init>
40: MethodType(TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None),List()),List(MethodSymbol(x, owner=38, flags=2000, info=29 ,None)))
41: TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None),List())
42: ThisType(models)
43: MethodSymbol(x, owner=38, flags=2000, info=29 ,None)
44: MethodSymbol(copy, owner=0, flags=200200, info=46 ,None)
45: copy
46: MethodType(TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None),List()),List(MethodSymbol(x, owner=44, flags=2002000, info=29 ,None)))
47: MethodSymbol(x, owner=44, flags=2002000, info=29 ,None)
48: MethodSymbol(copy$default$1, owner=0, flags=2200200, info=50 ,None)
49: copy$default$1
50: NullaryMethodType(AnnotatedType(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List()),List(52)))
51: AnnotatedType(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List()),List(52))
52: AnnotInfo(List(53))
53: TypeRefType(ThisType(scala.annotation.unchecked),scala.annotation.unchecked.uncheckedVariance,List())
54: ThisType(scala.annotation.unchecked)
55: scala.annotation.unchecked
56: unchecked
57: scala.annotation
58: annotation
59: scala.annotation.unchecked.uncheckedVariance
60: uncheckedVariance
61: MethodSymbol(hashCode, owner=0, flags=220, info=63 ,None)
62: hashCode
63: MethodType(TypeRefType(ThisType(scala),scala.Int,List()),List())
64: TypeRefType(ThisType(scala),scala.Int,List())
65: scala.Int
66: Int
67: MethodSymbol(toString, owner=0, flags=220, info=69 ,None)
68: toString
69: MethodType(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List()),List())
70: MethodSymbol(equals, owner=0, flags=220, info=72 ,None)
71: equals
72: MethodType(TypeRefType(ThisType(scala),scala.Boolean,List()),List(MethodSymbol(x$1, owner=70, flags=202000, info=78 ,None)))
73: TypeRefType(ThisType(scala),scala.Boolean,List())
74: scala.Boolean
75: Boolean
76: MethodSymbol(x$1, owner=70, flags=202000, info=78 ,None)
77: x$1
78: TypeRefType(ThisType(scala),scala.Any,List())
79: scala.Any
80: Any
81: MethodSymbol(productPrefix, owner=0, flags=220, info=83 ,None)
82: productPrefix
83: NullaryMethodType(TypeRefType(ThisType(java.lang),java.lang.String,List()))
84: TypeRefType(ThisType(java.lang),java.lang.String,List())
85: java.lang.String
86: MethodSymbol(productArity, owner=0, flags=220, info=88 ,None)
87: productArity
88: NullaryMethodType(TypeRefType(ThisType(scala),scala.Int,List()))
89: MethodSymbol(productElement, owner=0, flags=220, info=91 ,None)
90: productElement
91: MethodType(TypeRefType(ThisType(scala),scala.Any,List()),List(MethodSymbol(x$1, owner=89, flags=202000, info=64 ,None)))
92: MethodSymbol(x$1, owner=89, flags=202000, info=64 ,None)
93: MethodSymbol(canEqual, owner=0, flags=220, info=95 ,None)
94: canEqual
95: MethodType(TypeRefType(ThisType(scala),scala.Boolean,List()),List(MethodSymbol(x$1, owner=93, flags=202000, info=78 ,None)))
96: MethodSymbol(x$1, owner=93, flags=202000, info=78 ,None)
97: ObjectSymbol(MyRecord, owner=models, flags=200402, info=99 )
98: MyRecord
99: TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=200402, info=101 ,None),List())
100: ClassSymbol(MyRecord, owner=models, flags=200402, info=101 ,None)
101: ClassInfoType(ClassSymbol(MyRecord, owner=models, flags=200402, info=101 ,None),List(TypeRefType(ThisType(scala.runtime),scala.runtime.AbstractFunction1,List(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List()), TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None),List()))), TypeRefType(ThisType(scala),scala.ScalaObject,List()), TypeRefType(ThisType(scala),scala.Serializable,List())))
102: TypeRefType(ThisType(scala.runtime),scala.runtime.AbstractFunction1,List(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List()), TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None),List())))
103: ThisType(scala.runtime)
104: scala.runtime
105: runtime
106: scala.runtime.AbstractFunction1
107: AbstractFunction1
108: MethodSymbol(<init>, owner=100, flags=200, info=109 ,None)
109: MethodType(TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=200402, info=101 ,None),List()),List())
110: MethodSymbol(toString, owner=100, flags=222, info=111 ,None)
111: MethodType(TypeRefType(ThisType(java.lang),java.lang.String,List()),List())
112: MethodSymbol(apply, owner=100, flags=200240, info=114 ,None)
113: apply
114: MethodType(TypeRefType(ThisType(models),ClassSymbol(MyRecord, owner=models, flags=40, info=5 ,None),List()),List(MethodSymbol(x, owner=112, flags=2000, info=29 ,None)))
115: MethodSymbol(x, owner=112, flags=2000, info=29 ,None)
116: MethodSymbol(unapply, owner=100, flags=200240, info=118 ,None)
117: unapply
118: MethodType(TypeRefType(ThisType(scala),scala.Option,List(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List()))),List(MethodSymbol(x$0, owner=116, flags=2000, info=41 ,None)))
119: TypeRefType(ThisType(scala),scala.Option,List(TypeRefType(SingleType(ThisType(scala),scala.Predef),scala.Predef.String,List())))
120: scala.Option
121: Option
122: MethodSymbol(x$0, owner=116, flags=2000, info=41 ,None)
123: x$0
124: MethodSymbol(readResolve, owner=100, flags=208, info=126 ,None)
125: readResolve
126: MethodType(TypeRefType(ThisType(java.lang),java.lang.Object,List()),List()))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment