aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/Names.scala
Commit message (Collapse)AuthorAgeFilesLines
* Better documentation of sharable structures in Names, NameKindsMartin Odersky2017-04-111-1/+2
|
* Avoid setter in NameMartin Odersky2017-04-111-1/+1
| | | | and fix a bug in TreeUnpickler
* Introduce mangled methodMartin Odersky2017-04-111-0/+7
| | | | Mangled is like toSimpleName, except that it keeps the term/type distinction.
* Memoize toSimpleNameMartin Odersky2017-04-111-1/+6
| | | | | | | toSimpleName is called a lot from the backend, so it makes sense to memoize it. It would be even better to communicate with the backend using strings, because then we would not have to enter all these simple names in the name table.
* Further simplification for NameMartin Odersky2017-04-111-4/+2
|
* Merge likeTyped and likeKinded into likeSpacedMartin Odersky2017-04-111-6/+8
|
* Names are no longer SeqsMartin Odersky2017-04-111-27/+30
| | | | | | | | 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.
* Avoid duplicate hashCode/equalsMartin Odersky2017-04-111-3/+1
|
* Rename NameExtractor -> NameKindMartin Odersky2017-04-111-14/+14
|
* Make freshName semanticMartin Odersky2017-04-111-11/+12
|
* Redefine definesNewNameMartin Odersky2017-04-111-3/+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-111-5/+5
|
* Add NameExtractorsMartin Odersky2017-04-111-28/+32
| | | | | Use a new scheme for creating and accessing semantic names which is based on semantic name extractors with nested info classes.
* Add Variant NameInfoMartin Odersky2017-04-111-1/+2
| | | | Plus further bug fixes.
* Add default getter namesMartin Odersky2017-04-111-27/+84
| | | | Plus various bug fixes and filling in missing functionality
* Handle expansion and flatteningMartin Odersky2017-04-111-12/+15
|
* PolishingsMartin Odersky2017-04-111-31/+44
|
* Bug fixesMartin Odersky2017-04-111-13/+48
| | | | nameddefaults.scala now compiles without crashing
* Implement startsWith/encode/decode for derived names.Martin Odersky2017-04-111-12/+27
|
* Disentangle Names from SeqsMartin Odersky2017-04-111-72/+56
| | | | | | | | | 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.
* Use system hashcode for all names except SimpleTermNamesMartin Odersky2017-04-111-4/+2
| | | | Keep start as a hash for SimpleTermNames because it distributed better.
* Fix handling of qualified namesMartin Odersky2017-04-111-10/+31
| | | | | These always construct a new name, other derivations should not commute with Qualified.
* Fix @sharable problemMartin Odersky2017-04-111-1/+1
|
* Add derived name machineryMartin Odersky2017-04-111-10/+75
| | | | Add machinery to define and hash cons derived names.
* Cleanup of simple namesMartin Odersky2017-04-111-45/+39
| | | | | Reduce # of creation methods and make TypeNames simple derived names from TermNames.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+372