Skip to content

Releases: scalacenter/tasty-query

v0.10.4

16 Oct 08:50
68dbaac
Compare
Choose a tag to compare
  • Add support for APPLYsigpoly nodes
  • Add support for polymorphic function types
  • Correctly compute OrType.join
  • Fix all the remaining symbol references in the scala3-compiler and scala3-library codebases
  • Handle TypeParamRefs in subtyping

v0.10.3

11 Oct 10:22
71b58e4
Compare
Choose a tag to compare
  • Fix #357: Correctly compute the signature name of local module classes.
  • Multiple fixes to member lookup and erasure; now all symbol references within the dotty codebase can be successfully resolved.

v0.10.2

28 Sep 13:53
0d5cf49
Compare
Choose a tag to compare
  • Fill in the positions of tree nodes for which dotc does not explicitly store them in .tasty files.

v0.10.1

26 Sep 14:39
96e4a7d
Compare
Choose a tag to compare
  • More robust reading of tasty and class files: make sure that we never read other files while reading any given file.
  • Fixed reading of source file information in the presence of inlined methods in some complex tasty files.

v0.10.0

14 Aug 07:52
d814dd5
Compare
Choose a tag to compare
  • Replace Spans by SourcePosition. When coming from a tasty file with source line information, a SourcePosition can provide line and column number, in addition to offset and file name.
  • Lambda.meth is now statically a TermReferenceTree.
  • Add the abstract class Traversers.TreeTraverser to walk trees with more control than Tree.walkTree.

v0.9.3

07 Aug 15:49
9dd543d
Compare
Choose a tag to compare
  • Add Lambda.samClassSymbol to get the class symbol of the SAM type.

v0.9.2

04 Aug 08:21
713d2f8
Compare
Choose a tag to compare
  • Fix #332: Add scala.Singleton and handle it in subtyping.
  • Fix #334: Make the signatureName of Nothing be scala.Nothing.

v0.9.1

21 Jul 08:09
1ebdfe1
Compare
Choose a tag to compare
  • Make Scala 2 getters appear as fields, to be consistent with Scala 3.
  • Fix Scala 2 recursive refinement types.

v0.9.0

18 Jul 07:58
6b85491
Compare
Choose a tag to compare

This release makes a number of breaking changes to adhere more closely to the Scala 3 specification, as well as to have a clearer API.

  • Reorganize the Type hierarchy:
    • A Type is now only what the spec calls a type. Methodic types, wildcard type args and package refs are excluded from it.
    • Introduce TypeOrMethodic for the type of term definitions.
    • Introduce TypeOrWildcard for the arguments of AppliedTypes.
    • TermType is the type assigned to term expressions: Type, MethodicType or PackageRef.
    • Rename WildcardTypeBounds to WildcardTypeArg.
  • Introduce "primitive" NothingType and AnyKindType. The members scala.Nothing and scala.AnyKind are type aliases to the underlying primitive types.
  • Remove Symbol.flags and Symbol.privateWithin. Instead, introduce a number of dedicated, semantic accessors such as TermOrTypeSymbol.visibility or TermSymbol.isSetter.
  • Type.baseType(ClassSymbol) follows the spec more closely.
  • Expose whether method types are using or implicit clauses (as MethodType.isContextual and isImplicit, respectively).
  • Remove the (using Context) from a number of API methods. Those methods, by construction, guarantee that they work without loading anything from the classpath. They constitute the API that is safe to use without a semantically complete classpath.

v0.8.4

22 Jun 18:10
c8d5cbf
Compare
Choose a tag to compare
  • Improve the interpretation of Scala 2 pickles, and make it more consistent with equivalent .tasty content