pickleformat.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 245 行

SCALA
245
字号
/* NSC -- new Scala compiler * Copyright 2005-2006 LAMP/EPFL * @author  Martin Odersky */// $Id: PickleFormat.scala 13367 2007-11-28 05:17:14Z spoon $package scala.tools.nsc.symtab.classfile/** This object provides constants for pickling attributes. * *  If you extend the format, be sure to increase the *  version minor number. * *  @author Martin Odersky *  @version 1.0 */object PickleFormat {/*************************************************** * Symbol table attribute format: *   Symtab         = nentries_Nat {Entry} *   Entry          = 1 TERMNAME len_Nat NameInfo *                  | 2 TYPENAME len_Nat NameInfo *                  | 3 NONEsym len_Nat *                  | 4 TYPEsym len_Nat SymbolInfo *                  | 5 ALIASsym len_Nat SymbolInfo *                  | 6 CLASSsym len_Nat SymbolInfo [thistype_Ref] *                  | 7 MODULEsym len_Nat SymbolInfo *                  | 8 VALsym len_Nat SymbolInfo [alias_Ref] *                  | 9 EXTref len_Nat name_Ref [owner_Ref] *                  | 10 EXTMODCLASSref len_Nat name_Ref [owner_Ref] *                  | 11 NOtpe len_Nat *                  | 12 NOPREFIXtpe len_Nat *                  | 13 THIStpe len_Nat sym_Ref *                  | 14 SINGLEtpe len_Nat type_Ref sym_Ref *                  | 15 CONSTANTtpe len_Nat type_Ref constant_Ref *                  | 16 TYPEREFtpe len_Nat type_Ref sym_Ref {targ_Ref} *                  | 17 TYPEBOUNDStpe len_Nat tpe_Ref tpe_Ref *                  | 18 REFINEDtpe len_Nat classsym_Ref {tpe_Ref} *                  | 19 CLASSINFOtpe len_Nat classsym_Ref {tpe_Ref} *                  | 20 METHODtpe len_Nat tpe_Ref {tpe_Ref}  *                  | 21 POLYTtpe len_Nat tpe_Ref {sym_Ref}  *                  | 22 IMPLICITMETHODtpe len_Nat tpe_Ref {tpe_Ref} *                  | 24 LITERALunit len_Nat *                  | 25 LITERALboolean len_Nat value_Long *                  | 26 LITERALbyte len_Nat value_Long *                  | 27 LITERALshort len_Nat value_Long *                  | 28 LITERALchar len_Nat value_Long *                  | 29 LITERALint len_Nat value_Long *                  | 30 LITERALlong len_Nat value_Long *                  | 31 LITERALfloat len_Nat value_Long *                  | 32 LITERALdouble len_Nat value_Long *                  | 33 LITERALstring len_Nat name_Ref *                  | 34 LITERALnull len_Nat *                  | 35 LITERALclass len_Nat type_Ref *                  | 40 ATTRIBUTE len_Nat sym_Ref info_Ref {constant_Ref} {nameRef constantRef} *                  | 41 CHILDREN len_Nat sym_Ref {sym_Ref}  *                  | 42 ANNOTATEDtpe len_Nat tpe_Ref {attribtree_Ref} *                  | 51 ANNOTATEDWSELFtpe len_Nat tpe_Ref sym_Ref {attribtree_Ref} *                  | 43 ANNOTINFO attarg_Ref len_Nat attarg_Ref {constant_Ref attarg_Ref} *                  | 47 DEBRUIJNINDEXtpe len_Nat level_Nat index_Nat *                  | 48 EXISTENTIALtpe len_Nat type_Ref {symbol_Ref} *                  | 49 TREE len_Nat 1 EMPTYtree *                  | 49 TREE len_Nat 2 PACKAGEtree type_Ref sym_Ref mods_Ref name_Ref {tree_Ref} *                  | 49 TREE len_Nat 3 CLASStree type_Ref sym_Ref mods_Ref name_Ref tree_Ref {tree_Ref} *                  | 49 TREE len_Nat 4 MODULEtree type_Ref sym_Ref mods_Ref name_Ref tree_Ref *                  | 49 TREE len_Nat 5 VALDEFtree type_Ref sym_Ref mods_Ref name_Ref tree_Ref tree_Ref *                  | 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 *                  | 49 TREE len_Nat 7 TYPEDEFtree type_Ref sym_Ref mods_Ref name_Ref tree_Ref {tree_Ref} *                  | 49 TREE len_Nat 8 LABELtree type_Ref sym_Ref tree_Ref {tree_Ref} *                  | 49 TREE len_Nat 9 IMPORTtree type_Ref sym_Ref tree_Ref {name_Ref name_Ref} *                  | 49 TREE len_Nat 10 ANNOTATIONtree type_Ref sym_Ref tree_Ref {tree_Ref} *                  | 49 TREE len_Nat 11 DOCDEFtree type_Ref sym_Ref string_Ref tree_Ref *                  | 49 TREE len_Nat 12 TEMPLATEtree type_Ref sym_Ref numparents_Nat {tree_Ref} tree_Ref {tree_Ref} *                  | 49 TREE len_Nat 13 BLOCKtree type_Ref tree_Ref {tree_Ref} *                  | 49 TREE len_Nat 14 CASEtree type_Ref tree_Ref tree_Ref tree_Ref *                  | 49 TREE len_Nat 15 SEQUENCEtree type_Ref {tree_Ref} *                  | 49 TREE len_Nat 16 ALTERNATIVEtree type_Ref {tree_Ref} *                  | 49 TREE len_Nat 17 STARtree type_Ref {tree_Ref} *                  | 49 TREE len_Nat 18 BINDtree type_Ref sym_Ref name_Ref tree_Ref *                  | 49 TREE len_Nat 19 UNAPPLYtree type_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 20 ARRAYVALUEtree type_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 21 FUNCTIONtree type_Ref sym_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 22 ASSIGNtree type_Ref tree_Ref tree_Ref  *                  | 49 TREE len_Nat 23 IFtree type_Ref tree_Ref tree_Ref tree_Ref  *                  | 49 TREE len_Nat 24 MATCHtree type_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 25 RETURNtree type_Ref sym_Ref tree_Ref *                  | 49 TREE len_Nat 26 TREtree type_Ref tree_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 27 THROWtree type_Ref tree_Ref  *                  | 49 TREE len_Nat 28 NEWtree type_Ref tree_Ref  *                  | 49 TREE len_Nat 29 TYPEDtree type_Ref tree_Ref tree_Ref  *                  | 49 TREE len_Nat 30 TYPEAPPLYtree type_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 31 APPLYtree type_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 32 APPLYDYNAMICtree type_Ref sym_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 33 SUPERtree type_Ref sym_Ref tree_Ref name_Ref *                  | 49 TREE len_Nat 34 THIStree type_Ref sym_Ref  name_Ref *                  | 49 TREE len_Nat 35 SELECTtree type_Ref sym_Ref tree_Ref name_Ref *                  | 49 TREE len_Nat 36 IDENTtree type_Ref sym_Ref name_Ref *                  | 49 TREE len_Nat 37 LITERALtree type_Ref constant_Ref  *                  | 49 TREE len_Nat 38 TYPEtree type_Ref  *                  | 49 TREE len_Nat 39 ANNOTATEDtree type_Ref tree_Ref tree_Ref *                  | 49 TREE len_Nat 40 SINGLETONTYPEtree type_Ref tree_Ref  *                  | 49 TREE len_Nat 41 SELECTFROMTYPEtree type_Ref tree_Ref name_Ref  *                  | 49 TREE len_Nat 42 COMPOUNDTYPEtree type_Ref tree_Ref  *                  | 49 TREE len_Nat 43 APPLIEDTYPEtree type_Ref tree_Ref {tree_Ref}  *                  | 49 TREE len_Nat 44 TYPEBOUNDStree type_Ref tree_Ref tree_Ref *                  | 49 TREE len_Nat 45 EXISTENTIALTYPEtree type_Ref tree_Ref {tree_Ref}  *                  | 50 MODIFIERS len_Nat flags_Long privateWithin_Ref {Annotation_Ref} *                  | 68 PosTYPEsym len_Nat pos_Nat SymbolInfo *                  | 69 PosALIASsym len_Nat pos_Nat SymbolInfo *                  | 70 PosCLASSsym len_Nat pos_Nat SymbolInfo [thistype_Ref] *                  | 71 PosMODULEsym len_Nat pos_Nat SymbolInfo *                  | 72 PosVALsym len_Nat pos_Nat SymbolInfo [alias_Ref] *   SymbolInfo     = name_Ref owner_Ref flags_Nat [privateWithin_Ref] info_Ref *   NameInfo       = <character sequence of length len_Nat in Utf8 format> *   NumInfo        = <len_Nat-byte signed number in big endian format> *   Ref            = Nat *   Attarg         = Refltree | Constant * *   len is remaining length after `len'. */  val MajorVersion = 4  val MinorVersion = 1  final val TERMname = 1  final val TYPEname = 2  final val NONEsym = 3  final val TYPEsym = 4  final val ALIASsym = 5  final val CLASSsym = 6  final val MODULEsym = 7  final val VALsym = 8  final val EXTref = 9  final val EXTMODCLASSref = 10  final val NOtpe = 11  final val NOPREFIXtpe = 12  final val THIStpe = 13  final val SINGLEtpe = 14  final val CONSTANTtpe = 15  final val TYPEREFtpe = 16  final val TYPEBOUNDStpe = 17  final val REFINEDtpe = 18  final val CLASSINFOtpe = 19  final val METHODtpe = 20  final val POLYtpe = 21  final val IMPLICITMETHODtpe = 22  final val LITERAL = 23   // base line for literals  final val LITERALunit = 24  final val LITERALboolean = 25  final val LITERALbyte = 26  final val LITERALshort = 27  final val LITERALchar = 28  final val LITERALint = 29  final val LITERALlong = 30  final val LITERALfloat = 31  final val LITERALdouble = 32  final val LITERALstring = 33  final val LITERALnull = 34  final val LITERALclass = 35  final val ATTRIBUTE = 40  // an attribute with constants  final val CHILDREN = 41  final val ANNOTATEDtpe = 42  final val ANNOTINFO = 43  // an annotation with trees  final val REFLTREE = 44  // prefix saying that a reflect tree is coming                             // support dropped in September of 2007  final val REFLTYPE = 45   // prefix code that means a reflect type is coming                           // support dropped in September of 2007  final val REFLSYM = 46   // prefix code that means a reflect symbol is coming                           // support dropped in September of 2007  final val DEBRUIJNINDEXtpe = 47  final val EXISTENTIALtpe = 48  final val TREE = 49      // prefix code that means a tree is coming    final val EMPTYtree = 1    final val PACKAGEtree = 2    final val CLASStree = 3    final val MODULEtree = 4    final val VALDEFtree = 5    final val DEFDEFtree = 6    final val TYPEDEFtree = 7    final val LABELtree = 8    final val IMPORTtree = 9    final val ANNOTATIONtree = 10    final val DOCDEFtree = 11    final val TEMPLATEtree = 12    final val BLOCKtree = 13    final val CASEtree = 14    final val SEQUENCEtree = 15    final val ALTERNATIVEtree = 16    final val STARtree = 17    final val BINDtree = 18    final val UNAPPLYtree = 19    final val ARRAYVALUEtree = 20    final val FUNCTIONtree = 21    final val ASSIGNtree = 22    final val IFtree = 23    final val MATCHtree = 24    final val RETURNtree = 25    final val TREtree = 26    final val THROWtree = 27    final val NEWtree = 28    final val TYPEDtree = 29    final val TYPEAPPLYtree = 30    final val APPLYtree = 31    final val APPLYDYNAMICtree = 32    final val SUPERtree = 33    final val THIStree = 34    final val SELECTtree = 35    final val IDENTtree = 36    final val LITERALtree = 37    final val TYPEtree = 38    final val ANNOTATEDtree = 39    final val SINGLETONTYPEtree = 40    final val SELECTFROMTYPEtree = 41    final val COMPOUNDTYPEtree = 42    final val APPLIEDTYPEtree = 43    final val TYPEBOUNDStree = 44    final val EXISTENTIALTYPEtree = 45  final val MODIFIERS = 50  final val ANNOTATEDWSELFtpe = 51 // annotated type with selfsym  final val firstSymTag = NONEsym  final val lastSymTag = VALsym  final val lastExtSymTag = EXTMODCLASSref  //The following two are no longer accurate, because ATTRIBUTEDtpe  //is not in the same range as the other types  //final val firstTypeTag = NOtpe  //final val lastTypeTag = POLYtpe  final val PosOffset = 64  final val PosTYPEsym  = PosOffset + TYPEsym   final val PosALIASsym = PosOffset + ALIASsym  final val PosCLASSsym = PosOffset + CLASSsym   final val PosMODULEsym = PosOffset + MODULEsym   final val PosVALsym = PosOffset + VALsym}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?