Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Renamed parameters in Typer&Applictaions. | Dmitry Petrashko | 2014-09-23 | 4 | -42/+14 |
| | | | | Indicating that pt is type of selector is this pattern match makes it easier to follow. | ||||
* | Disabling patmat tests failing due to typer. | Dmitry Petrashko | 2014-09-23 | 1 | -0/+29 |
| | |||||
* | All pat-mat specific tests succeed now. | Dmitry Petrashko | 2014-09-17 | 3 | -68/+133 |
| | | | | | Except t1048 which infers incorrect type in typer, patmat creates a tree that computes a more precise one that fails to typecheck Disabling erasure due to dozens of "Type BLA is illegal after erasure" errors. | ||||
* | Fixing periods for explicitOuter | Dmitry Petrashko | 2014-09-17 | 1 | -3/+5 |
| | |||||
* | More complicated tests for patmat | Dmitry Petrashko | 2014-09-17 | 1 | -12/+30 |
| | |||||
* | Allow skipping Label's in owner chains | Dmitry Petrashko | 2014-09-17 | 1 | -2/+3 |
| | |||||
* | Several fixes to patmat. | Dmitry Petrashko | 2014-09-17 | 4 | -66/+60 |
| | | | | Now patmat passes tests but erasure fails. | ||||
* | Extract ExplicitOuter functionality to be used by patmat | Dmitry Petrashko | 2014-09-17 | 1 | -29/+30 |
| | |||||
* | More convinient appliedToNone | Dmitry Petrashko | 2014-09-17 | 1 | -2/+8 |
| | |||||
* | After merge fixes | Dmitry Petrashko | 2014-09-17 | 3 | -18/+9 |
| | |||||
* | Remove dead code and add todo about outer tests not being generated | Dmitry Petrashko | 2014-09-17 | 1 | -4/+5 |
| | |||||
* | Remaining definitions for patmat. | Dmitry Petrashko | 2014-09-17 | 2 | -3/+16 |
| | |||||
* | Fixed unapplySeq. Patmat passes all test suite but typer itself breaks on it. | Dmitry Petrashko | 2014-09-17 | 1 | -3/+12 |
| | |||||
* | Everything except unapplySeq doesn't explode. | Dmitry Petrashko | 2014-09-17 | 2 | -69/+48 |
| | | | | That doesn't mean that it works. | ||||
* | Most of tests succeed now. | Dmitry Petrashko | 2014-09-17 | 1 | -39/+81 |
| | |||||
* | More fixes, added _id for internal tracking of failures | Dmitry Petrashko | 2014-09-17 | 1 | -34/+41 |
| | |||||
* | more of adapting patmat for dotty | Dmitry Petrashko | 2014-09-17 | 1 | -59/+71 |
| | |||||
* | Adapting patmat for dotty | Dmitry Petrashko | 2014-09-17 | 1 | -28/+43 |
| | |||||
* | Helper methods for patmat | Dmitry Petrashko | 2014-09-17 | 1 | -13/+53 |
| | |||||
* | Pattern expanders for patmat | Dmitry Petrashko | 2014-09-17 | 1 | -2/+141 |
| | |||||
* | Match translator for patmat | Dmitry Petrashko | 2014-09-17 | 1 | -15/+732 |
| | |||||
* | add Substitution to patmat. | Dmitry Petrashko | 2014-09-17 | 1 | -69/+119 |
| | | | | Some compilation errors fixed | ||||
* | TreeMakers for patmat | Dmitry Petrashko | 2014-09-17 | 1 | -0/+619 |
| | |||||
* | Optimized codegen for patmat | Dmitry Petrashko | 2014-09-17 | 1 | -2/+112 |
| | |||||
* | CommonCodegen for patMat | Dmitry Petrashko | 2014-09-17 | 1 | -4/+140 |
| | |||||
* | Common functionality to be shared between patmat and typer | Dmitry Petrashko | 2014-09-17 | 1 | -40/+48 |
| | |||||
* | Definitions used by patmat | Dmitry Petrashko | 2014-09-17 | 2 | -0/+59 |
| | |||||
* | More complicated patterns. | Dmitry Petrashko | 2014-09-17 | 1 | -0/+24 |
| | |||||
* | Unapply doc update | Dmitry Petrashko | 2014-09-17 | 1 | -0/+1 |
| | |||||
* | Making all case classes implement Product. Requires adding Product0 | Dmitry Petrashko | 2014-09-17 | 1 | -1/+0 |
| | |||||
* | initValue helper method | Dmitry Petrashko | 2014-09-17 | 2 | -17/+21 |
| | |||||
* | Definitions used by pattern matcher | Dmitry Petrashko | 2014-09-17 | 3 | -6/+34 |
| | |||||
* | Allow converting junit test to scalameter benchmark | Dmitry Petrashko | 2014-09-17 | 2 | -2/+109 |
| | | | | | | Lets start tracking performance! To run benchmarks execute `dotty-bench/test:run` in sbt | ||||
* | Changes from discussion in #171 | Dmitry Petrashko | 2014-09-17 | 5 | -6/+19 |
| | |||||
* | Revert of b2e0e7b4 "tpd.TreeOps#select creates non member syms after erasure." | Martin Odersky | 2014-09-13 | 1 | -2/+1 |
| | | | | | With the new more systematic treatment of fresh symbols in TreeTypeMap, this is no longer ncessary. | ||||
* | Better TreeTypeMaps | Martin Odersky | 2014-09-13 | 10 | -58/+151 |
| | | | | | | | | | | | | | | | | 1. They now keep track of changed constructors in templates, updating the class scope as for other members. 2. Any changed members are now entered into the new class scope at exactly the same position as the old one. That ensures that things like caseAccessors still work. 3. ChangeOwners now is reflected in the prefixes of any named types. 4. Newly created classes now get their own ClassInfo type. 5. TreeTypeMaps always crete "fresh" symbols. Fresh symbols do not share a NamedType reference with an existing reference to some other symbol. This obviates b2e0e7b4, which will be reverted. To make it work, the interface of TreeMap changed from an ownerMap function to a substitution-like data structure working with two lists. | ||||
* | New phase: CapturedVars | Martin Odersky | 2014-09-12 | 6 | -2/+146 |
| | | | | Breaks out boxing functionality of captured vars from lambda lift. | ||||
* | Fix handling of Array#clone in Erasure | Martin Odersky | 2014-09-12 | 3 | -4/+5 |
| | | | | | Treat clone like the other primitive array operations, ensure it returns a JavaArray. | ||||
* | Better failure diagnostic in TreeTransform | Martin Odersky | 2014-09-12 | 1 | -10/+16 |
| | | | | Include a backtrace of nested calls on error. | ||||
* | Skip label methods in enclosing method | Martin Odersky | 2014-09-12 | 1 | -1/+3 |
| | | | | | | Otherwise would spuriously treat variables referenced from while loops as captured, because their enclosing method differs from current enclosing method. | ||||
* | Handle return in tailcalls. | Martin Odersky | 2014-09-12 | 2 | -18/+27 |
| | | | | | Avoids characterizing the "from" link in a return as a tail call reference. | ||||
* | Phase name change of explicitOuter. | Martin Odersky | 2014-09-12 | 1 | -3/+1 |
| | |||||
* | Erasure should keep prefixes in TermRefs | Martin Odersky | 2014-09-12 | 1 | -17/+10 |
| | | | | | Bring TermRefs in line with TypeRefs. Prefixes need to be kept so that termrefs can be re-loaded in subsequent runs. | ||||
* | tpd.TreeOps#select creates non member syms after erasure. | Martin Odersky | 2014-09-10 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | Without this patch, ast.TreeInfo does not compile wfter next commit "Erasure should keep prefixes in TermRefs". The reason is that outer path genertion generates a data race between - an outer accessor created in ExplicitOuter - a copy of the accessor created in ElimByName in a TreeTypeMap copy. The patch avoids the data race by using a fixed symbol for the new TermRef generated in outer.path during erasure. But the fix seems ad-hoc. We should try to attack the problem at the root in TypeTreeMap. The root problem seems to be that TypeTreeMap generates a copy of symbols whnMemere the copies of the symbols give the same named type as the originals. We can either label the copied symbols so that any types created from them become instances of WithNonMemberSym (which probably should be renamed then). Or else we have a "linear" version of TreeMap that overrides sym denotations instead of creating new symbols. | ||||
* | Keep inherited names through erasure | Martin Odersky | 2014-09-10 | 1 | -3/+12 |
| | | | | | If the original name in a selection is a inherited name, the erased name should also be one. | ||||
* | Make isVolatile a SymUtil method. | Martin Odersky | 2014-09-10 | 2 | -2/+4 |
| | |||||
* | Fix class decls in TypeTypeMap | Martin Odersky | 2014-09-10 | 2 | -4/+23 |
| | | | | | | If definitions in a class are substituted by TreeTypeMap, the new symbols have to show up in the `decls` scope of the class instead of the old ones. | ||||
* | Keep SuperTypes around after erasure. | Martin Odersky | 2014-09-10 | 2 | -4/+4 |
| | | | | | The reason is that otherwise the non-private member super.x gets merged with the private member this.x and that causes a double binding violation. | ||||
* | Fixes to TreeChecker | Martin Odersky | 2014-09-10 | 1 | -3/+3 |
| | | | | | 1) One phase too many was checked for postconditions. 2) Class members did not have their owners checked because index was not called on them. | ||||
* | Move explicit outer after pattern matching | Martin Odersky | 2014-09-06 | 2 | -2/+8 |
| | | | | | But allow pattern matching to provide outer accessors when needed using with ensureOuterAccessors. |