summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Fix reifier crashing repl.Paul Phillips2012-04-252-0/+31
| | | | | | Very first time I tried "reify" in the repl and it crashed. I changed an assert to issue a proper error, as best I could figure out how. We probably need to do a lot more of this.
* Moved ancillary methods off specialized traits.Paul Phillips2012-04-243-8/+8
| | | | | | | Moved compose/andThen off Function1, curried/tupled off Function2. Pushed Tuple2 zipped into auxiliary class. Created implicits to plaster over the changes. This drops several hundred classfiles and takes (unoptimized) scala-library.jar from 7.8 Mb to 7.4 Mb.
* Update checkfile with more backticks.Paul Phillips2012-04-241-1/+1
|
* Merge commit 'refs/pull/433/head' into developPaul Phillips2012-04-243-0/+18
|\
| * fixes SI-5704Eugene Burmako2012-04-243-0/+18
| |
* | copy BackQuotedIdent trees (don't copy as Ident)Adriaan Moors2012-04-242-0/+13
| | | | | | | | | | | | | | typer synthesized the wrong isDefinedAt method in typedMatchAnon because a BackQuotedIdent was copied as an Ident, so that the equality check was performed in applyOrElse (since it operates on the original tree), but not in isDefinedAt (since it operates on the copy, which collapsed Ident and BackQuotedIdent)
* | generate well-formed patterns in parserAdriaan Moors2012-04-242-0/+7
|/ | | | | | | | | | | | | | | | val pattern: Type = expr desugared to val x = expr match { case pattern: Type => (var_1, ..., var_N)} but `pattern: Type` is only a valid pattern if `pattern` is an Ident thus, we desugar to val x = (expr: Type) match { case pattern => (var_1, ..., var_N)} ... in this case (see def makePatDef) also, MaybeBoundType now fails on illegal patterns (to defend against similar regressions)
* Removed FlatArray.Paul Phillips2012-04-234-52/+36
| | | | We thought better of it.
*-. Merge commit 'refs/pull/427/head'; commit 'refs/pull/428/head' into developPaul Phillips2012-04-23206-696/+4521
|\ \
| | * interop between manifests and tagsEugene Burmako2012-04-2326-0/+231
| | |
| | * resurrects manifests in their pre-2.10 gloryEugene Burmako2012-04-2357-0/+3246
| | |
| | * migrates stdlib and compiler to tagsEugene Burmako2012-04-2382-446/+410
| | | | | | | | | | | | | | | * all usages of ClassManifest and Manifest are replaced with tags * all manifest tests are replaced with tag tests
| | * rethinks tagsEugene Burmako2012-04-2345-401/+785
| | | | | | | | | | | | | | | * introduces ArrayTag and ErasureTag * all type tags now feature erasure
* | | Merge commit 'refs/pull/425/head' into developPaul Phillips2012-04-232-0/+19
|\ \ \ | |/ / |/| |
| * | Fix for SI-5471Vojin Jovanovic2012-04-232-0/+19
| | |
* | | Merge commit 'refs/pull/424/head' into developPaul Phillips2012-04-2315-28/+14
|\ \ \ | |_|/ |/| |
| * | minor fixes to reificationEugene Burmako2012-04-2315-28/+14
| |/
| |
| \
*-. | Merge commit 'refs/pull/419/head'; commit 'refs/pull/420/head'; commit ↵Paul Phillips2012-04-225-0/+24
|\ \| | | | | | | | | | 'refs/pull/421/head'; commit 'refs/pull/422/head' into develop
| * | fixes SI-5689Eugene Burmako2012-04-213-0/+14
| |/
| * fixes SI-5680Eugene Burmako2012-04-202-0/+10
| |
* | scala.reflect.api: Reporters => FrontEndsEugene Burmako2012-04-202-3/+3
|/
* fixes testsEugene Burmako2012-04-172-11/+10
|
* assorted stability fixesEugene Burmako2012-04-174-0/+23
|
* adds erasures to concrete type tagsEugene Burmako2012-04-1711-384/+385
|
* Another checkfile update.Paul Phillips2012-04-161-5/+5
| | | | For mr. optimizer and his band of merry privates.
* One more checkfile update.Paul Phillips2012-04-161-1/+1
|
* Merge commit 'refs/pull/408/head'Paul Phillips2012-04-165-55/+61
|\
| * don't emit tiny switches: optimizer chokes on themAdriaan Moors2012-04-144-53/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | workaround for inliner bug in run/t3835 see SI-5672 for the optimizer bug tiny switches (2 cases or less) don't make sense anyway, so this is not a big deal the annotDepMethType.flags contained -Xexperimental, which causes Any* to be considered as a valid return type, before we weren't exposed to this, because the product methods used (tiny) switches; with this change, they went back to pattern matches in any case, the -Xexperimental was intended to turn on dependent method types, not Any* as valid type (I can only assume), and they are now on by default the other tests were affected by our refusal to emit tiny switches
| * restore typedMatchAnonFun in all its gloryAdriaan Moors2012-04-141-2/+2
| | | | | | | | | | | | | | | | | | detect partialfunction in cpsannotationchecker emit apply/isDefinedAt if PF has @cps targs (applyOrElse can't be typed) further hacky improvements to selective anf better try/catch support in selective cps using freshly minted anonfun match make virtpatmat resilient to scaladoc (after uncurry, don't translate matches TODO: factor out translation all together so presentation compiler/scaladoc can skip it)
| * work around optimizer bug SI-5672Adriaan Moors2012-04-141-2/+7
| | | | | | | | | | | | the optimizer generates wrong bytecode for switches in arguments virtpatmat happily emits a switch for a one-case switch, whereas -Xoldpatmat did not this is not the focus of this test, hence the temporary workaround
| |
| \
*-. \ Merge commit 'refs/pull/406/head'; commit 'refs/pull/407/head'; branch ↵Paul Phillips2012-04-167-12/+395
|\ \ \ | | | | | | | | | | | | 'type-destructure' into develop
| | * | New facility: TypeDestructurers.Paul Phillips2012-04-166-7/+386
| |/ / |/| | | | | | | | | | | | | | Would prefer to bake a little longer, but, scala days. More elaboration to come.
| * | Clean ups in futures based on review by @heathermiller and review by ↵phaller2012-04-151-3/+4
| | | | | | | | | | | | @viktorklang
| * | Merge branch 'master' of https://github.com/scala/scala into wip-sip14-fixesHeather Miller2012-04-151029-1873/+7816
| |\ \ | |/ / |/| |
| * | Fix issues with exception handling in futures. Review by @heathermillerphaller2012-04-141-4/+7
| | |
* | | Fix for test checkfile.Paul Phillips2012-04-151-29/+2
| | |
| | |
| \ \
| \ \
| \ \
*---. \ \ Merge commit 'refs/pull/401/head'; commit 'refs/pull/402/head'; commit ↵Paul Phillips2012-04-1456-219/+126
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | 'refs/pull/403/head'; commit 'refs/pull/404/head'; commit 'refs/pull/405/head' into develop
| | | * | removes obsolete macro testsEugene Burmako2012-04-1436-108/+0
| |_|/ / |/| | |
| | * | implements reification of tough typesEugene Burmako2012-04-1419-109/+119
| | | |
| * | | work around optimizer bug SI-5672Adriaan Moors2012-04-141-2/+7
|/ / / | | | | | | | | | | | | | | | the optimizer generates wrong bytecode for switches in arguments virtpatmat happily emits a switch for a one-case switch, whereas -Xoldpatmat did not this is not the focus of this test, hence the temporary workaround
| | |
| \ \
| \ \
| \ \
| \ \
| \ \
*-----. \ \ Merge commit 'refs/pull/387/head'; commit 'refs/pull/388/head'; commit ↵Paul Phillips2012-04-1420-33/+330
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 'refs/pull/392/head'; commit 'refs/pull/397/head' into develop
| | | | * | | Reimplemented shadowing between class membersVlad Ureche2012-04-144-32/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and implicit pimped on members. Thanks to Lukas for pointing it out!
| | | | * | | Adapted implicits testsuite for SIP18Vlad Ureche2012-04-1412-1/+11
| | | | |/ /
| | | * | | SI-5663: Tweak warnings on case class equalsSom Snytt2012-04-133-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-enable testing the sensibility of comparing instances of two case classes. In particular, warn if we detect that the two objects inherit from different case classes. In addition, avoid emitting misleading warnings when comparing "new C".
| * | | | | Adds test and check files for SI-5666. Covers common non-newable types.Simon Ochsenreither2012-04-132-0/+51
| |/ / / /
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge commit 'refs/pull/391/head'; commit 'refs/pull/390/head' into developPaul Phillips2012-04-1470-196/+313
|\ \ \ \ \ \
| | * | | | | no longer need -YvirtpatmatAdriaan Moors2012-04-141-1/+1
| | | | | | |
| | * | | | | enable implicit enrichment when typing patternsAdriaan Moors2012-04-133-0/+15
| | | | | | |
| * | | | | | virtpatmat on by default; chicken out: -XoldpatmatAdriaan Moors2012-04-1463-190/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | some tests (unreachability, exhaustivity, @switch annotation checking) are still run under -Xoldpatmat, but that will change before we go into RC mode (then the test/ partest of this commit will be reverted) removed irrelevant dependency on patmat
| * | | | | | virtpatmat: initial CPS supportAdriaan Moors2012-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | typers&patmatvirtualizer have ad-hoc support for dropping annotations in a way that makes the CPS plugins happy... this is not ideal, but unless virtpatmat runs after the plugin phases, I don't see how to solve it running virtpatmat after the CPS plugin would mean the pattern matching evaluation cannot be captured by CPS, so it's not even desirable to move it to a later phase - typedIf must lub annotated types - drop selector.tpe's annotations - drop annots in matchEnd's argument type - deal with annots in casts synth by in virtpatmat (drop them from type arg to asInstanceof, recover them using type ascription) - workaround skolemize existential dropping annots CPS is the main reason why typedMatchAnonFun is not used anymore, and PartialFunction synthesis is moved back to uncurry (which is quite painful due to labeldefs being so broken) we can't synth partialfunction during typer since T @cps[U] does not conform to Any, so we can't pass it as a type arg to PartialFunction, so we can't type a cps-transformed PF after the CPS plugin, T @cps[U] becomes ControlContext[...], which is a type we can pass to PartialFunction virtpatmat is now also run until right before uncurry (so, can't use isPastTyper, although it means more or less the same thing -- we don't run after uncurry) the main functional improvements are in the selective ANF transform its treatment of labeldefs was broken: for example, LabelDef L1; LabelDef L2 --> DefDef L1; L1(); DefDef L2; L2() but this does not take into account L1 may jump over L2 to another label since methods always return (or fail), and the ANF transform generates ValDefs to store the result of those method calls, both L1 and L2 would always be executed (so you would run a match with N cases N times, with each partial run starting at a later case) also fixed a couple of weird bugs in selective anf that caused matches to be duplicated (with the duplicate being nested in the original) since label defs are turned into method defs, and later defs will be nested in the flatMap calls on the controlcontext yielded by earlier statements, we reverse the list of method definitions, so that earlier (in the control flow sense) methods are visible in later ones selective CPS now generates a catch that's directly digestible by backend