aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/tasty
Commit message (Collapse)AuthorAgeFilesLines
* Fix pickling/unpickling of namesMartin Odersky2017-04-112-3/+5
| | | | | Running the test suite with the pickling printer on showed up two more problems which are fixed in this commit.
* Make extension method names semanticMartin Odersky2017-04-111-0/+1
|
* Avoid setter in NameMartin Odersky2017-04-111-1/+1
| | | | and fix a bug in TreeUnpickler
* Introduce mangled methodMartin Odersky2017-04-111-2/+2
| | | | Mangled is like toSimpleName, except that it keeps the term/type distinction.
* Keep package member names mangledMartin Odersky2017-04-111-1/+3
| | | | | | | | | Once we start using unencoded operators internally, we will face the problem that one cannot decode realiably a class file filename. We therefore turn things around, keeping members of package scopes in mangled and encoded form. This is compensated by (1) mangling names for lookup of such members and (2) when unpickling from Scala 2 info or Tasty, comparing mangled names when matching a read class or module object against a root.
* Names are no longer SeqsMartin Odersky2017-04-111-2/+2
| | | | | | | | Drop Seq implementation of name. This implementation was always problematic because it entailed potentially very costly conversions to toSimpleName. We now have better control over when we convert a name to a simple name.
* Make outer select names semanticMartin Odersky2017-04-111-0/+2
|
* Make module var names semanticMartin Odersky2017-04-111-0/+1
|
* Avoid duplicate hashCode/equalsMartin Odersky2017-04-111-1/+1
|
* Make field names semanticMartin Odersky2017-04-111-3/+5
|
* Make "direct names" semanticMartin Odersky2017-04-111-0/+2
|
* Revise qualified namesMartin Odersky2017-04-112-7/+4
| | | | | 1. Fix problem in fullNameSeparated 2. Revise expandedName operations
* Decentralize unmangling, add new nameKindsMartin Odersky2017-04-111-2/+4
| | | | | | | Start scheme where unmangling is done by NameKinds instead of in NameOps. Also add namekinds for protected accessors.
* Rename NameExtractor -> NameKindMartin Odersky2017-04-114-7/+7
|
* Make freshName semanticMartin Odersky2017-04-113-16/+31
|
* Redefine definesNewNameMartin Odersky2017-04-111-2/+3
| | | | | | | Make it a method of info instead of a convention over tags, because it's less fragile that way. Also, add UniqueName extractor.
* Add ShadowedName and AvoidClashNameMartin Odersky2017-04-113-2/+4
|
* Streamline pickling and unpickling of namesMartin Odersky2017-04-112-22/+10
|
* Get rid of SuperAccessor flagMartin Odersky2017-04-111-3/+1
|
* Get rid of ExpandedName flagMartin Odersky2017-04-114-4/+4
|
* Drop Config.semanticNames optionMartin Odersky2017-04-113-52/+38
| | | | | We now handle only semantic names. Also, name extractor tags and TASTY name tags are now aligned.
* Eliminate TastyNamesMartin Odersky2017-04-1110-219/+106
|
* Add NameExtractorsMartin Odersky2017-04-113-18/+20
| | | | | Use a new scheme for creating and accessing semantic names which is based on semantic name extractors with nested info classes.
* Don't forget ExpandedName when unpickling SuperAccessorsMartin Odersky2017-04-111-1/+1
|
* Properly integrate TraitSetter namesMartin Odersky2017-04-111-1/+1
|
* Semantic SuperAccessor and Initializer namesMartin Odersky2017-04-112-12/+19
|
* Add Variant NameInfoMartin Odersky2017-04-116-1/+15
| | | | Plus further bug fixes.
* Add default getter namesMartin Odersky2017-04-112-1/+3
| | | | Plus various bug fixes and filling in missing functionality
* Handle expansion and flatteningMartin Odersky2017-04-115-15/+38
|
* Bug fixesMartin Odersky2017-04-112-11/+21
| | | | nameddefaults.scala now compiles without crashing
* Disentangle Names from SeqsMartin Odersky2017-04-113-4/+4
| | | | | | | | | Structured names are not Seqs anymmore. But the Seq behavior is required in many places that mangle names. As an intermediate step we drop the Seq basetype but add Seq behavior through a decorator. Most Seq operations only work on SimpleTermNames and their TypeName analogue, will throw an exception wehn called on structured names.
* Merge pull request #2187 from dotty-staging/fix-2166odersky2017-04-061-1/+7
|\ | | | | fix #2166: unpickling of shared CaseDef
| * fix #2166: unpickling of shared CaseDefliu fengyun2017-04-041-1/+7
| |
* | Adapt TastyPrinter to new formatMartin Odersky2017-04-061-1/+1
| |
* | PolishingsMartin Odersky2017-04-061-7/+0
| |
* | Split HKTypeLambda from PolyTypeMartin Odersky2017-04-061-1/+1
| |
* | Handle hk lambdas in tastyMartin Odersky2017-04-063-32/+41
| |
* | Further refactoringsMartin Odersky2017-04-062-3/+3
| | | | | | | | | | - Use TypeLambda instead of PolyType. - Further harmonize factory operations
* | Rename PolyTypeTree -> LambdaTypeTreeMartin Odersky2017-04-062-2/+2
| |
* | Eliminate ParamTypeMartin Odersky2017-04-061-3/+3
| | | | | | | | Replace with ParamRef
* | Rename PolyParam --> TypeParamRefMartin Odersky2017-04-062-2/+2
| |
* | Refactor ParamRef so that no type params are neededMartin Odersky2017-04-061-1/+1
| |
* | Get rid of Name parameter for LambdaType and ParamRefMartin Odersky2017-04-061-1/+1
| | | | | | | | Use an abstract type instead.
* | ParamType refactoringsMartin Odersky2017-04-061-1/+1
| | | | | | | | Trying to bring PolyTypes closer to TypeLambdas
* | Harmonize paramTypes and paramBoundsMartin Odersky2017-04-061-3/+3
| | | | | | | | | | | | MethodTypes have paramTypes whereas PolyTypes have paramBounds. We now harmonize by alling both paramInfos, and parameterizing types that will become common to both.
* | Break out functionality from MethodTypeMartin Odersky2017-04-062-2/+2
| | | | | | | | | | and generalize MethodParam to ParamRef, and TypeParamInfo to ParamInfo
* | Encode variances in parameter namesMartin Odersky2017-04-063-12/+4
| | | | | | | | | | | | | | | | | | | | This leads to a slight overall simplification, harmonizes pickle format with internal representation, and makes MethodTypes and PolyTypes more similar to each other. I believe the change is useful as it is, but in particular it is a useful step for an eventual unification of MethodTypes and PolyTypes.
* | checkNoPrivateLeaks: Do not allow types to refer to leaky aliasesGuillaume Martres2017-04-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | `checkNoPrivateLeaks` can force a lot of things, this lead to hard-to-reproduce issues in unpickling because we called `checkNoPrivateLeaks` on the type parameters of a class before anything in the class was indexed. We fix this by making sure that `checkNoPrivateLeaks` never transforms type symbols, only term symbols, therefore we can unpickle type parameters without forcing too many things. tests/neg/leak-type.scala illustrates the new restriction that this necessitates.
* | Addresses review commentsAllan Renucci2017-04-041-1/+0
| |
* | Fixes @unchecked warningsAllan Renucci2017-04-031-1/+1
|/