aboutsummaryrefslogtreecommitdiff
path: root/test/test/transform
Commit message (Collapse)AuthorAgeFilesLines
* Change `ClassicReporter` to `TestReporter` in test sourcesFelix Mulder2016-11-091-4/+4
|
* add the forgotten patmat testliu fengyun2016-11-091-0/+90
|
* Fix miniphase assembly.Martin Odersky2015-08-151-5/+5
| | | | | | | | There were two architectural errors here, which confused TreeTransforms and MiniPhases and which caused "NotDefinedHere" on transformFollowing: 1. TreeTransforms should not have idx fields, MiniPhases have them.2 2. TreeTransformers initialize arrays of MiniPhases not TreeTransforms.
* Added methods to prepare-for and transform a complete compilation unit tree.Martin Odersky2014-11-121-5/+5
| | | | Should replace destructive inits.
* Drop modifiers as separate data from MemberDef treesMartin Odersky2014-11-101-5/+5
| | | | Typed MemberDef trees now take the modifiers from their symbol's data.
* Disabling two tests which failed.Martin Odersky2014-08-291-1/+1
| | | | I reiterate my suspicion that these tests are too specific. So far, all these test failures were spurious. They created work without giving a benefit.
* Rename in Phase: name -> phaseNameMartin Odersky2014-08-181-12/+12
| | | | | Most transformations are subclasses of phase. Having a generic name like `name` in scope everywhere is therefore very risky.
* Changes to tree copyingMartin Odersky2014-08-131-8/+8
| | | | | | | | 1) Add copiers with default arguments, to avoid boilerplate 2) All copiers are now curried wrt first argument (which is the original tree). We already make use of the new features in cpy.DefDef, but not yet elsewhere.
* Disentangle phases from treetransformsMartin Odersky2014-08-091-8/+8
| | | | | | | | TreeTransforms are no longer phases. This allows to generate new transforms in prepare... methods without running into the problem that thee new transforms are undefined as phases. It also makes for a cleaner separation of concerns.
* Changed PostTyperTransformer schemeMartin Odersky2014-07-173-6/+8
| | | | | | | | | | | | 1) We now always generate companion objects for classes. This is done in mini-phase "companions", which also assures that companion-modules appear after companion-classes. 2) PostTyperTransformers is gone; the part which normalizes trees has been rolled into TreeTransform and the part which reordered companion classes and modules is now in Companions. Note: Some tests were deisabled; should be re-enabled by Dmitry where needed.
* Phases in tests now also have valid periods.Dmitry Petrashko2014-07-163-0/+22
|
* Fix too precise type error in LazyVals.Dmitry Petrashko2014-05-091-20/+20
|
* Fix lazy vals test broken by fixing fixing tpd.ClassDef.Dmitry Petrashko2014-05-081-11/+12
|
* Fix lazy vals tests broken by previous commit.Dmitry Petrashko2014-04-091-9/+10
|
* Reduce verbosity of logs.Dmitry Petrashko2014-04-021-1/+0
| | | | | | | | | | We are already over limit on output size imposed by travis that is shown in webpage, if we'll continue to add tests will be soon over limit even to run builds. This commit disables printing of classpath, and removes printlns in several places. In order for ShowClassTests to print info as is was printing previously, please set "test.ShowClassTests.verbose" property.
* Fix error in lazy-vals.Dmitry Petrashko2014-03-311-1/+1
| | | | Wrong helper method was used.
* Test that lazy val doesn't rewrite module definitions.Dmitry Petrashko2014-03-311-0/+9
|
* Allow MiniPhase to be DenotTransformerDmitry Petrashko2014-03-194-33/+55
| | | | | | All MiniPhases now as are full-fledged phases, and are given their own periods and can register DenotTransformers. MiniPhases belonging to same group(list) will be squashed to single phase.
* LazyVals phase.Dmitry Petrashko2014-03-191-0/+350
| | | | | | | | | | | | | | | Creates accessors for lazy vals: 1) lazy local vals are rewritten to dotty.runtime.Lazy*** holders 2) for a non-volatile field lazy val create a non-thread-safe accessor and flag: 2.a) if lazy val type indicates that val is not nullable, uses null value as a flag 2.b) else uses boolean flag for sake of performance, method size, and allowing more jvm optimizations 3) for a volatile field lazy val use double locking scheme, that guaranties no spurious deadlocks, using long bits as bitmaps and creating companion objects to store offsets needed for unsafe methods. Conflicts: test/dotc/tests.scala
* Re-enabled and renamed testsMartin Odersky2014-03-181-4/+4
| | | | | CreateCompanionObjectTests were re-enabled. They failed in a previous version but succeed again in the latest commit. Also uncurry.scala got renamed to curried.scala.
* Refactored denotation transformersMartin Odersky2014-03-181-4/+4
| | | | | | | | Many small and large changes. Added samplePhase to demonstrate functionality. To test functioning, run the compiler with args tests/pos/uncurry.scala -Ylog:sample,terminal
* CreateCompanionObjects transformerDmitry Petrashko2014-03-131-0/+117
| | | | | A transformer that provides a convenient way to create companion objects.
* PostTyper transformersDmitry Petrashko2014-03-131-0/+117
| | | | | | | 1) reorders companion objects so that they allways follow matching classes 2) removes imports and named arguments 3) rewrites all trees holding types are to TypeTrees
* Tree Transformer&TreeTransform:Dmitry Petrashko2014-03-061-0/+179
1) using fast tracks in case node type isn't altered by Transformation; 2) using pre-computed hints(nxTransformXXX arrays) to quickly jump to next transformation interested in transforming particular Tree type; 3) using pre-computed hints(nxPrepareXXX arrays) to know which transformations are going to 'prepare' for transforming particular Tree type; 4) recomputing those hints in case some transformation changed implementation class during 'prepare'; 5) TreeTransform is now responsible of calling transformFollowing on nodes created by it.