| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Inlined operations are: Stats.track and all variants
of Reporter.traceIndented.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
I scanned the main sources with IntellIJ's spell checker and
corrected what showed up.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Avoid it being confused with unforcedDecls. Hence
preDecls -> currentPackageDecls
and reduce visibility to private[core].
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Previously, stackoverflows led to infinite loops because the catch
immediately threw another stack overflow. Anyway, one should never
catch Throwable.
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
More verbose assertions.
Unnecessary semicolons removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Instead current ctx is passed through everywhere.
Question: can we factor out ctx better?
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
|
|
|
| |
When opening overloaded definitions we need to avoid replacing existing symbols.
|
|
|
|
| |
Without such invalidation, the previous classfile loader stays active, which will lead to confusion later on.
|
|
|
|
| |
Not sure why it was different before. We need it at least to add implicit parameters in typedAheadExpr.
|
| |
|
|
|
|
| |
All occurrences replaced by select, or second version of Term/TypeRef.apply
|
|
|
|
| |
Module classes are entered alongisde their source modules in parent scope.
|
|
|
|
|
|
| |
lazy types.
New scheme is more composable.
|
|
|
|
| |
… more to come. Plus some bugfixes.
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
| |
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$.
|
| |
|
|
|
|
| |
Files with $'s need not be loaded during typer.
|
|
|
|
|
|
|
| |
Moving Positions, Chars to new packages.
Added Source positions.
Added untyped trees module.
Factored out behavior between typed and untyped trees.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
module => sourceModule in class ClassCompleter
LazyModuleInfo => ModuleCompleter
|
|
|
|
| |
Aim: simplification, fewer classes.
|
| |
|
| |
|
|
|
|
| |
In particular: Survive malformed type errors. Make trees cloneable. and others more.
|
| |
|
|
|
|
| |
Also reducing debug output. Can now read and display all classes and objects in scala.collection.
|
| |
|
|
|
|
| |
Most important one: Getting equality of NamedTypes right.
|
|
|
|
| |
Including a refactoring of symbol loaders and unpickler traits.
|
|
|
|
| |
Can now read all classes in scala.collection.generic. Some failures remain for their companion objects.
|
|
|
|
| |
Can now read and display info of verious classfiles as listed in the showClass test. Great end of the week!
|
| |
|
|
|
|
| |
Only problem is that there are stubs for AnyRef generated.
|
| |
|