aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Fix #19phaller2012-11-261-26/+66
| |/ | | | | | | | | | | | | - Add tests where the result of an await is assigned to a variable external to the async block. - Clean up HygieneSpec.
* | Turn object into defphaller2012-11-261-12/+11
| |
* | Simplify attachCopy in TransformUtilsphaller2012-11-263-39/+14
| | | | | | | | This refactoring removes a group of factory methods.
* | Remove modifiers of case class parametersphaller2012-11-264-4/+4
|/
* Refactor some tree creation from Async to ExprBuilder.Jason Zaugg2012-11-243-72/+89
|
* Tiny aesthetic refactorings.Jason Zaugg2012-11-242-14/+14
|
* Refactoring to avoid unneeded mutable fields.Jason Zaugg2012-11-241-34/+21
| | | | Brings uniformity to the result generation of AsyncStateBuilder.
* Refactoring to use AwaitableJason Zaugg2012-11-241-19/+16
| | | | Rather than three separate parameters.
* Refactor AsyncState heirarchy.Jason Zaugg2012-11-241-34/+38
| | | | | No more extension from concrete classes; no more dummy values for nextState.
* More refactoring in ExprBuilder.Jason Zaugg2012-11-241-41/+33
| | | | | | - Moving some private methods out of the top-billing at the head of the file - Replace three nullable fields with one Option.
* Address a little duplication in ExprBuilder.Jason Zaugg2012-11-241-20/+19
|
* More small refactorings.Jason Zaugg2012-11-243-27/+14
| | | | Goal is to make ExprBuilder less cluttered.
* Refactor name substitution out of ExprBuilder.Jason Zaugg2012-11-242-12/+17
|
* Favouring composition over inheritance.Jason Zaugg2012-11-245-31/+31
|
* add missing copyrightJason Zaugg2012-11-2427-15/+64
|
* Refine tracing of ANF.Jason Zaugg2012-11-241-2/+3
| | | | - show the AST on one line.
* Centralize naming.Jason Zaugg2012-11-243-29/+33
|
* Cleanup var lifting.Jason Zaugg2012-11-242-33/+12
| | | | | Seeing as we know in advance the full set of lifted vars, we don't need to thread this information through ExprBuilder.
* Cleaner while rewritingJason Zaugg2012-11-242-21/+22
| | | | | | | -preserve LabelDef symbols to allow use of Symbol, rather than Names as map keys. -a label jump overwrites the nextState of an AsyncState. This is cleaner than inserting a return { state = 12; resume() }.
* Prohibit await in if condition (for now)Jason Zaugg2012-11-246-20/+62
| | | | | | Test nested loops. Control ANF tracing with another system property.
* Prohibit return.Jason Zaugg2012-11-232-0/+14
| | | | Closes #21
* Explicitly prohibit await in nested methods.Jason Zaugg2012-11-234-2/+19
|
* Enable debug logging with a system property.Jason Zaugg2012-11-232-5/+6
|
* Support await in a while loop.Jason Zaugg2012-11-237-43/+112
|
* Test for await in while (currently forbidden).Jason Zaugg2012-11-234-3/+40
| | | | Lookup the ValDef symbol from Assign#rhs.symbol.
* Forbid await in try/catch.Jason Zaugg2012-11-232-0/+40
|
* Tightenen up modifiers and other refactoring.Jason Zaugg2012-11-234-18/+13
|
* Fix #31, Unfinished ANF transformJason Zaugg2012-11-234-10/+67
| | | | | | | | Prepend {(); ... } before starting the ANF transform. Add tracing to the anf/inline transform. Also enables and addresses SIP-18 warnings.
* Move TestUtils contents directly into the package object.Jason Zaugg2012-11-232-59/+42
| | | | Why suffer SI-4695 needlessly?
* Fix scaladoc formatting.Jason Zaugg2012-11-231-3/+3
|
* Preserve positions and attachments.Jason Zaugg2012-11-232-28/+78
| | | | | | | | | Not quite sure how to test this yet; the original trees coming from toolbox don't seem to come with position to start with. But this is a start.
* Convert null check to an assert.Jason Zaugg2012-11-231-5/+4
| | | | We seem to be symful now.
* Ensure unique names for definitions in the async block.Jason Zaugg2012-11-236-49/+113
| | | | | | | | - transform the provided tree using reflect.internal.Symbols#Symbol.name_= and treeCopy.{Ident, Select}. - not sure if this is possible within the public Symbol API. - move checking for unsupported nested module/class to AsyncAnalysis. - make block merging selective (only do so if there are nested await calls.)
* Minor refactoring in ANF transform.Jason Zaugg2012-11-221-31/+27
|
* Add TODO comment.Jason Zaugg2012-11-221-1/+1
|
* Make the ANF transform more selective.Jason Zaugg2012-11-221-57/+52
|
* Refactor the analyzers to a seprarate file.Jason Zaugg2012-11-224-103/+114
|
* Lookup await symbol in AsyncBase.Jason Zaugg2012-11-221-3/+3
|
* Comment.Jason Zaugg2012-11-221-0/+2
|
* Support match as an expression.Jason Zaugg2012-11-228-152/+272
| | | | | | | | - corrects detection of await calls in the ANF transform. - Split AsyncAnalyzer into two parts. Unsupported await detection must happen prior to the async transform to prevent the ANF lifting out by-name arguments to vals and hence changing the semantics.
* Cleanups and docs.Jason Zaugg2012-11-224-123/+108
| | | | | - Move now-working duplicate definition tests from `neg` to `run`. - Renames and small code beautification around the var lifting analysis
* Remove unused imports.Jason Zaugg2012-11-221-8/+4
|
* Frugality is no longer required with state IDs.Jason Zaugg2012-11-223-56/+52
| | | | | | Change the way state IDs are allocated to avoid the need to ration them out. Also make the logging tolerant of a toolbox setting that doesn't have a source file.
* Minimize lifting of vars.Jason Zaugg2012-11-223-72/+68
|
* Preserve ValDef symbol.Jason Zaugg2012-11-213-2/+8
|
* Only transform if/match-s that contain an await.Jason Zaugg2012-11-215-6/+167
| | | | | | Accurate reporting of misplaced awaits. Attempt to collect the minimal set of vars to lift.
* Slight simplification of in-flight type checking.Jason Zaugg2012-11-212-7/+6
|
* Remove obsolete transformationsphaller2012-11-211-3/+3
|
* Change type of name mapphaller2012-11-212-9/+10
|
* Add negative tests for inlining blocks in ANF transformphaller2012-11-201-0/+57
|