Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Dropping type parameters from typed TypeDefs. | Martin Odersky | 2013-06-13 | 11 | -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 Odersky | 2013-06-12 | 1 | -2/+0 |
| | | | | Parameterized are never PolyTypes anymore, so do not need to test for this. | ||||
* | Made type parameters left leaning for AndTypes. | Martin Odersky | 2013-06-12 | 2 | -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 Odersky | 2013-06-12 | 1 | -3/+3 |
| | |||||
* | Integrated new treatment of higher-kinded types with Unpickler. | Martin Odersky | 2013-06-07 | 7 | -160/+69 |
| | | | | Could drop quite a bit of code in the process. | ||||
* | Added support for eliminating type parameters from TypeDefs. | Martin Odersky | 2013-06-07 | 3 | -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 Odersky | 2013-06-07 | 1 | -0/+5 |
| | |||||
* | Namer redesign. | Martin Odersky | 2013-06-06 | 7 | -161/+225 |
| | | | | A new design that relies on DefDef local maps, instead of global maps before. | ||||
* | Changed meaning of typeParams | Martin Odersky | 2013-06-06 | 1 | -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/typer | Martin Odersky | 2013-06-05 | 3 | -186/+187 |
| | |||||
* | Refactoring: breaking out desugaring into its own object. | Martin Odersky | 2013-06-04 | 15 | -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 Odersky | 2013-06-03 | 5 | -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 Odersky | 2013-06-03 | 11 | -87/+454 |
| | |||||
* | wip, because I have to get off this machine. | Martin Odersky | 2013-05-30 | 13 | -98/+241 |
| | |||||
* | wip namer. | Martin Odersky | 2013-05-28 | 9 | -22/+191 |
| | |||||
* | TempTrees -> Thicket | Martin Odersky | 2013-05-27 | 3 | -131/+67 |
| | | | | Dropped Thicket as a Seq. Plus some other smallish changes. | ||||
* | Making use of specialized TempTrees constructors. | Martin Odersky | 2013-05-25 | 2 | -2/+2 |
| | |||||
* | Making EmptyTree a special case of TempTrees | Martin Odersky | 2013-05-25 | 7 | -67/+65 |
| | |||||
* | Made TempTrees array-backed. | Martin Odersky | 2013-05-25 | 3 | -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 Odersky | 2013-05-24 | 6 | -24/+244 |
| | |||||
* | Improvements to printing trees. | Martin Odersky | 2013-05-24 | 2 | -40/+47 |
| | |||||
* | Improvements to desugaring | Martin Odersky | 2013-05-24 | 3 | -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 Odersky | 2013-05-24 | 2 | -15/+39 |
| | |||||
* | NameTransformer.encode now goes from names to names. | Martin Odersky | 2013-05-24 | 4 | -16/+16 |
| | | | | Also, special treatment of <init>, which is not encoded. | ||||
* | More tweaks to desugaring | Martin Odersky | 2013-05-23 | 5 | -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 Odersky | 2013-05-23 | 4 | -32/+41 |
| | |||||
* | Eliminating Trees.TypedTree and Trees.UntypedTree | Martin Odersky | 2013-05-22 | 4 | -31/+32 |
| | | | | | Replaced by tpd.Tree and untpd.Tree. Also some cleanups in RefinedPrinters. | ||||
* | Made tpd/untpd toplevel objects. | Martin Odersky | 2013-05-22 | 21 | -714/+709 |
| | | | | Moved all other elements of TypedTrees and UntypedTrees into tpd and untpd. | ||||
* | More tree refactorings. | Martin Odersky | 2013-05-22 | 24 | -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 Odersky | 2013-05-22 | 11 | -88/+506 |
| | | | | With various other small changes. | ||||
* | Fix to typechecking of Try nodes. | Martin Odersky | 2013-05-17 | 1 | -7/+4 |
| | |||||
* | Refactored Printing architecture. | Martin Odersky | 2013-05-17 | 23 | -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 Odersky | 2013-05-17 | 1 | -7/+11 |
| | |||||
* | New version of syntax-summary, with addition of string interpolators for ↵ | Martin Odersky | 2013-05-15 | 1 | -4/+8 |
| | | | | quasi-quotes. | ||||
* | Made precedence common between parsers and printers | Martin Odersky | 2013-05-14 | 3 | -28/+43 |
| | |||||
* | Refactored Printers, Showable and Text into new package dotc.printing. | Martin Odersky | 2013-05-14 | 14 | -25/+29 |
| | |||||
* | New parser tests | Martin Odersky | 2013-05-13 | 3 | -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 Odersky | 2013-05-13 | 2 | -0/+13 |
| | |||||
* | Added conditional warning facility | Martin Odersky | 2013-05-13 | 5 | -14/+40 |
| | | | | …for deprecation, feature, unchecked. | ||||
* | new tests and worksheets | Martin Odersky | 2013-05-12 | 5 | -0/+113 |
| | |||||
* | Lots of fixes to parser | Martin Odersky | 2013-05-12 | 2 | -90/+178 |
| | | | | … and some to grammar. | ||||
* | Various fixes to trees. | Martin Odersky | 2013-05-12 | 4 | -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 Odersky | 2013-05-12 | 1 | -8/+8 |
| | |||||
* | Adding toString to Source positions. | Martin Odersky | 2013-05-12 | 1 | -1/+5 |
| | |||||
* | Various fixes to Scanners. | Martin Odersky | 2013-05-12 | 1 | -13/+22 |
| | | | | In particular: keyword handling, comments, numbers. | ||||
* | Fixes to tree printing | Martin Odersky | 2013-05-12 | 1 | -2/+3 |
| | | | | Now goes inside lists. Also prints positions. | ||||
* | Various fixes to Positions. | Martin Odersky | 2013-05-12 | 1 | -20/+42 |
| | |||||
* | Making Abstract a common flag. | Martin Odersky | 2013-05-12 | 1 | -18/+20 |
| | | | | Reason: When parsing abstract can be used for types as well as terms. For terms: in conjunction with override. | ||||
* | Early initialization of keywords to save space. | Martin Odersky | 2013-05-12 | 1 | -0/+4 |
| | |||||
* | Cleanup printing of positions. | Martin Odersky | 2013-05-12 | 1 | -3/+3 |
| |