~ubuntu-branches/debian/sid/scala/sid

« back to all changes in this revision

Viewing changes to src/library/scala/reflect/generic/PickleFormat.scala

  • Committer: Package Import Robot
  • Author(s): Emmanuel Bourg, Mehdi Dogguy, Lucas Satabin, Frank S. Thomas, Emmanuel Bourg
  • Date: 2015-06-05 23:52:59 UTC
  • mfrom: (1.2.11)
  • Revision ID: package-import@ubuntu.com-20150605235259-wk00vgk83dh8o19g
Tags: 2.10.5-1
* Team upload.

[ Mehdi Dogguy ]
* New upstream release (Closes: #744278).

[ Lucas Satabin ]
* Update patches
* Update the clean target
* Update paths of elements to install
* Update watch file

[ Frank S. Thomas ]
* Remove myself from Uploaders.

[ Emmanuel Bourg ]
* The package has been adopted by the Java Team (Closes: #754935)
* Patched the build to avoid downloading libraries from the Internet
* Replaced the minified JavaScript files with unobfuscated ones
* No longer build scala-partest.jar until diffutils is packaged or replaced
* debian/watch: Fixed the versions matched (x.y.z instead of x.y.z..z)
* debian/rules:
  - Added the missing get-orig-source target (Closes: #724704)
  - Improved the clean target
* debian/control:
  - Build depend on scala (>= 2.10) and bnd
  - Use canonical URLs for the Vcs-* fields
  - Standards-Version updated to 3.9.6 (no changes)
* Switch to debhelper level 9

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
package scala.reflect
2
 
package generic
3
 
 
4
 
/** This object provides constants for pickling attributes.
5
 
 *
6
 
 *  If you extend the format, be sure to increase the
7
 
 *  version minor number.
8
 
 *
9
 
 *  @author Martin Odersky
10
 
 *  @version 1.0
11
 
 */
12
 
@deprecated("scala.reflect.generic will be removed", "2.9.1") object PickleFormat {
13
 
 
14
 
/***************************************************
15
 
 * Symbol table attribute format:
16
 
 *   Symtab         = nentries_Nat {Entry}
17
 
 *   Entry          = 1 TERMNAME len_Nat NameInfo
18
 
 *                  | 2 TYPENAME len_Nat NameInfo
19
 
 *                  | 3 NONEsym len_Nat
20
 
 *                  | 4 TYPEsym len_Nat SymbolInfo
21
 
 *                  | 5 ALIASsym len_Nat SymbolInfo
22
 
 *                  | 6 CLASSsym len_Nat SymbolInfo [thistype_Ref]
23
 
 *                  | 7 MODULEsym len_Nat SymbolInfo
24
 
 *                  | 8 VALsym len_Nat [defaultGetter_Ref /* no longer needed*/] SymbolInfo [alias_Ref]
25
 
 *                  | 9 EXTref len_Nat name_Ref [owner_Ref]
26
 
 *                  | 10 EXTMODCLASSref len_Nat name_Ref [owner_Ref]
27
 
 *                  | 11 NOtpe len_Nat
28
 
 *                  | 12 NOPREFIXtpe len_Nat
29
 
 *                  | 13 THIStpe len_Nat sym_Ref
30
 
 *                  | 14 SINGLEtpe len_Nat type_Ref sym_Ref
31
 
 *                  | 15 CONSTANTtpe len_Nat constant_Ref
32
 
 *                  | 16 TYPEREFtpe len_Nat type_Ref sym_Ref {targ_Ref}
33
 
 *                  | 17 TYPEBOUNDStpe len_Nat tpe_Ref tpe_Ref
34
 
 *                  | 18 REFINEDtpe len_Nat classsym_Ref {tpe_Ref}
35
 
 *                  | 19 CLASSINFOtpe len_Nat classsym_Ref {tpe_Ref}
36
 
 *                  | 20 METHODtpe len_Nat tpe_Ref {sym_Ref}
37
 
 *                  | 21 POLYTtpe len_Nat tpe_Ref {sym_Ref}
38
 
 *                  | 22 IMPLICITMETHODtpe len_Nat tpe_Ref {sym_Ref} /* no longer needed */
39
 
 *                  | 52 SUPERtpe len_Nat tpe_Ref tpe_Ref
40
 
 *                  | 24 LITERALunit len_Nat
41
 
 *                  | 25 LITERALboolean len_Nat value_Long
42
 
 *                  | 26 LITERALbyte len_Nat value_Long
43
 
 *                  | 27 LITERALshort len_Nat value_Long
44
 
 *                  | 28 LITERALchar len_Nat value_Long
45
 
 *                  | 29 LITERALint len_Nat value_Long
46
 
 *                  | 30 LITERALlong len_Nat value_Long
47
 
 *                  | 31 LITERALfloat len_Nat value_Long
48
 
 *                  | 32 LITERALdouble len_Nat value_Long
49
 
 *                  | 33 LITERALstring len_Nat name_Ref
50
 
 *                  | 34 LITERALnull len_Nat
51
 
 *                  | 35 LITERALclass len_Nat tpe_Ref
52
 
 *                  | 36 LITERALenum len_Nat sym_Ref
53
 
 *                  | 40 SYMANNOT len_Nat sym_Ref AnnotInfoBody
54
 
 *                  | 41 CHILDREN len_Nat sym_Ref {sym_Ref}
55
 
 *                  | 42 ANNOTATEDtpe len_Nat [sym_Ref /* no longer needed */] tpe_Ref {annotinfo_Ref}
56
 
 *                  | 43 ANNOTINFO len_Nat AnnotInfoBody
57
 
 *                  | 44 ANNOTARGARRAY len_Nat {constAnnotArg_Ref}
58
 
 *                  | 47 DEBRUIJNINDEXtpe len_Nat level_Nat index_Nat
59
 
 *                  | 48 EXISTENTIALtpe len_Nat type_Ref {symbol_Ref}
60
 
 *                  | 49 TREE len_Nat 1 EMPTYtree
61
 
 *                  | 49 TREE len_Nat 2 PACKAGEtree type_Ref sym_Ref mods_Ref name_Ref {tree_Ref}
62
 
 *                  | 49 TREE len_Nat 3 CLASStree type_Ref sym_Ref mods_Ref name_Ref tree_Ref {tree_Ref}
63
 
 *                  | 49 TREE len_Nat 4 MODULEtree type_Ref sym_Ref mods_Ref name_Ref tree_Ref
64
 
 *                  | 49 TREE len_Nat 5 VALDEFtree type_Ref sym_Ref mods_Ref name_Ref tree_Ref tree_Ref
65
 
 *                  | 49 TREE len_Nat 6 DEFDEFtree type_Ref sym_Ref mods_Ref name_Ref numtparams_Nat {tree_Ref} numparamss_Nat {numparams_Nat {tree_Ref}} tree_Ref tree_Ref
66
 
 *                  | 49 TREE len_Nat 7 TYPEDEFtree type_Ref sym_Ref mods_Ref name_Ref tree_Ref {tree_Ref}
67
 
 *                  | 49 TREE len_Nat 8 LABELtree type_Ref sym_Ref tree_Ref {tree_Ref}
68
 
 *                  | 49 TREE len_Nat 9 IMPORTtree type_Ref sym_Ref tree_Ref {name_Ref name_Ref}
69
 
 *                  | 49 TREE len_Nat 11 DOCDEFtree type_Ref sym_Ref string_Ref tree_Ref
70
 
 *                  | 49 TREE len_Nat 12 TEMPLATEtree type_Ref sym_Ref numparents_Nat {tree_Ref} tree_Ref {tree_Ref}
71
 
 *                  | 49 TREE len_Nat 13 BLOCKtree type_Ref tree_Ref {tree_Ref}
72
 
 *                  | 49 TREE len_Nat 14 CASEtree type_Ref tree_Ref tree_Ref tree_Ref
73
 
 *                  | 49 TREE len_Nat 15 SEQUENCEtree type_Ref {tree_Ref}
74
 
 *                  | 49 TREE len_Nat 16 ALTERNATIVEtree type_Ref {tree_Ref}
75
 
 *                  | 49 TREE len_Nat 17 STARtree type_Ref {tree_Ref}
76
 
 *                  | 49 TREE len_Nat 18 BINDtree type_Ref sym_Ref name_Ref tree_Ref
77
 
 *                  | 49 TREE len_Nat 19 UNAPPLYtree type_Ref tree_Ref {tree_Ref}
78
 
 *                  | 49 TREE len_Nat 20 ARRAYVALUEtree type_Ref tree_Ref {tree_Ref}
79
 
 *                  | 49 TREE len_Nat 21 FUNCTIONtree type_Ref sym_Ref tree_Ref {tree_Ref}
80
 
 *                  | 49 TREE len_Nat 22 ASSIGNtree type_Ref tree_Ref tree_Ref
81
 
 *                  | 49 TREE len_Nat 23 IFtree type_Ref tree_Ref tree_Ref tree_Ref
82
 
 *                  | 49 TREE len_Nat 24 MATCHtree type_Ref tree_Ref {tree_Ref}
83
 
 *                  | 49 TREE len_Nat 25 RETURNtree type_Ref sym_Ref tree_Ref
84
 
 *                  | 49 TREE len_Nat 26 TREtree type_Ref tree_Ref tree_Ref {tree_Ref}
85
 
 *                  | 49 TREE len_Nat 27 THROWtree type_Ref tree_Ref
86
 
 *                  | 49 TREE len_Nat 28 NEWtree type_Ref tree_Ref
87
 
 *                  | 49 TREE len_Nat 29 TYPEDtree type_Ref tree_Ref tree_Ref
88
 
 *                  | 49 TREE len_Nat 30 TYPEAPPLYtree type_Ref tree_Ref {tree_Ref}
89
 
 *                  | 49 TREE len_Nat 31 APPLYtree type_Ref tree_Ref {tree_Ref}
90
 
 *                  | 49 TREE len_Nat 32 APPLYDYNAMICtree type_Ref sym_Ref tree_Ref {tree_Ref}
91
 
 *                  | 49 TREE len_Nat 33 SUPERtree type_Ref sym_Ref tree_Ref name_Ref
92
 
 *                  | 49 TREE len_Nat 34 THIStree type_Ref sym_Ref  name_Ref
93
 
 *                  | 49 TREE len_Nat 35 SELECTtree type_Ref sym_Ref tree_Ref name_Ref
94
 
 *                  | 49 TREE len_Nat 36 IDENTtree type_Ref sym_Ref name_Ref
95
 
 *                  | 49 TREE len_Nat 37 LITERALtree type_Ref constant_Ref
96
 
 *                  | 49 TREE len_Nat 38 TYPEtree type_Ref
97
 
 *                  | 49 TREE len_Nat 39 ANNOTATEDtree type_Ref tree_Ref tree_Ref
98
 
 *                  | 49 TREE len_Nat 40 SINGLETONTYPEtree type_Ref tree_Ref
99
 
 *                  | 49 TREE len_Nat 41 SELECTFROMTYPEtree type_Ref tree_Ref name_Ref
100
 
 *                  | 49 TREE len_Nat 42 COMPOUNDTYPEtree type_Ref tree_Ref
101
 
 *                  | 49 TREE len_Nat 43 APPLIEDTYPEtree type_Ref tree_Ref {tree_Ref}
102
 
 *                  | 49 TREE len_Nat 44 TYPEBOUNDStree type_Ref tree_Ref tree_Ref
103
 
 *                  | 49 TREE len_Nat 45 EXISTENTIALTYPEtree type_Ref tree_Ref {tree_Ref}
104
 
 *                  | 50 MODIFIERS len_Nat flags_Long privateWithin_Ref
105
 
 *   SymbolInfo     = name_Ref owner_Ref flags_LongNat [privateWithin_Ref] info_Ref
106
 
 *   NameInfo       = <character sequence of length len_Nat in Utf8 format>
107
 
 *   NumInfo        = <len_Nat-byte signed number in big endian format>
108
 
 *   Ref            = Nat
109
 
 *   AnnotInfoBody  = info_Ref {annotArg_Ref} {name_Ref constAnnotArg_Ref}
110
 
 *   AnnotArg       = Tree | Constant
111
 
 *   ConstAnnotArg  = Constant | AnnotInfo | AnnotArgArray
112
 
 *
113
 
 *   len is remaining length after `len'.
114
 
 */
115
 
  val MajorVersion = 5
116
 
  val MinorVersion = 0
117
 
  def VersionString = "V" + MajorVersion + "." + MinorVersion
118
 
 
119
 
  final val TERMname = 1
120
 
  final val TYPEname = 2
121
 
  final val NONEsym = 3
122
 
  final val TYPEsym = 4
123
 
  final val ALIASsym = 5
124
 
  final val CLASSsym = 6
125
 
  final val MODULEsym = 7
126
 
  final val VALsym = 8
127
 
  final val EXTref = 9
128
 
  final val EXTMODCLASSref = 10
129
 
  final val NOtpe = 11
130
 
  final val NOPREFIXtpe = 12
131
 
  final val THIStpe = 13
132
 
  final val SINGLEtpe = 14
133
 
  final val CONSTANTtpe = 15
134
 
  final val TYPEREFtpe = 16
135
 
  final val TYPEBOUNDStpe = 17
136
 
  final val REFINEDtpe = 18
137
 
  final val CLASSINFOtpe = 19
138
 
  final val METHODtpe = 20
139
 
  final val POLYtpe = 21
140
 
  final val IMPLICITMETHODtpe = 22    // no longer generated
141
 
 
142
 
  final val LITERAL = 23   // base line for literals
143
 
  final val LITERALunit = 24
144
 
  final val LITERALboolean = 25
145
 
  final val LITERALbyte = 26
146
 
  final val LITERALshort = 27
147
 
  final val LITERALchar = 28
148
 
  final val LITERALint = 29
149
 
  final val LITERALlong = 30
150
 
  final val LITERALfloat = 31
151
 
  final val LITERALdouble = 32
152
 
  final val LITERALstring = 33
153
 
  final val LITERALnull = 34
154
 
  final val LITERALclass = 35
155
 
  final val LITERALenum = 36
156
 
  final val SYMANNOT = 40
157
 
  final val CHILDREN = 41
158
 
  final val ANNOTATEDtpe = 42
159
 
  final val ANNOTINFO = 43
160
 
  final val ANNOTARGARRAY = 44
161
 
 
162
 
  final val SUPERtpe = 46
163
 
  final val DEBRUIJNINDEXtpe = 47
164
 
  final val EXISTENTIALtpe = 48
165
 
 
166
 
  final val TREE = 49      // prefix code that means a tree is coming
167
 
    final val EMPTYtree = 1
168
 
    final val PACKAGEtree = 2
169
 
    final val CLASStree = 3
170
 
    final val MODULEtree = 4
171
 
    final val VALDEFtree = 5
172
 
    final val DEFDEFtree = 6
173
 
    final val TYPEDEFtree = 7
174
 
    final val LABELtree = 8
175
 
    final val IMPORTtree = 9
176
 
    final val DOCDEFtree = 11
177
 
    final val TEMPLATEtree = 12
178
 
    final val BLOCKtree = 13
179
 
    final val CASEtree = 14
180
 
    // This node type has been removed.
181
 
    // final val SEQUENCEtree = 15
182
 
    final val ALTERNATIVEtree = 16
183
 
    final val STARtree = 17
184
 
    final val BINDtree = 18
185
 
    final val UNAPPLYtree = 19
186
 
    final val ARRAYVALUEtree = 20
187
 
    final val FUNCTIONtree = 21
188
 
    final val ASSIGNtree = 22
189
 
    final val IFtree = 23
190
 
    final val MATCHtree = 24
191
 
    final val RETURNtree = 25
192
 
    final val TREtree = 26
193
 
    final val THROWtree = 27
194
 
    final val NEWtree = 28
195
 
    final val TYPEDtree = 29
196
 
    final val TYPEAPPLYtree = 30
197
 
    final val APPLYtree = 31
198
 
    final val APPLYDYNAMICtree = 32
199
 
    final val SUPERtree = 33
200
 
    final val THIStree = 34
201
 
    final val SELECTtree = 35
202
 
    final val IDENTtree = 36
203
 
    final val LITERALtree = 37
204
 
    final val TYPEtree = 38
205
 
    final val ANNOTATEDtree = 39
206
 
    final val SINGLETONTYPEtree = 40
207
 
    final val SELECTFROMTYPEtree = 41
208
 
    final val COMPOUNDTYPEtree = 42
209
 
    final val APPLIEDTYPEtree = 43
210
 
    final val TYPEBOUNDStree = 44
211
 
    final val EXISTENTIALTYPEtree = 45
212
 
 
213
 
  final val MODIFIERS = 50
214
 
 
215
 
  final val firstSymTag = NONEsym
216
 
  final val lastSymTag = VALsym
217
 
  final val lastExtSymTag = EXTMODCLASSref
218
 
 
219
 
 
220
 
  //The following two are no longer accurate, because ANNOTATEDtpe,
221
 
  //SUPERtpe, ... are not in the same range as the other types
222
 
  //final val firstTypeTag = NOtpe
223
 
  //final val lastTypeTag = POLYtpe
224
 
}