aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Handle boxing inside labels, jump back to box.Dmitry Petrashko2015-03-182-42/+84
| | | | | | | | | | | | | | | Erasure inserts boxing and unboxing of label returned values, ignoring the fact that some labels do not return. Now this is taken into account also inside labels which refer labels themselves
| * | Workaround #371 module classes read from byte code have no syperclassDmitry Petrashko2015-03-111-1/+11
| | |
| * | Update version of scalac fork.Dmitry Petrashko2015-03-112-2/+2
| | | | | | | | | | | | | | | Includes fixed for emitting string concatenation if string originates from an array. Eg `"hello " + Array("world")(0)`
| * | Fix eliding of non-elidable prefix in TypeMap.andThenDmitry Petrashko2015-03-111-1/+4
| | |
| * | Enable all pos tests for backend.Dmitry Petrashko2015-03-111-3/+5
| | | | | | | | | | | | compiling dotty is stil WIP
| * | Workaround #348, linkedClass is broken after flattenDmitry Petrashko2015-03-111-1/+6
| | |
| * | New phase: ElimWildcardIdents.Dmitry Petrashko2015-03-112-1/+50
| | | | | | | | | | | | | | | Ident('_') was reaching backend in rhs of body of initialiser methods. This phase replaces those initialisers with default values of corresponding type.
* | | Merge pull request #378 from dotty-staging/ycheck-for-symblsDmitry Petrashko2015-03-172-1/+41
|\ \ \ | | | | | | | | Check validity of symbols in Ycheck
| * | | YCheck now checks symbols for validity.Dmitry Petrashko2015-03-171-1/+38
| | | | | | | | | | | | | | | | For now check if symbol was already defined and if classes have a valid superclass.
| * | | Add isAnonymousModuleValDmitry Petrashko2015-02-271-0/+3
| | | | | | | | | | | | | | | | As we are now synthesizing companion objects for all classes, this seems reasonable to have.
* | | | Merge pull request #407 from dotty-staging/fix/#400odersky2015-03-132-1/+15
|\ \ \ \ | | | | | | | | | | Fix #400
| * | | | Fix #400Martin Odersky2015-03-132-1/+15
| | | | | | | | | | | | | | | | | | | | In a call-by-name arg, replace () => f.apply() with f only if f is pure.
* | | | | Merge pull request #408 from dotty-staging/test/#390Dmitry Petrashko2015-03-132-1/+1
|\ \ \ \ \ | | | | | | | | | | | | New test for valueclasses
| * | | | | New test for valueclassesMartin Odersky2015-03-132-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Re-instantiated t2667.scala, which failed before because of issue #390. Also changed order of tests in isDerivedValueClass, to make more disriminating test come first.
* | | | | Merge pull request #409 from dotty-staging/add/strictDmitry Petrashko2015-03-135-1/+6
|\ \ \ \ \ | |/ / / / |/| | | | add/strict
| * | | | add/strictMartin Odersky2015-03-135-1/+6
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add -strict option to do some type checks that are encessary to ensure type soundness, but are stricter than what Scala 2.x enforces. The first such test is the "pattern cannot be uniquely instantiated" problem where we reject a non-variant case subclass of a covariant superclass in a pattern match. The error is now only issued in -struct mode, otherwise it will be a warning. We might move more tests into the same category. This should help the transition.
* | | | Merge pull request #390 from smarter/fix/isDerivedValueClassodersky2015-03-131-1/+4
|\ \ \ \ | | | | | | | | | | `AnyVal` is not a derived value class
| * | | | AnyVal is not a derived value classGuillaume Martres2015-03-051-1/+4
| | | | |
* | | | | Merge pull request #405 from dotty-staging/fix/class-field-initializationDmitry Petrashko2015-03-114-19/+38
|\ \ \ \ \ | |_|_|/ / |/| | | | Fixes to class field initialization
| * | | | Fixes to class field initializationMartin Odersky2015-03-114-19/+38
|/ / / / | | | | | | | | | | | | | | | | | | | | Class fields were not initialized from constructor parameters before. This is now fixed. The fix uncovered some problems with the treatement of outer parameters which are now also corrected.
* | | | Merge pull request #399 from smarter/fix/ctxResetDmitry Petrashko2015-03-101-5/+3
|\ \ \ \ | | | | | | | | | | Compiler#newRun: reset the context _before_ initializing a new run
| * | | | Compiler#newRun: reset the context _before_ initializing a new runGuillaume Martres2015-03-101-5/+3
|/ / / / | | | | | | | | | | | | | | | | Previously it was incorrectly done after the run was initialized, this fixes #391.
* | | | Merge pull request #398 from dotty-staging/change/later-elimByNameDmitry Petrashko2015-03-103-2/+4
|\ \ \ \ | | | | | | | | | | Move ElimByName as late as possible.
| * | | | Move ElimByName as late as possible.Martin Odersky2015-03-103-2/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | ElimByName might be merged with erasure, so we can alreayd move it as close a pssoble to it. Verified that it can't be moved beyong ResolevSuper, but not why.
* | | | Merge pull request #392 from namin/stealer-fold-reverseDmitry Petrashko2015-03-061-1/+1
|\ \ \ \ | | | | | | | | | | The fold reverses the order of the typed strings.
| * | | | The fold reverses the order of the typed strings.Nada Amin2015-03-061-1/+1
| |/ / /
* | | | Merge pull request #388 from dotty-staging/drop/throwodersky2015-03-0610-63/+46
|\ \ \ \ | |/ / / |/| | | Drop/throw
| * | | Implement handling of synthetic throw method in backend.Dmitry Petrashko2015-03-051-4/+11
| | | | | | | | | | | | | | | | Having backend abstracted away from AST helps a lot here.
| * | | Eliminate Throw as a typed TreeMartin Odersky2015-03-049-57/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace with <compiler-ops>.throw(exception) Only leave Throw as an untyped tree.
| * | | Create OpsPackage to hold compiler-interpreted symbolsMartin Odersky2015-03-042-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compiler interpreted methods now have a home in OpsPackage. The first such symbol is dummyApply. But other symbols representing primitive operations (e.g. array operations) could also go there.
* | | | Merge pull request #383 from smarter/fix/fullyParameterizedDefDmitry Petrashko2015-03-053-0/+8
|\ \ \ \ | |/ / / |/| | | FullParameterization: fix rewiring of Returns
| * | | FullParameterization: fix rewiring of ReturnsGuillaume Martres2015-03-023-0/+8
| |/ / | | | | | | | | | | | | The `from` field of a Return tree should either be EmptyTree or an Ident corresponding to the method we're returning from.
* | | Merge pull request #384 from dotty-staging/fix/constructor-aliasDmitry Petrashko2015-03-023-10/+17
|\ \ \ | |/ / |/| | Fix bug which prevented New over type-instantiated aliases.
| * | Fix bug which prevented New over type-instantiated aliases.Martin Odersky2015-02-283-10/+17
|/ / | | | | | | | | | | | | | | | | | | | | Previously, type Map = HashMap[Int, String] new Map did not work. See test aliasNew.scala for a test. Formerly this logic handled in Parsers (wrapNew), but that one does not work for aliastypes.
* | Merge pull request #382 from dotty-staging/fix/#375Dmitry Petrashko2015-02-271-1/+9
|\ \ | | | | | | Fix of #375 - adapt returned value in erasure
| * | Fix of #375 - adapt returned value in erasureMartin Odersky2015-02-261-1/+9
|/ /
* | Merge pull request #377 from dotty-staging/ycheck-is-a-phaseDmitry Petrashko2015-02-266-59/+127
|\ \ | | | | | | make Ycheck a phase
| * | Addres reviewers comments #377Dmitry Petrashko2015-02-262-3/+3
| | |
| * | Bring back support for -YstopBefore and -YstopAfterDmitry Petrashko2015-02-192-15/+15
| | |
| * | Adjust periods to allow up to 64 phases.Dmitry Petrashko2015-02-191-3/+3
| | |
| * | Allow recomputing phase schedule per pun.Dmitry Petrashko2015-02-193-48/+106
| | |
| * | Allow disabling squarshingDmitry Petrashko2015-02-191-3/+6
| | | | | | | | | | | | Do not die if phases aren't squashed
| * | Make TreeChecker a phaseDmitry Petrashko2015-02-191-1/+8
| | |
* | | Merge pull request #380 from dotty-staging/fix/#371Dmitry Petrashko2015-02-252-2/+3
|\ \ \ | |/ / |/| | Fix for #371
| * | fix ambiguous reference when loading "equals" of object "BoxesRuntime"Dmitry Petrashko2015-02-251-1/+1
| | |
| * | Fix for #371Martin Odersky2015-02-241-1/+2
|/ / | | | | | | | | | | | | | | | | | | This causes backend to fail with ambiguous reference when loading member "equals" of object "BoxesRuntime". The reference is indeed ambiguous. BoxesRunTime has a two paremeter equals method and, with the fix, inherits the one-parameter method from Object. The backend needs to disambiguate, e.g. by demanding the `decl` equals in BoxesRunTime instead of the member.
* | Merge pull request #368 from smarter/type-stealerDmitry Petrashko2015-02-174-10/+75
|\ \ | | | | | | Type stealer, take 2
| * | Type stealer that allows to steal types after typerDmitry Petrashko2015-02-171-0/+32
| | | | | | | | | | | | | | | Proposed to be used from repl: it gives you internal representation of types after frontend and a context to play with them
| * | Add dotty repl & type stealerDmitry Petrashko2015-02-173-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dotty requires a mangled bootclasspath to start. It means that `console` mode of sbt doesn't work for us. At least I wasn't able to make sbt fork in console, so instead I've added a Scala-repl into dotty itself :-) It would be good to make it use dotty one day when we have a backend :-)
* | | Merge pull request #366 from smarter/fix/value-classes-methodsDmitry Petrashko2015-02-174-8/+27
|\ \ \ | |/ / |/| | Fix the synthetic methods of value classes