summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* TreeMaker approximation refactorings and bug fixesAdriaan Moors2012-05-222-225/+401
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - TypeTestTreeMaker subsumes the old TypeTestTM and TypeAndEqualityTM its type- and equality-testing logic is configurable so that it can: - generate trees (main purpose) - check whether this tree maker is a pure type test - generate the proposition that models this tree maker (for exhaustivity and other analyses) - [CSE] subst binders of dropped tm's to stored ones somehow the refactoring broke the replacement of the binder of dropped treemakers by the binder of the reused treemaker when replacing TM1(x1 => ...) >> TM2(x2 => ...) >> TM3(x3 => ...) >> ... TM1'(x1' => ...) >> TM2'(x2' => ...) >> TM3(x3' => ...) >> ... by Memo1(x1 => ...) >> TM2(x2 => ...) >> Memo2(x3 => ...) >> ... Reuse(Memo2)... you need to replace x1' and x2' by x1 since TM2 tested a shared condition but was not memo-ised, that implies it simply passed x1 through to x3 unmodified, and x2' can simply use the stored x1 - type of first uniqued binder sets type of tree when approximating a tree of treemakers as a DAG, where sharing indicates the same value is tested, use the type of the binder that was first used to create a unique tree as the type of that tree, and thus all trees used for the same binder in the future - track substitution of alternatives when approximating - error on unswitchable @switch annotated matches if we can't turn a match (with more than two cases) into a switch, but the user insists, emit an error misc notes: - when all you need is nextBinder, FunTreeMaker is your guy - must pass flag to TypeTestTM for extractorarg test case TypeTestTreeMaker(prevBinder, testedBinder, expectedTp, nextBinderTp) (prevBinder eq testedBinder) does not imply it's a pure type test for an extractor call note that the expected type for an extractor argument is not a type pattern, thus we only do a classic type test -- the idea was to detect that case by noticing we're being called with the same previous and tested binder, but that case also arises for Typed patterns
* Merge pull request #593 from som-snytt/ticket/5760-pkgobj-warnAdriaan Moors2012-05-214-1/+31
|\ | | | | SI-5760: Improve error message for package$Klass conflict with Klass
| * SI-5760: Improve error message for package$Klass conflict with KlassSom Snytt2012-05-204-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | Added a clarification to DoubleDefError for when the previous symbol was in the package object but current symbol is not. This was actually supposed to be an opportunity to hack partest to run the two-step failing compilation, but somebody beat me to it and my rebase failed. The next hacking opportunity might be to add .pt script files! The possibilities are endless.
* | Merge pull request #591 from retronym/ticket/3888Adriaan Moors2012-05-211-0/+16
|\ \ | | | | | | Test case closes SI-3880.
| * | Test case closes SI-3880.Jason Zaugg2012-05-201-0/+16
| |/ | | | | | | virtpatmat ftw.
* | Merge pull request #590 from retronym/ticket/3899Adriaan Moors2012-05-213-0/+39
|\ \ | | | | | | Pending test for SI-3899.
| * | Pending test for SI-3899.Jason Zaugg2012-05-203-0/+39
| |/ | | | | | | | | | | The super accessor for the Java varargs method impedes Uncurry's efforts to convert repeated arguments to an Array. I'm not sure how to fix that.
* | Merge pull request #587 from retronym/ticket/5125Adriaan Moors2012-05-215-10/+90
|\ \ | | | | | | Fix @varargs forwarder generation in the presence of nested templates.
| * | Improve test for SI-5125.Jason Zaugg2012-05-201-1/+1
| | | | | | | | | | | | Uncomment a line, as was the intent.
| * | Fix @varargs forwarder generation in the presence of nested templates.Jason Zaugg2012-05-205-10/+90
| |/ | | | | | | | | | | Makes `newMembers` a Map[Symbol, Buffer[Tree]] to ensure we add the forwarders to the right template. Closes SI-5125.
* | Merge pull request #576 from axel22/issue/4717Adriaan Moors2012-05-212-13/+50
|\ \ | |/ |/| | | Fix SI-4717: lazy val declared inside an anonymous class inside a specialized context no longer crashes Duplicators.
| * Fixes previous commit.Aleksandar Prokopec2012-05-181-2/+2
| | | | | | | | Should be checking if the owner of the new symbol is a class, not the new symbol itself.
| * Further fixes SI-4717.Aleksandar Prokopec2012-05-181-2/+2
| | | | | | | | | | | | | | Only adding a lazy val into list of declarations if the owner is a class. Review by dragos. @mention dragos
| * Fixes SI-4717.Aleksandar Prokopec2012-05-184-38/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lazy val declared inside an anonymous class inside a specialized context no longer crashes Duplicators. Previously, a duplicated lazy val was assigned to the wrong owner in Duplicators: def x[B >: A]: Unit = new Bounds[B] { lazy val it = ??? // def or val okay } Above, the `it` in `$anon` in `x$mcZ$sp` had its owner set to `x$mcZ$sp` instead of `$anon`. This crashed the typer when it had to retype its lazy accessor, because there was no `lazy var it` in `$anon$`. Furthermore, the duplicated symbol wasn't being added to the list of declarations of `$anon`. Changes: 1) `invalidate` in Duplicators takes an additional parameter which is the new owner of the new symbol that has to be duplicated. If this parameter is set to `NoSymbol`, then the new owner is `context.owner`, as before. 2) the newly created lazy val symbol is being added to the list of declarations of its new owner. Removes debugging output from the previous commit. Review by dragos. @mention dragos
| * Add more logging.Aleksandar Prokopec2012-05-154-8/+61
| |
* | Merge pull request #582 from heathermiller/scaladoc/keyboard-shortcutsAdriaan Moors2012-05-195-166/+276
|\ \ | | | | | | Fix SI-5055 (for real). Implement keyboard shortcuts in Scaladoc. Browsing is fun again!
| * | Actually fixes SI-5055. Scaladoc now a zillion times less annoyingHeather Miller2012-05-191-16/+36
| | |
| * | Adds ability to navigate Scaladoc with arrow keysHeather Miller2012-05-192-149/+229
| | |
| * | Minor fix to Tab-switch keyboard shortcutHeather Miller2012-05-181-2/+2
| | |
| * | Added Scaladoc keyboard shortcut: tab toggles between panelsHeather Miller2012-05-184-5/+15
| | |
* | | Merge pull request #581 from lrytz/t4812-uncAdriaan Moors2012-05-192-3/+12
|\ \ \ | | | | | | | | Fix SI-4812: handle trait method with Symbol as default for argument
| * | | Fix 4812Lukas Rytz2012-05-192-3/+12
| | | | | | | | | | | | | | | | Remove default arguments from parameter ValDefs in UnCurry.
* | | | Merge pull request #578 from lrytz/wip/t5044-squashedAdriaan Moors2012-05-195-3/+38
|\ \ \ \ | | | | | | | | | | fix SI-5044: better error message on cyclic error and named/default args
| * | | | better feedback for SI-5044Lukas Rytz2012-05-185-3/+38
| | | | |
* | | | | Merge pull request #577 from lrytz/wip/t2488Adriaan Moors2012-05-195-1/+60
|\ \ \ \ \ | | | | | | | | | | | | Fix SI-2488: allow named arg, in original position, before positionals
| * | | | | Fix SI-2488Lukas Rytz2012-05-185-1/+60
| | |_|/ / | |/| | |
* | | | | Merge pull request #568 from hubertp/issue/5801Adriaan Moors2012-05-193-1/+41
|\ \ \ \ \ | |_|_|/ / |/| | | | Fix SI-5801: error messages regression.
| * | | | Fixes SI-5801, error messages regression. Review by @adriaanmHubert Plociniczak2012-05-183-1/+41
| | | | |
* | | | | Merge pull request #574 from axel22/issue/4461Josh Suereth2012-05-183-1/+23
|\ \ \ \ \ | | | | | | | | | | | | Fixes SI-4461.
| * | | | | Fixes SI-4461.Aleksandar Prokopec2012-05-183-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | No review.
* | | | | | Merge pull request #572 from lrytz/wip/t5544Adriaan Moors2012-05-187-1/+30
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix SI-5544
| * | | | | | Fix SI-5544Lukas Rytz2012-05-187-1/+30
| | |_|/ / / | |/| | | | | | | | | | | | | | | | Type-check annotations in a context with a localDummy owner
* | | | | | Merge pull request #569 from phaller/wip-sip14-fixes-newAdriaan Moors2012-05-1810-83/+201
|\ \ \ \ \ \ | | | | | | | | | | | | | | SIP-14: clean ups and fixes by @viktorklang
| * | | | | | SIP-14: clean ups and fixesphaller2012-05-1710-83/+201
| | | | | | |
* | | | | | | Merge pull request #571 from lrytz/wip/t4138Josh Suereth2012-05-183-3/+14
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Fix 4138
| * | | | | | Fix 4138Lukas Rytz2012-05-183-3/+14
| | |/ / / / | |/| | | |
* | | | | | Merge pull request #567 from lrytz/wip/t3488Josh Suereth2012-05-182-0/+8
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Test case for SI-3844 - fixed by #virtpatmat @adriaanm
| * | | | | Test case for SI-3844 - fixed by #virtpatmat @adriaanmLukas Rytz2012-05-162-0/+8
| |/ / / /
* | | | | Merge pull request #566 from lrytz/wip/t4928Adriaan Moors2012-05-185-18/+36
|\ \ \ \ \ | | | | | | | | | | | | Fix SI-4928
| * | | | | Fix SI-4928Lukas Rytz2012-05-165-18/+36
| | |_|/ / | |/| | | | | | | | | | | | | better error message when a parameter is first defined positionally, then with a named argument.
* | | | | Merge pull request #564 from scalamacros/topic/assertinresetattrsJosh Suereth2012-05-176-22/+17
|\ \ \ \ \ | | | | | | | | | | | | fixes resetAttrs
| * | | | | fixes resetAttrsEugene Burmako2012-05-176-22/+17
| | | | | |
* | | | | | Merge pull request #563 from milessabin/feature/enrich-gentraversablesJosh Suereth2012-05-175-0/+105
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Added infrastructure to enable easy enrichment of GenTraversables.
| * | | | | Added infrastructure to enable easy enrichment of GenTraversables.Miles Sabin2012-05-175-0/+105
| | | | | |
* | | | | | Merge pull request #562 from retronym/ticket/5803Josh Suereth2012-05-173-1/+10
|\ \ \ \ \ \ | |/ / / / / |/| | | | | A band-aid solution for SI-5803.
| * | | | | A band-aid solution for SI-5803.Jason Zaugg2012-05-173-1/+10
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since ae5ff662, resetAttrs duplicates trees, which doesn't preserve ApplyConstructor. My attempt to modify TreeCopier to do so proved trickier than expected. In any case, ApplyConstructor is not long for this world, and is only used in tree printing to distinguish `new X` from regular Apply trees, so this should suffice pending full surgery.
* | | | | Merge pull request #560 from heathermiller/issue/5623Adriaan Moors2012-05-171-7/+43
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fixes SI-5623 on SyncVar. Deprecates set & unset. Review by @phaller.
| * | | | | Missed a stashHeather Miller2012-05-171-1/+1
| | | | | |
| * | | | | Merge branch 'master' of git://github.com/scala/scala into issue/5623Heather Miller2012-05-1622-41/+123
| |\| | | |
| * | | | | Fixes SI-5623 on SyncVar and deprecates set & unset.Heather Miller2012-05-161-7/+43
| | |/ / / | |/| | |