aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/SymbolLoaders.scala
Commit message (Collapse)AuthorAgeFilesLines
* Inline key operations in dottyMartin Odersky2016-10-021-1/+1
| | | | | Inlined operations are: Stats.track and all variants of Reporter.traceIndented.
* New string infterpolatorsMartin Odersky2016-08-161-2/+2
| | | | | | Roll `sm` and `i` into one interpolator (also called `i`) Evolve `d` to `em` interpolator (for error messages) New interpolator `ex` with more explanations, replaces disambiguation.
* Correct a large number of typos.Jason Zaugg2015-05-141-1/+1
| | | | | I scanned the main sources with IntellIJ's spell checker and corrected what showed up.
* Pickling modularization reorgMartin Odersky2015-05-021-1/+1
| | | | | | | The pickling package got rather large and confusing with three separate tasks that each had their own conventions: read JVM classfiles, read Scala2 pickle info, read Tasty. The classes for each task are now in separate packages.
* ClassfileParser and SymbolLoader should return embedded unpicklersMartin Odersky2015-04-281-1/+4
| | | | | | To be able able to post process pickled TASTY tree we let ClassfileParser#run return any embedded unpickler. The unpickler is further propagated by a new method ClassFileLoader#load in SymbolLoaders.
* Add spaces around + in dotty source.Dmitry Petrashko2015-04-091-2/+2
|
* Replace tabs with 4 spaces in Dotty source.Dmitry Petrashko2015-04-091-1/+1
|
* Use methods to find companion modulesDmitry Petrashko2015-03-281-1/+1
|
* #353 use methods to find companion classDmitry Petrashko2015-03-251-1/+1
|
* Better encapsulation and naming for preDecls.Martin Odersky2014-12-181-2/+2
| | | | | | | | Avoid it being confused with unforcedDecls. Hence preDecls -> currentPackageDecls and reduce visibility to private[core].
* More careful usage of unforced decls in classes.Martin Odersky2014-12-181-1/+1
| | | | | | | | | | 1) Rename `decls` to `unforcedDecls` to make it clear that it is danegrous to use. 2) Prefer `info.decls` over `unforcedDecls`. This fixes the problem reported in #305 where the primary constructor was not found.
* Replace Throwable catches with NonFatalMartin Odersky2014-12-151-1/+2
| | | | | | Previously, stackoverflows led to infinite loops because the catch immediately threw another stack overflow. Anyway, one should never catch Throwable.
* Various cleanups and utility additionsMartin Odersky2014-07-171-3/+3
| | | | | | | - 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
* Typos corrected.Dmitry Petrashko2014-03-031-1/+1
| | | | | More verbose assertions. Unnecessary semicolons removed.
* More informative asserts.Dmitry Petrashko2014-03-031-1/+1
|
* Avoid memory leaks on repeated compilation.Martin Odersky2014-02-241-3/+4
| | | | | | | | | | | | | | | | | Several measures: 1. Invalidate classOfId and superIdOfClass in ContextBase after each run. These contain local classes that should become inaccessible. 2. Also clear implicitScope cache that maps types to their implicit scopes after each run. (not sure whether this is needed; it did show up in paths from root, but on second thought this might have been a gc-able cycle. 3. Avoid capturing contexts in lazy annotations. 4. Avoid capturing contexts in functions that compute souceModule and moduleClass 5. Avoid capturing contexts in Unpickler's postReadOp hook.
* Symbol loaders no longer complete with creation contextMartin Odersky2014-02-091-26/+25
| | | | | | Instead current ctx is passed through everywhere. Question: can we factor out ctx better?
* Making completer take an implicit contextMartin Odersky2014-02-091-2/+2
| | | | | | | As a first step, we make the complete method in LazyType take an implicit context parameter. This requires a fairly large propagation of implicit contexts. The implicit parameter is ignored for classes inheriting from CompleteInCreationContext (which until now are all completers). The next step will be to make the complete methods of selective lazy types take the current context, rather than the creation context.
* Replace open package module logic by special member lookups in a package class.Martin Odersky2014-02-071-42/+2
| | | | Rather than fiddling with scopes, which can lead to race conditions, we now special case member lookup and mamber name filters in ClassDenotations that represent packages.
* Fix openPackageModule wrt overloaded definitionsMartin Odersky2014-01-181-1/+1
| | | | When opening overloaded definitions we need to avoid replacing existing symbols.
* Invalidate companions of source-defined symbolsMartin Odersky2014-01-181-2/+2
| | | | Without such invalidation, the previous classfile loader stays active, which will lead to confusion later on.
* Make typedAhead adapt to prototype.Martin Odersky2014-01-171-0/+1
| | | | Not sure why it was different before. We need it at least to add implicit parameters in typedAheadExpr.
* Strip implicit parameters when deciding specifity of methods.Martin Odersky2014-01-111-8/+8
|
* Cleanup of TermRef.withSym and TypeRef.withSymMartin Odersky2013-11-251-1/+1
| | | | All occurrences replaced by select, or second version of Term/TypeRef.apply
* Module classes are now enteredMartin Odersky2013-09-241-3/+8
| | | | Module classes are entered alongisde their source modules in parent scope.
* Refactored scheme for maintaining sourceModule, moduleClass and decls in ↵Martin Odersky2013-08-201-3/+3
| | | | | | lazy types. New scheme is more composable.
* Some additions to module completionMartin Odersky2013-08-191-1/+1
| | | | … more to come. Plus some bugfixes.
* Several fixes and refactorings for typecheckingMartin Odersky2013-08-191-3/+5
| | | | | | | | | | | 1) Refactoring of package loaders that ensures that a package is always loaded before new members are entered. This led to a refactoring of sourceModule in completers into its own trait 2) Refactoring of optSelfType ot selfInfo. Class Infos may now have a reference to a symbol in their selfInfo field, instead of always a type, as it was before. This allows to introduce laziness for self type evaluation. Laziness is needed so that modules can be desugared and the desugared version be compiled without special tricks. 3) <init> and $init members are no longer inherited. 4) Refactoring of createSymbol and enterSym, so that creating symbols and entering them in a scope is decoupled. Renamed the driver operation form `enterSym(s)` to `index`.
* Reverting isValid test in SymbolLoaders.Martin Odersky2013-08-171-7/+1
| | | | | We can't exclude any classes because there can always be some tricky code that refers to runtime classes. For instance, scaka.reflect.ManifestFactory that refers to Nothing$.
* Fixed overeager classfile pruning which dropped ::.classMartin Odersky2013-08-161-1/+3
|
* Suppressing file names with $'s in them from loadingMartin Odersky2013-08-141-1/+5
| | | | Files with $'s need not be loaded during typer.
* Scanners added.Martin Odersky2013-04-171-1/+1
| | | | | | | Moving Positions, Chars to new packages. Added Source positions. Added untyped trees module. Factored out behavior between typed and untyped trees.
* Renamed creation methods of NamedTypesMartin Odersky2013-04-091-1/+1
| | | | | Methods taking a fixed symbol are now called …withSym, methods taking a signature … withSig. The reason for the change is that we want to liberate the original method names to take optional denotations, thus avoiding to have to go through withDenot each time.
* Renaming ClassCompleter -> ClassCoimpleterWithDeclsMartin Odersky2013-04-091-3/+3
|
* Changes to pre complete declsMartin Odersky2013-04-071-3/+4
| | | | | | Dropped preCompleteDecls for a general refactoring that makes decls available after a class is loaded and before it is completed. Also some other fixes to classloading problems.
* RenamingsMartin Odersky2013-04-061-4/+4
| | | | | module => sourceModule in class ClassCompleter LazyModuleInfo => ModuleCompleter
* Refactored lazy class completers and module class completers.Martin Odersky2013-04-061-27/+10
| | | | Aim: simplification, fewer classes.
* Consolidated tracing under -YdebugTrace.Martin Odersky2013-04-041-2/+5
|
* Improvements in tracing and some Type fixes.Martin Odersky2013-04-031-1/+1
|
* More fixes for classfile reading.Martin Odersky2013-03-251-1/+1
| | | | In particular: Survive malformed type errors. Make trees cloneable. and others more.
* More fixes to classfile loading.Martin Odersky2013-03-241-1/+21
|
* Fixes fingerprint problems.Martin Odersky2013-03-241-4/+1
| | | | Also reducing debug output. Can now read and display all classes and objects in scala.collection.
* Some more fixes for classfile loadingMartin Odersky2013-03-231-2/+2
|
* More fixes to classfile reading.Martin Odersky2013-03-231-20/+29
| | | | Most important one: Getting equality of NamedTypes right.
* More fixes for classfile reading.Martin Odersky2013-03-221-5/+8
| | | | Including a refactoring of symbol loaders and unpickler traits.
* More fixes to classfile reading.Martin Odersky2013-03-211-1/+10
| | | | Can now read all classes in scala.collection.generic. Some failures remain for their companion objects.
* Various fixes to make classfile loading work.Martin Odersky2013-03-151-1/+1
| | | | Can now read and display info of verious classfiles as listed in the showClass test. Great end of the week!
* Improvements to stub handling.Martin Odersky2013-03-141-1/+1
|
* Various fixes that make loadDef largely work.Martin Odersky2013-03-141-6/+6
| | | | Only problem is that there are stubs for AnyRef generated.
* Various fixes to get past Definitions#init.Martin Odersky2013-03-131-14/+25
|