aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/StdNames.scala
Commit message (Collapse)AuthorAgeFilesLines
* Adapt isPackageObject to semantic namingMartin Odersky2017-04-111-1/+0
| | | | Used a hardcoded string before, which caused test failures.
* Fix rebase breakageMartin Odersky2017-04-111-0/+2
|
* Fix and activate package scopesMartin Odersky2017-04-111-1/+0
| | | | Prevviously they were actually unused.
* Further simplification for NameMartin Odersky2017-04-111-21/+6
|
* Names are no longer SeqsMartin Odersky2017-04-111-16/+21
| | | | | | | | 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-1/+0
| | | | Remove unused functionality
* Make outer select names semanticMartin Odersky2017-04-111-1/+0
|
* Make module var names semanticMartin Odersky2017-04-111-1/+0
|
* Make field names semanticMartin Odersky2017-04-111-1/+0
|
* Make "direct names" semanticMartin Odersky2017-04-111-2/+0
|
* Revise qualified namesMartin Odersky2017-04-111-1/+0
| | | | | 1. Fix problem in fullNameSeparated 2. Revise expandedName operations
* Decentralize unmangling, add new nameKindsMartin Odersky2017-04-111-2/+0
| | | | | | | Start scheme where unmangling is done by NameKinds instead of in NameOps. Also add namekinds for protected accessors.
* Make freshName semanticMartin Odersky2017-04-111-12/+3
|
* Add ShadowedName and AvoidClashNameMartin Odersky2017-04-111-2/+2
|
* Eliminate TastyNamesMartin Odersky2017-04-111-0/+1
|
* Add NameExtractorsMartin Odersky2017-04-111-0/+2
| | | | | 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/+1
| | | | Plus further bug fixes.
* Add default getter namesMartin Odersky2017-04-111-0/+5
| | | | Plus various bug fixes and filling in missing functionality
* Handle expansion and flatteningMartin Odersky2017-04-111-2/+7
|
* Implement startsWith/encode/decode for derived names.Martin Odersky2017-04-111-1/+1
|
* Merge MethodType and PolyType functionality where possibleMartin Odersky2017-04-061-6/+0
| | | | | | Two benefits: (1) less code. (2) finding subtle bugs about parameter dependent method types. By merging with PolyTypes we are forced to take parameter dependencies into account.
* Encode variances in parameter namesMartin Odersky2017-04-061-1/+0
| | | | | | | | | | 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.
* Change enumeration members.Martin Odersky2017-04-041-1/+0
| | | | | | | | | | | | | Based on the discussion in #1970, enumeration objects now have three public members: - valueOf: Map[Int, E] - withName: Map[String, E] - values: Iterable[E] Also, the variance of case type parameters is now the same as in the corresponding type parameter of the enum class.
* Implement enum desugaringMartin Odersky2017-04-041-1/+6
|
* Merge pull request #2045 from dotty-staging/fix-hlist-hmapodersky2017-03-091-0/+1
|\ | | | | Fix type inference for HLists and HMaps
| * Fix handling of dependent method typesMartin Odersky2017-03-011-0/+1
| | | | | | | | | | Need to use fresh PolyParams instead of WildcardTypes if constraint is committable.
* | Remove uses of StringOps from scala-reflectGuillaume Martres2017-03-081-1/+1
|/
* Treat implicit by-name arguments as lazy valuesMartin Odersky2017-02-171-0/+1
| | | | | | | | | | With the previous rules, the two test cases produce a diverging implicit expansion. We avoid this by creating for every implicit by-name argument of type T a lazy implicit value of the same type. The implicit value is visible for all nested implicit searches of by-name arguments. That way, we tie the knot and obtain a recursive lazy value instead of a diverging expansion.
* Fix #1976: Hack to support scala.xml's $scope (#1977)odersky2017-02-141-0/+1
| | | | | | This is a gross hack to support the need for a $scope binding when XML literals are created. It should go away once we phase out XML literals. A library-based solution should use implicits instead.
* Change scheme to use SelectableMartin Odersky2017-01-071-1/+1
| | | | | Use base types instead of implicits. This is more robust in the presence of type abstraction.
* Implement structural type member accessMartin Odersky2017-01-051-0/+1
| | | | New scheme for implementing structural type member access.
* New ShortcutImplicits phaseMartin Odersky2016-12-171-0/+1
| | | | | Optimizes implicit closures by avoiding closure creation where possible.
* Add ImplicitFunctionN classesMartin Odersky2016-12-171-0/+1
| | | | These are always synthetic; generated on demand.
* Implement new rules for name-based pattern matchingMartin Odersky2016-12-151-1/+0
| | | | This implements the rules laid down in #1805.
* Drop function 22 limit.Martin Odersky2016-11-301-0/+1
| | | | | | | | | | | | | | | | | | | Functions with more than 22 parameters are now automatically converted to functions taking a single object array parameter. This has been achieved by tweaking erasure. Other things I have tried that did ot work out well: - Use a single function type in typer. The problem with this one which could not be circumvented was that existing higher-kinded code with e.g. Funcor assumes that Functon1 is a binary type constructor. - Have a late phase that converts to FunctonXXL instead of doing it in erasure. The problem with that one was that potentially every type could be affected, which was ill-suited to the architecture of a miniphase.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+844