aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/ImportInfo.scala
Commit message (Collapse)AuthorAgeFilesLines
* Drop PairMartin Odersky2016-09-251-3/+3
| | | | | | | | Drop tree node class 'Pair'. It was used only in imports, where it can easily be replaced by Thicket. The envisaged use for generic pairs is almost sure better modelled by a "Pair" class in Dotty's standard library.
* Fix #1457: Three incompatbilities with scalacMartin Odersky2016-08-231-0/+1
| | | | | | | | Two of these are unavoidable. I moved the tests to diabled/not-representable and added in each case a comment to the main scala file detailing why there is a deviation. The last one (import-rewrite) is fixed.
* First versions of Definitions based on TypeRefs not Symbols.Martin Odersky2015-11-091-3/+3
| | | | | | | | | | | | | | | Symbols are not stable between runs, so if some symbol referred to from Definitions gets recompiled, there are then two Symbols that are both visible, one referenced from Definitions, the other the one that got compiled. Thos led to a crash when e.g. compiling scala.Short, because the newly compiled symbol was not recognized as a primitive value class. The present commit tries to make systematic changes without regard to simplicity or aesthetics. This will be polished in future commits. // ### comments signal areas that need further attention.
* Allow to compile root import classes without special option.Martin Odersky2015-05-051-4/+6
| | | | | Can now compile Predef/DottyPredef without -Yno-import option. Achieved by making some parts of imports more lazy.
* Make all Dotty source files end in newline.Dmitry Petrashko2015-04-091-1/+1
|
* Make type creators work for erased types.Martin Odersky2014-08-241-1/+1
| | | | | | | | - Some types are different when erased (e.g. prefixes are NoPrefix) - Some types are forbidden when erased. Put in assertions to check that fact. Also, some renaming and doc comments to make creation of TermRefs and TypeRefs clearer.
* Various cleanups and utility additionsMartin Odersky2014-07-171-1/+1
| | | | | | | - Some new functionality in tpd and in Symbols. - Added `sm` interpolator to print nicely. - Make use of nestedMap where possible. - Add IdentityDenotTransformer as a convencience class
* move InfoString from ErrorReporting to Decorators andSamuel Gruetter2014-04-021-1/+1
| | | | remove all isSensical/SuppressedMessage logic from InfoString
* Avoid accessing implicits that come from root imports that are hidden by ↵Martin Odersky2014-02-021-0/+13
| | | | | | | | | | | | some nested import. This also changes the criterion when a root import is disabled. A root import is now disabled if there is an inner import from the same package or module, and the inner import contains at least one disabling clause X => _. (The latter crierion is new; without it, we would consider something like import scala.{collections => c} as a hiding import for Scala, which seems to go too far.)
* Fixed several deep problems in handling of types and symbols.Martin Odersky2013-12-141-1/+1
| | | | | | | | | 1. We forgot to mark declaration symbols Deferred. 2. Types with NoPrefix and the same name got identified. Fixed by adding a new category WithNoPrefix to named types, and changing the way named types get generated. 3. Self types lacked parameters. (Question: Do we need to also track type members?) 4. Printers caused cyclic reference errors. Now some print operations are more careful with forcing. 5. Namedparts accumulator has to be more careful with ThisTypes. Because self types now contain parameters, which might lead back to this, we only add the class name (or the source module, if it's a module class). 6. toBounds in TypeApplications needs to use Co/Contra aliases for expanded name parameters, not just local ones.
* Fixes and tests for typedIdentMartin Odersky2013-12-101-4/+4
| | | | Fixed a problem where an import and a definition in same scope were erroneously regarded as a conflict (L20 in typedIdents.scala)
* Cleanup of named type creation from SymDenotations.Martin Odersky2013-11-231-1/+1
| | | | | | | | | New operations: - typeRef - termRef - valRef (like termRef, but with NotAMethod signature) - termRefWithSig (like termRef, but with denotation's signature)
* Changed handling of signatures in TermRefs.Martin Odersky2013-11-011-1/+1
| | | | | | | | Previously, plain TermRefs had signature NotAMethod. The problem is if the TermRef represents an overloaded term and one of the alternatives is NotAMethod. Then creating the alternative will overwrite (via hash-consing) the overloaded ref. Solution: Introduc new pseudo-signature "UnknownSignature" which is given to plain TermRefs. Also, need to be careful now that all members that denote a specific alternative of a possibly overloaded denotation are referenced by a TermRefWithSig, not a plain TermRef. Previously, implicit members did not follow that, which meant that, what worked, worked only by accident. Still to do: Clean up signatures, termref creation methods. Should TermRef.withDenot automatically set the signature?
* Experimental branch that drops {Term/Type}RefWithSym typesMartin Odersky2013-09-181-1/+1
|
* Improvements in implicits error reportingMartin Odersky2013-09-061-4/+4
| | | | Plus a few bugfixes for implicits
* Fixes to import handling and adaptation and implicitsMartin Odersky2013-08-211-0/+11
|
* Defined root context with importsMartin Odersky2013-08-171-1/+11
| | | | … and cleaned up and simplified other context-reated features.
* Added scheme to disabled implicit imports (not just Predef) if an explicit ↵Martin Odersky2013-07-231-2/+7
| | | | one is given for the same package or object.
* Added code for adapt and more.Martin Odersky2013-07-211-1/+1
| | | | | | | - Pushed mode into context - Elimintaed scope nesting level - Fixed a desugar bug - Added constant folding
* Additions needed to support implicits.Martin Odersky2013-07-191-3/+63
| | | | | | Still to do: - properly account for bounded wildcard types - set up scheme for nested diagnostics buffers.
* Added typedIdent method.Martin Odersky2013-06-181-2/+6
| | | | Also some refactorings that were caused by adding this method.
* wip, because I have to get off this machine.Martin Odersky2013-05-301-0/+11