Packages

o

scala.tools.tasty

TastyFormat

object TastyFormat

Source
TastyFormat.scala
Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TastyFormat
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. class NameTags extends AnyRef

    Tags used to serialize names, should update TastyFormat$.nameTagToString if a new constant is added

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final val ABSTRACT: Int(9)
  5. final val ALTERNATIVE: Int(151)
  6. final val ANDtype: Int(165)
  7. final val ANNOTATEDtpt: Int(154)
  8. final val ANNOTATEDtype: Int(153)
  9. final val ANNOTATION: Int(173)
  10. final val APPLIEDtpt: Int(162)
  11. final val APPLIEDtype: Int(161)
  12. final val APPLY: Int(136)
  13. final val ARTIFACT: Int(24)
  14. final val ASSIGN: Int(139)
  15. final val ASTsSection: String("ASTs")
  16. final val BIND: Int(150)
  17. final val BLOCK: Int(140)
  18. final val BOUNDED: Int(102)
  19. final val BYNAMEtpt: Int(94)
  20. final val BYNAMEtype: Int(93)
  21. final val BYTEconst: Int(67)
  22. final val CASE: Int(12)
  23. final val CASEDEF: Int(155)
  24. final val CASEaccessor: Int(27)
  25. final val CHARconst: Int(69)
  26. final val CLASSconst: Int(92)
  27. final val CONTRAVARIANT: Int(29)
  28. final val COVARIANT: Int(28)
  29. final val CommentsSection: String("Comments")
  30. final val DEFDEF: Int(130)
  31. final val DOUBLEconst: Int(73)
  32. final val EMPTYCLAUSE: Int(45)
  33. final val ENUM: Int(21)
  34. final val ERASED: Int(34)
  35. final val EXPORT: Int(177)
  36. final val EXPORTED: Int(39)
  37. final val EXTENSION: Int(36)
  38. final val ExperimentalVersion: Int

    Natural Number.

    Natural Number. The ExperimentalVersion allows for experimentation with changes to TASTy without committing to any guarantees of compatibility.

    A zero value indicates that the TASTy version is from a stable, final release.

    A strictly positive value indicates that the TASTy version is experimental. An experimental TASTy file can only be read by a tool with the same version. However, tooling with an experimental TASTy version is able to read final TASTy documents if the file's MinorVersion is strictly less than the current value.

  39. final val FALSEconst: Int(3)
  40. final val FIELDaccessor: Int(26)
  41. final val FINAL: Int(10)
  42. final val FLOATconst: Int(72)
  43. final val GIVEN: Int(37)
  44. final val HASDEFAULT: Int(31)
  45. final val HOLE: Int(255)
  46. final val IDENT: Int(110)
  47. final val IDENTtpt: Int(111)
  48. final val IF: Int(141)
  49. final val IMPLICIT: Int(13)
  50. final val IMPLICITarg: Int(97)
  51. final val IMPORT: Int(132)
  52. final val IMPORTED: Int(75)
  53. final val INFIX: Int(43)
  54. final val INLINE: Int(17)
  55. final val INLINED: Int(147)
  56. final val INLINEPROXY: Int(16)
  57. final val INTconst: Int(70)
  58. final val INVISIBLE: Int(44)
  59. final val LAMBDA: Int(142)
  60. final val LAMBDAtpt: Int(171)
  61. final val LAZY: Int(14)
  62. final val LOCAL: Int(22)
  63. final val LONGconst: Int(71)
  64. final val MACRO: Int(33)
  65. final val MATCH: Int(143)
  66. final val MATCHCASEtype: Int(192)
  67. final val MATCHtpt: Int(191)
  68. final val MATCHtype: Int(190)
  69. final val METHODtype: Int(180)
  70. final val MUTABLE: Int(25)
  71. final val MajorVersion: Int

    Natural number.

    Natural number. Each increment of the MajorVersion begins a new series of backward compatible TASTy versions.

    A TASTy file in either the preceding or succeeding series is incompatible with the current value.

  72. final val MinorVersion: Int

    Natural number.

    Natural number. Each increment of the MinorVersion, within a series declared by the MajorVersion, breaks forward compatibility, but remains backwards compatible, with all preceding MinorVersion.

  73. final val NAMEDARG: Int(119)
  74. final val NEW: Int(95)
  75. final val NULLconst: Int(5)
  76. final val OBJECT: Int(19)
  77. final val OPAQUE: Int(35)
  78. final val OPEN: Int(40)
  79. final val ORtype: Int(167)
  80. final val OVERRIDE: Int(15)
  81. final val PACKAGE: Int(128)
  82. final val PARAM: Int(134)
  83. final val PARAMalias: Int(41)
  84. final val PARAMsetter: Int(38)
  85. final val PARAMtype: Int(172)
  86. final val POLYtype: Int(169)
  87. final val PRIVATE: Int(6)
  88. final val PRIVATEqualified: Int(98)
  89. final val PROTECTED: Int(8)
  90. final val PROTECTEDqualified: Int(99)
  91. final val PositionsSection: String("Positions")
  92. final val QUALTHIS: Int(91)
  93. final val RECthis: Int(66)
  94. final val RECtype: Int(100)
  95. final val REFINEDtpt: Int(160)
  96. final val REFINEDtype: Int(159)
  97. final val RENAMED: Int(76)
  98. final val REPEATED: Int(149)
  99. final val RETURN: Int(144)
  100. final val SEALED: Int(11)
  101. final val SELECT: Int(112)
  102. final val SELECTin: Int(176)
  103. final val SELECTouter: Int(148)
  104. final val SELECTtpt: Int(113)
  105. final val SELFDEF: Int(118)
  106. final val SHAREDterm: Int(60)
  107. final val SHAREDtype: Int(61)
  108. final val SHORTconst: Int(68)
  109. final val SINGLETONtpt: Int(101)
  110. final val SOURCE: Int(4)
  111. final val SPLITCLAUSE: Int(46)
  112. final val STABLE: Int(32)
  113. final val STATIC: Int(18)
  114. final val STRINGconst: Int(74)
  115. final val SUPER: Int(157)
  116. final val SUPERtype: Int(158)
  117. final val SYNTHETIC: Int(23)
  118. final val TEMPLATE: Int(156)
  119. final val TERMREF: Int(115)
  120. final val TERMREFdirect: Int(62)
  121. final val TERMREFin: Int(174)
  122. final val TERMREFpkg: Int(64)
  123. final val TERMREFsymbol: Int(114)
  124. final val THIS: Int(90)
  125. final val THROW: Int(96)
  126. final val TRAIT: Int(20)
  127. final val TRANSPARENT: Int(42)
  128. final val TRUEconst: Int(4)
  129. final val TRY: Int(146)
  130. final val TYPEAPPLY: Int(137)
  131. final val TYPEBOUNDS: Int(163)
  132. final val TYPEBOUNDStpt: Int(164)
  133. final val TYPED: Int(138)
  134. final val TYPEDEF: Int(131)
  135. final val TYPELAMBDAtype: Int(170)
  136. final val TYPEPARAM: Int(133)
  137. final val TYPEREF: Int(117)
  138. final val TYPEREFdirect: Int(63)
  139. final val TYPEREFin: Int(175)
  140. final val TYPEREFpkg: Int(65)
  141. final val TYPEREFsymbol: Int(116)
  142. final val UNAPPLY: Int(152)
  143. final val UNITconst: Int(2)
  144. final val VALDEF: Int(129)
  145. final val WHILE: Int(145)
  146. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  147. def astTagToString(tag: Int): String
  148. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  149. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  150. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  151. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  152. final val firstASTTreeTag: Int(90)
  153. final val firstLengthTreeTag: Int(128)
  154. final val firstNatASTTreeTag: Int(110)
  155. final val firstNatTreeTag: Int(60)
  156. final val firstSimpleTreeTag: Int(2)
  157. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  158. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  159. final val header: Array[Int]

    The first four bytes of a TASTy file, followed by four values: - MajorVersion: Int - see definition in TastyFormat - MinorVersion: Int - see definition in TastyFormat - ExperimentalVersion: Int - see definition in TastyFormat - ToolingVersion: String - arbitrary length string representing the tool that produced the TASTy.

  160. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  161. def isLegalTag(tag: Int): Boolean

    Useful for debugging

  162. def isModifierTag(tag: Int): Boolean
  163. def isParamTag(tag: Int): Boolean
  164. def isTypeTreeTag(tag: Int): Boolean
  165. def isVersionCompatible(fileMajor: Int, fileMinor: Int, fileExperimental: Int, compilerMajor: Int, compilerMinor: Int, compilerExperimental: Int): Boolean

    This method implements a binary relation (<:<) between two TASTy versions.

    This method implements a binary relation (<:<) between two TASTy versions.

    We label the lhs file and rhs compiler. if file <:< compiler then the TASTy file is valid to be read.

    A TASTy version, e.g. v := 28.0-3 is composed of three fields:

    • v.major == 28
    • v.minor == 0
    • v.experimental == 3

    TASTy versions have a partial order, for example, a <:< b and b <:< a are both false if

    • a and b have different major fields.
    • a and b have the same major & minor fields, but different experimental fields, both non-zero.

    A TASTy version with a zero value for its experimental field is considered to be stable. Files with a stable TASTy version can be read by a compiler with an unstable TASTy version, (where the compiler's TASTy version has a higher minor field).

    A compiler with a stable TASTy version can never read a file with an unstable TASTy version.

    We follow the given algorithm: if file.major != compiler.major then return incompatible if compiler.experimental == 0 then if file.experimental != 0 then return incompatible if file.minor > compiler.minor then return incompatible else return compatible else invariant[compiler.experimental != 0] if file.experimental == compiler.experimental then if file.minor == compiler.minor then return compatible (all fields equal) else return incompatible else if file.experimental == 0, if file.minor < compiler.minor then return compatible (an experimental version can read a previous released version) else return incompatible (an experimental version cannot read its own minor version or any later version) else invariant[file.experimental is non-0 and different than compiler.experimental] return incompatible

  166. def nameTagToString(tag: Int): String

    Should be kept in sync with NameTags.

    Should be kept in sync with NameTags. Converts constants to a String representing their identifier, or NotANameTag(tag) if unrecognised.

    For debugging purposes when unpickling names in a TASTy file.

  167. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  168. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  169. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  170. def numRefs(tag: Int): Int

    returns

    If non-negative, the number of leading references (represented as nats) of a length/trees entry. If negative, minus the number of leading non-reference trees.

  171. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  172. def toString(): String
    Definition Classes
    AnyRef → Any
  173. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  174. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  175. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  176. object NameTags extends NameTags

Inherited from AnyRef

Inherited from Any

Ungrouped