aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Distribute & into TypeTypes.Martin Odersky2013-06-181-2/+28
| | | | &, | on two TypeTypes yielded AndTypes and OrTypes, which is wrong. We now turn any ClassInfoTypes into TypeBounds and distribute the operator into the bounds, creating a TypeBounds type.
* Added typedIdent method.Martin Odersky2013-06-189-16/+249
| | | | Also some refactorings that were caused by adding this method.
* Added typer.ModeMartin Odersky2013-06-175-16/+33
| | | | Replaces desugar.Mode. Is now a value class representing a set.
* Removed ClassDef as a Tree node class.Martin Odersky2013-06-1510-67/+55
| | | | ClassDefs are now TypeDefs that have a Template as rhs.
* Forward-ported Jason's fix to setting privateWIthin from Java classfiles.Martin Odersky2013-06-151-0/+1
|
* Dropping type parameters from typed TypeDefs.Martin Odersky2013-06-1311-119/+92
| | | | | | Typed TypeDefs no longer carry tparams. Untyped ones still do, but there is a special PolyTypeDef node for them in untpd. Also, fixed flatten and DeSugarTest to deal with new tree desugarings which are not idempotent (e.g. desugar.classDef, or desugar.valDef).
* Removed dead code.Martin Odersky2013-06-121-2/+0
| | | | Parameterized are never PolyTypes anymore, so do not need to test for this.
* Made type parameters left leaning for AndTypes.Martin Odersky2013-06-122-38/+60
| | | | | | | | What did not work before: type F[T] = G[X] & Runnable We now make this work by interpreting type parameters of the RHS to be the type parameters of G[X].
* Made pos a total method on Symbols, returns NoSymbol if undefined.Martin Odersky2013-06-121-3/+3
|
* Integrated new treatment of higher-kinded types with Unpickler.Martin Odersky2013-06-077-160/+69
| | | | Could drop quite a bit of code in the process.
* Added support for eliminating type parameters from TypeDefs.Martin Odersky2013-06-073-6/+168
| | | | | | | (1) New scheme for higher-kinded types that deals also with F-bounds. (2) Type parameters in type aliases are eliminated in most cases by expressing as unparameterized aliases of some refinement type. We will issue an error where this is not possible.
* Added `pos` meethod to symbols.Martin Odersky2013-06-071-0/+5
|
* Namer redesign.Martin Odersky2013-06-067-161/+225
| | | | A new design that relies on DefDef local maps, instead of global maps before.
* Changed meaning of typeParamsMartin Odersky2013-06-061-7/+15
| | | | | | | Type parameters are now counted only if they are not refined. I.e. previously given class Map[K, V], K and V would be type parameters of Map { K = Int }, but now only V would be. Also, added a new kind of name filter that gets all type members.
* wip - partial redesign of namer/typerMartin Odersky2013-06-053-186/+187
|
* Refactoring: breaking out desugaring into its own object.Martin Odersky2013-06-0415-689/+689
| | | | | Also, changing the maps in Namer. More commenting needs to be done. Pushing now to get off this machine and back to the new one, which just came back form repair.
* Refactorings: ModDefTree renamed to MemberDef and removed EmptyFlags ↵Martin Odersky2013-06-035-17/+17
| | | | | | | comparisons. EmptyFlags comparisons were eliminated and replaced bu .isEmpty tests. The problem this solves is that more than one flag value can represent an empty flag set.
* More solid design of Namer with some Typer bits added.Martin Odersky2013-06-0311-87/+454
|
* wip, because I have to get off this machine.Martin Odersky2013-05-3013-98/+241
|
* wip namer.Martin Odersky2013-05-289-22/+191
|
* TempTrees -> ThicketMartin Odersky2013-05-273-131/+67
| | | | Dropped Thicket as a Seq. Plus some other smallish changes.
* Making use of specialized TempTrees constructors.Martin Odersky2013-05-252-2/+2
|
* Making EmptyTree a special case of TempTreesMartin Odersky2013-05-257-67/+65
|
* Made TempTrees array-backed.Martin Odersky2013-05-253-25/+97
| | | | This is a first step towards going from List[Tree] to an array-backed solution with special cases for small numbers.
* Added tests for desugaring.Martin Odersky2013-05-246-24/+244
|
* Improvements to printing trees.Martin Odersky2013-05-242-40/+47
|
* Improvements to desugaringMartin Odersky2013-05-243-40/+207
| | | | | (1) Reorganization of Typed/Untyped trees. Untyped trees now have their own copier, transformer and accumulators. (2) Better treatment of functions
* Parser tweaks to handling new and templates.Martin Odersky2013-05-242-15/+39
|
* NameTransformer.encode now goes from names to names.Martin Odersky2013-05-244-16/+16
| | | | Also, special treatment of <init>, which is not encoded.
* More tweaks to desugaringMartin Odersky2013-05-235-49/+102
| | | | | | (1) Made desugaring reaching a fixed point. (2) Systematic encoding of names. (3) Introduced Closure nodes which represent anonymous functions
* Moved TempTrees to Trees, get automatically flattened in transforms.Martin Odersky2013-05-234-32/+41
|
* Eliminating Trees.TypedTree and Trees.UntypedTreeMartin Odersky2013-05-224-31/+32
| | | | | Replaced by tpd.Tree and untpd.Tree. Also some cleanups in RefinedPrinters.
* Made tpd/untpd toplevel objects.Martin Odersky2013-05-2221-714/+709
| | | | Moved all other elements of TypedTrees and UntypedTrees into tpd and untpd.
* More tree refactorings.Martin Odersky2013-05-2224-783/+786
| | | | | | | 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
* Added desugaring.Martin Odersky2013-05-2211-88/+506
| | | | With various other small changes.
* Fix to typechecking of Try nodes.Martin Odersky2013-05-171-7/+4
|
* Refactored Printing architecture.Martin Odersky2013-05-1723-572/+924
| | | | | Split printers into several files. Added refined printing of trees. Changed Showable and generalized printing under a precedence.
* Some fixes to parsers.Martin Odersky2013-05-171-7/+11
|
* New version of syntax-summary, with addition of string interpolators for ↵Martin Odersky2013-05-151-4/+8
| | | | quasi-quotes.
* Made precedence common between parsers and printersMartin Odersky2013-05-143-28/+43
|
* Refactored Printers, Showable and Text into new package dotc.printing.Martin Odersky2013-05-1414-25/+29
|
* New parser testsMartin Odersky2013-05-133-3/+72
| | | | | | | | | | | | … which take some statistics. So far (on a Macbook pro): code base tested = scala/src + dotty/src lines: 290'000 nodes created: ~1'004'000 parse times + tree building times after 10 iterations: 700-750ms, i.e. ~ 400Klines/sec full transform of 1M nodes without tree copying: ~50ms full transform with full copying: 150-200ms
* First tiny bit of statistics.Martin Odersky2013-05-132-0/+13
|
* Added conditional warning facilityMartin Odersky2013-05-135-14/+40
| | | | …for deprecation, feature, unchecked.
* new tests and worksheetsMartin Odersky2013-05-125-0/+113
|
* Lots of fixes to parserMartin Odersky2013-05-122-90/+178
| | | | … and some to grammar.
* Various fixes to trees.Martin Odersky2013-05-124-24/+30
| | | | | | | | Try now takes a tree as catch-part (instead of a sequence of CaseDefs, which has been replaced by Match(EmptyTree, cases)). Templates now take a DefDef as constructor. Added InterpolatedString as new untyped tree constructor.
* Various fixes to token sets.Martin Odersky2013-05-121-8/+8
|
* Adding toString to Source positions.Martin Odersky2013-05-121-1/+5
|
* Various fixes to Scanners.Martin Odersky2013-05-121-13/+22
| | | | In particular: keyword handling, comments, numbers.