aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 0.9.0-M6v0.9.0-M6_2.10Jason Zaugg2014-03-121-1/+1
|
* [backport] Test case for "not a class" crasher in live variableJason Zaugg2014-03-121-0/+28
| | | | | | Works on the 2.10.x branch, so just backprting the test. Cherry picked from 6f6546ebfc26564843621e79d840209a5103d3c8.
* Fix substitution in release script messageJason Zaugg2014-03-101-2/+2
|
* Update release script for _2.10 tagging conventionJason Zaugg2014-03-101-2/+2
|
* Update version in READMEJason Zaugg2014-03-101-1/+1
|
* 0.9.0-SNAPSHOTJason Zaugg2014-03-101-1/+1
|
* 0.9.0-M5v0.9.0-M5_2.10Jason Zaugg2014-03-101-1/+1
|
* only build 2.10.x on this branchJason Zaugg2014-03-101-6/+0
|
* Merge pull request #58 from retronym/topic/unhardcode-tryJason Zaugg2014-01-272-5/+2
|\ | | | | Unhardcode use of scala.util.Try
| * Unhardcode use of scala.util.TryJason Zaugg2014-01-282-5/+2
|/ | | | In favour of the type defined by the active FutureSystem.
* Merge pull request #56 from retronym/topic/still-todoJason Zaugg2014-01-141-1/+1
|\ | | | | Update TODO comment about pres. compiler friendliness.
| * Update TODO comment about pres. compiler friendliness.Jason Zaugg2014-01-141-1/+1
| |
* | Merge pull request #55 from retronym/ticket/copyrightPhilipp Haller2014-01-1433-35/+35
|\ \ | |/ |/| Update copyright years.
| * Update copyright years.Jason Zaugg2014-01-1433-35/+35
|/ | | | 2013 must have been unlucky.
* Merge pull request #54 from akkomar/masterJason Zaugg2014-01-141-2/+2
|\ | | | | Minor fixes in Async`s scaladoc.
| * Minor fixes in Async`s scaladoc.akomar2014-01-121-2/+2
|/
* Merge pull request #20 from theon/patch-1Jason Zaugg2014-01-081-2/+2
|\ | | | | Fix line numbers for example in README
| * Fix line numbers for example in READMEIan Forsey2013-06-051-2/+2
| |
* | Update version in READMEJason Zaugg2013-11-241-1/+1
| |
* | 0.9.0-SNAPSHOTJason Zaugg2013-11-241-1/+1
| |
* | 0.9.0-M4v0.9.0-M4Jason Zaugg2013-11-241-1/+1
| |
* | Merge pull request #47 from retronym/topic/pres2Jason Zaugg2013-11-221-6/+5
|\ \ | | | | | | Another take at the 2.10/2.11 spanning suppressMacroAttachment
| * | Another take at the 2.10/2.11 spanning suppressMacroAttachmentJason Zaugg2013-11-201-6/+5
| | | | | | | | | | | | It was only working on the former.
* | | Merge pull request #50 from retronym/ticket/48Philipp Haller2013-11-225-34/+73
|\ \ \ | | | | | | | | Fix crashers in do/while and while(await(..))
| * | | Fix crashers in do/while and while(await(..))Jason Zaugg2013-11-225-34/+73
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new tree shapes handled for do/while look like: // type checked async({ val b = false; doWhile$1(){ await(()); if (b) doWhile$1() else () }; () }) We had to change ExprBuilder to create states for the if/else that concludes the doWhile body, and also loosen the assertion that the label jump must be the last thing we see. We also have to look for more than just `containsAwait` when deciding whether an `If` needs to be transformed into states; it might also contain a jump to the enclosing label that is on the other side of an `await`, and hence needs to be a state transition instead.
* | | Merge pull request #51 from phaller/topic/travis-jdk-configPhilipp Haller2013-11-221-1/+1
|\ \ \ | |/ / |/| | Remove unsupported Oracle JDK6 from Travis CI config
| * | Remove unsupported Oracle JDK6 from Travis CI configPhilipp Haller2013-11-221-1/+1
|/ /
* | 0.9.0-SNAPSHOTJason Zaugg2013-11-202-2/+2
| |
* | 0.9.0-M3v0.9.0-M3Jason Zaugg2013-11-201-1/+1
| |
* | Merge pull request #42 from retronym/topic/hooksJason Zaugg2013-11-204-12/+58
|\ \ | | | | | | Hooks for custom async implementations
| * | Abstract over use of scala.util.TryJason Zaugg2013-11-134-11/+52
| | | | | | | | | | | | | | | Custom implementation of the async macro may choose to use a different data type to represent `Throwable | A`.
| * | Add a hook for post-ANF transformationJason Zaugg2013-11-132-1/+6
| | | | | | | | | | | | For use by custom implementations of the async macro.
* | | Merge pull request #46 from retronym/topic/pres-compiler-npeJason Zaugg2013-11-203-7/+31
|\ \ \ | | | | | | | | Presentation compiler friendliness
| * | | Less hacky check for presentation compiler.Jason Zaugg2013-11-201-1/+1
| | | | | | | | | | | | | | | | "There's a method for that!"
| * | | Return original macro application under presentation compiler.Jason Zaugg2013-11-202-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, the body of an async block suffers from diminished IDE support: most notably hyperlinking doesn't work [1]. During the course of the blackbox/whitebox macro discussion, we've often talked about how the former give us the latitude to simply disable macro expansion in the IDE so we could get these features working again, at the cost of losing domain specific errors, such as "await must not be used under a nested function". But why not have our cake and eat too? This commit detects if we are running the presentation compiler and, after running our regular macro, returns the original macro application. We need to annotate that tree to prevent the typechecker from stubbornly calling our macro again. EXPERIMENTAL NOTE: This logic shouldn't live in macros: this is just a short term measure. If these experiments in async prove successful, we'll roll something similar into the macro expansion engine itself. TODO: as a performance optimization, we could just run the "unsupported await" checks, and avoid doing the more expensive state machine transformation. [1] https://www.assembla.com/spaces/scala-ide/tickets/1001449-code-navigation-fails-when-macros-are-used#/activity/ticket:
| * | | Fix a NPE in the presentation compilerJason Zaugg2013-11-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using a TypingTransformer and we called `atOwner` before we had called `transform`. This meant that `currTree` was null, which was observed when that was passed to `Context#make`. IDE ticket: https://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1001971#/activity/ticket: Stack trace: exception during macro expansion: java.lang.NullPointerException at scala.tools.nsc.interactive.ContextTrees$class.addContext(ContextTrees.scala:78) at scala.tools.nsc.interactive.Global.addContext(Global.scala:28) at scala.tools.nsc.interactive.Global.registerContext(Global.scala:268) at scala.tools.nsc.typechecker.Contexts$Context.make(Contexts.scala:295) at scala.tools.nsc.typechecker.Contexts$Context.make0(Contexts.scala:320) at scala.tools.nsc.typechecker.Contexts$Context.make(Contexts.scala:327) at scala.tools.nsc.typechecker.Typers$Typer.atOwner(Typers.scala:5662) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28) at scala.async.internal.AsyncTransform$class.fixup$1(AsyncTransform.scala:191)
* | | | Update README.mdPhilipp Haller2013-11-181-1/+1
|/ / / | | | | | | Fixes #45
* | | Merge pull request #44 from phaller/topic/cleanup-43Philipp Haller2013-11-151-10/+2
|\ \ \ | | | | | | | | Clean-ups found during review of PR #43
| * | | Clean-ups found during review of PR #43Philipp Haller2013-11-141-10/+2
|/ / /
* | | Merge pull request #43 from retronym/ticket/icode-crasherPhilipp Haller2013-11-142-37/+94
|\ \ \ | | | | | | | | Fix crasher in icode due to symbol mismatches in lifted methods
| * | | Fix crasher in icode due to symbol mismatches in lifted methodsJason Zaugg2013-11-142-37/+94
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | These stem from the handling of the internal/external view or method type parameters by `thisMethodType` in `Namers`. I've now preseversed the orginal ValDefs favoured the latter when constructing the new DefDef, and made construction of all liftables consistent in this regard.
* / / Update README.mdJason Zaugg2013-11-131-0/+3
|/ / | | | | Link to CI status
* | Merge pull request #41 from retronym/topic/travisJason Zaugg2013-11-131-0/+13
|\ \ | | | | | | Enable Travis CI
| * | Enable Travis CIJason Zaugg2013-11-131-0/+13
| | |
* | | Merge pull request #40 from retronym/topic/live-var-captureJason Zaugg2013-11-135-18/+205
|\ \ \ | |/ / |/| | Don't aggressively null out captured vars
| * | Don't aggressively null out captured varsJason Zaugg2013-11-125-18/+205
|/ / | | | | | | | | Once they escape, we leave the references in the state machines fields untouched.
* | 0.9.0-SNAPSHOTJason Zaugg2013-11-071-1/+1
| |
* | Merge pull request #38 from phaller/topic/cleanup-cps-fallbackv0.9.0-M2Jason Zaugg2013-11-072-5/+3
|\ \ | | | | | | Remove left-overs of CPS fallback logic
| * | Remove left-overs of CPS fallback logicPhilipp Haller2013-11-072-5/+3
| | | | | | | | | | | | Completes removal performed in #37.
* | | Remove unneeded level from the group id.Jason Zaugg2013-11-072-2/+2
| | |