aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/NameOps.scala
Commit message (Collapse)AuthorAgeFilesLines
* Fix rebase breakageMartin Odersky2017-04-111-20/+3
|
* Bugfix in stripModuleClassSuffixMartin Odersky2017-04-111-2/+2
|
* Further simplification for NameMartin Odersky2017-04-111-3/+3
|
* Merge likeTyped and likeKinded into likeSpacedMartin Odersky2017-04-111-17/+11
|
* Names are no longer SeqsMartin Odersky2017-04-111-65/+36
| | | | | | | | 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.
* Cleanups of NameOpsMartin Odersky2017-04-111-79/+0
| | | | Remove unused functionality
* Make outer select names semanticMartin Odersky2017-04-111-8/+0
|
* Make module var names semanticMartin Odersky2017-04-111-22/+2
|
* Fix dropModule logicMartin Odersky2017-04-111-2/+2
|
* Make field names semanticMartin Odersky2017-04-111-18/+6
|
* Revise qualified namesMartin Odersky2017-04-111-35/+15
| | | | | 1. Fix problem in fullNameSeparated 2. Revise expandedName operations
* New unmangling for ExpandedNameMartin Odersky2017-04-111-40/+17
|
* Decentralize unmangling, add new nameKindsMartin Odersky2017-04-111-43/+15
| | | | | | | Start scheme where unmangling is done by NameKinds instead of in NameOps. Also add namekinds for protected accessors.
* Rename NameExtractor -> NameKindMartin Odersky2017-04-111-2/+2
|
* Make freshName semanticMartin Odersky2017-04-111-15/+12
|
* Add ShadowedName and AvoidClashNameMartin Odersky2017-04-111-14/+1
|
* Get rid of ExpandedName flagMartin Odersky2017-04-111-5/+5
|
* Drop Config.semanticNames optionMartin Odersky2017-04-111-107/+38
| | | | | We now handle only semantic names. Also, name extractor tags and TASTY name tags are now aligned.
* Add NameExtractorsMartin Odersky2017-04-111-21/+22
| | | | | Use a new scheme for creating and accessing semantic names which is based on semantic name extractors with nested info classes.
* Fix to fieldName for trait settersMartin Odersky2017-04-111-1/+1
|
* Properly integrate TraitSetter namesMartin Odersky2017-04-111-5/+13
|
* Semantic SuperAccessor and Initializer namesMartin Odersky2017-04-111-34/+75
|
* Add default getter namesMartin Odersky2017-04-111-21/+48
| | | | Plus various bug fixes and filling in missing functionality
* Handle expansion and flatteningMartin Odersky2017-04-111-13/+29
|
* PolishingsMartin Odersky2017-04-111-1/+1
|
* Bug fixesMartin Odersky2017-04-111-6/+6
| | | | nameddefaults.scala now compiles without crashing
* Disentangle Names from SeqsMartin Odersky2017-04-111-1/+1
| | | | | | | | | 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.
* Start to use structured ModuleNamesMartin Odersky2017-04-111-4/+20
| | | | Subject to flags Config.semanticNames.
* Add derived name machineryMartin Odersky2017-04-111-1/+0
| | | | Add machinery to define and hash cons derived names.
* Encode variances in parameter namesMartin Odersky2017-04-061-1/+25
| | | | | | | | | | 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.
* Remove uses of StringOps from scala-reflectGuillaume Martres2017-03-081-1/+1
|
* Harden outer proxy computation of inlined codeMartin Odersky2017-02-191-0/+7
| | | | | | | | | | | It turns out that we simply cannot do reliable outer path computation that fills in the right hand sides of this-proxies from the types of these proxies. As-seen-from logic can mangle the types of proxies enough to scramble the necessary information. What we now do instead is simply count: We record the number of outer accesses to an outer this in inlineable code, and do the same number of outer accesses when computing the proxy.
* Add checks for synthetic functions and erased functions.Nicolas Stucki2017-02-131-7/+38
| | | | | | | | * Add `isSyntheticFunction` checks for synthetic functions such as FuntionN for N > 22 and ImplicitFunctionN for N >= 0. * Add `erasedFunctionClass` to get the erased verion of synthetic functions. * Change the semantics of `isFunctionClass` to return true if it is any kind of FunctionN or ImplicitFunctionN.
* New ShortcutImplicits phaseMartin Odersky2016-12-171-0/+2
| | | | | Optimizes implicit closures by avoiding closure creation where possible.
* Add ImplicitFunctionN classesMartin Odersky2016-12-171-5/+8
| | | | These are always synthetic; generated on demand.
* Create FunctionN types on demandMartin Odersky2016-11-291-0/+6
| | | | | | We know create FunctionN types on demand whenever their name is looked up in the scope of package `scala`. This obviates the need to predefine function traits 23 to 30.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+432