| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Module classes are entered alongisde their source modules in parent scope.
|
|
|
|
|
| |
Changed ThrowingReporter to use an underlying reporter for issuing messages below ERROR.
Made ThrowingReporters the default in initialContext.
|
| |
|
| |
|
|
|
|
| |
… 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`.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added Applications class to represent applications
- Added Constraint class to represent type constraints
- Added TyperState class to represent typer state
- Added Diagnostic class to buffer errors and warnings
- Added Inferencing class that contains some common functionality for type inferencing (this one's still rudimentary).
- Added extractor for FunctionType in Definitions
- Added desugaring of default parameters to default getters in Desugar
- Added flags to deal with default parameters
- Added substitutions that replace bound parameters
|
| |
|
| |
|
|
|
|
| |
A new design that relies on DefDef local maps, instead of global maps before.
|
| |
|
|
|
|
| |
Moved all other elements of TypedTrees and UntypedTrees into tpd and untpd.
|
|
|
|
|
|
|
| |
1) Getting rid of ugen in favor of untpd.
2) Eliminating some unused methods
3) Splitting out CheckTrees from TypedTrees.
4) Moving trees and related classes into separate package dotc.ast
|
|
|
|
|
| |
Split printers into several files. Added refined printing of trees. Changed Showable and generalized printing
under a precedence.
|
| |
|
|
|
|
|
|
|
|
| |
Synced parser and SyntaxSymmary.
Parser now produces untyped trees that need to be desugared further.
Also some tweaks to position to make it work well.
This is a first version.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
If module classes have the same names as their companion classes there is the latent trap that TypeRefs refer to one or the other. To avoid cross-talk, module classes need to have a different name.
Also, some fixes to baseType, isSubClass in SymDenotations.
|
|
|
|
| |
Big blooper: superId was always -1.
|
|
|
|
| |
Most important one: Getting equality of NamedTypes right.
|
| |
|
|
|
|
| |
Also improvements to toString.
|
| |
|
|
|
|
| |
Only problem is that there are stubs for AnyRef generated.
|
| |
|
|
|
|
|
|
|
|
| |
1. filterAsSeenFrom has been split again into its constituents "filterExcluded" and "asSeenFrom", and care was taken not to force the info unless we have to. The accessible check is no longer done when collecting members, because it would have forced the symbol through requesting privateWithin.
2. SymDenotation#is is tweaked to no longer force the denotation if the flags are in "FromStartFlags", i.e. set upon symbol creation. We can then eliminate special cases isModuleXXX, isPackageXXX.
3. Other tweaks mostly having to do with weakening sym.exists checks to avoid CyclicReference errros.
|
| |
|
|
|
|
| |
Still fighting with CyclicReference errors.
|
| |
|
|
|
|
| |
Made trees printable in plain mode (refined mode still missing).
|
| |
|
|
|
|
| |
The goal is that symbols should be entered/deleted directly into classes instead of their scopes. This is necesaary so that invariant about fingerPrint can be maintained. We achieve it by making the info scope have immutable type, so an explicit cast is needed to get around that.
|
|
|
|
| |
Plus some more doc comments.
|
| |
|
|
|
|
| |
Including translation from Scala 2.x flags.
|
| |
|
|
|
|
|
|
|
| |
1. Went back to old completer model where completers are types.
2. Made class denotations a simple optimzation of symbol denotatons (with more caches)
by moving all class-specific attributes into ClassInfo.
3. Now all symbol and symbol denotation creations are routed through one of 3 methods: newNakedSymbol, newNakedClassSymbol, newSymDenotation.
|
|
|
|
| |
Motivation: This is something that stays invariant over all periods. but _can_ change between compilation runs. Therefore it matches the lifetime of a Symbol.
|
|
|
|
| |
Required also some better integration with TypeMaps.
|