summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '2bd62d2cfff47882eb72768cfb054638ed0f039b'Paul Phillips2012-04-272-2/+8
|\
| * fixes broken eval testsEugene Burmako2012-04-272-2/+8
| |
* | Revert "Moved ancillary methods off specialized traits."Paul Phillips2012-04-2715-184/+294
| | | | | | | | | | | | This reverts commit 1d0372f84f9a7325a47beb55169cc454895ef74b. I forgot about polymorphic dispatch. Have to seek another way.
| |
| \
| \
| \
*---. | Merge commit 'refs/pull/445/head'; commit 'refs/pull/446/head'; commit ↵Paul Phillips2012-04-277-10/+50
|\ \ \| | | | | | | | | | | | | 'refs/pull/447/head' into develop
| | | * fixes SI-5713Eugene Burmako2012-04-275-1/+36
| | | |
| | * | essential information about macro expansionEugene Burmako2012-04-271-6/+6
| | |/
| * / SI-3755: catch exception thrown by adaptToNewrunAdriaan Moors2012-04-271-3/+8
| |/ | | | | | | | | | | it would be nice to have a test for this, but you'd need to involve the repl, as I couldn't trigger it using multiple scalac runs
* / Maybe this will fix the test on windows.Paul Phillips2012-04-271-1/+1
|/
*-. Merge commit 'refs/pull/443/head'; commit 'refs/pull/444/head' into developPaul Phillips2012-04-2620-98/+346
|\ \
| | * SI-5702 Pattern parser halts on starSom Snytt2012-04-2618-58/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In patterns, the parser halts when it sees stars. This means it does not handle infix notation for a case class named "*". This patch uses lookahead to decide whether to parse '_' '*' as a sequence pattern or as the start of infix. (For both normal and error cases, the tokens are always consumed immediately.) Error messages are improved for _* (as a help to learners) and slightly improved recovery helps the parse continue. The entry point for XML patterns is now distinct; otherwise, the change is local to pattern3-simplepattern; the entry point for simplepattern() is unchanged because it is commented "hook for IDE."
| * | clean up typedMatchAnonFunAdriaan Moors2012-04-261-39/+51
| | |
| * | SI-5690: no-selector match in function yields functionAdriaan Moors2012-04-262-1/+19
| | | | | | | | | | | | | | | | | | | | | the implicit beta-reduction performed by typedFunction on a Function(.., Match(EmptyTree, ...)) must of course only be done when the selector actually is empty... (yes, typedMatchAnonFun needs to be cleaned up, I know)
* | | Better position printing in NodePrinters.Paul Phillips2012-04-261-12/+36
| | | | | | | | | | | | | | | | | | Try this unreasonably long command line: scalac -Xprint-pos -Yshow-trees -Xprint:all -Yrangepos *.scala
* | | A brand new, fast classfile parser.Paul Phillips2012-04-268-0/+612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try it: ./tools/dump-class ./build/quick/classes The output is intended to be easy to filter on the command line. This is a starting point for lots of interesting bytecode analysis for which we have waited too long. Example. All generic signatures we produce. // almost 20K classfiles % find build/quick/classes -name '*.class' |wc -l 18519 // fully parsed in 6 seconds tools/dump-class build/quick/classes |grep "^ signature" | wc -l 50802 real 0m6.230s It's designed to be easy to make faster if you don't care about particular classfile bits; you can override those methods to jump forward in the input stream rather than building a structure. For just a little sampling, here are our most frequently repeated name/signature combinations. 194 signature <init> ()V // this one is weird, wonder why there's a generic signature 115 signature $div$colon$bslash <A1:Ljava/lang/Object;>(TA1;Lscala/Function2<TA1;TA1;TA1;>;)TA1; 105 signature applyOrElse <A1:Ljava/lang/Object;B1:Ljava/lang/Object;>(TA1;Lscala/Function1<TA1;TB1;>;)TB1; 103 signature view ()Ljava/lang/Object; 101 signature toSet <B:Ljava/lang/Object;>()Lscala/collection/immutable/Set<TB;>; And the top five name/descriptor combinations. 11170 descriptor <clinit> ()V 10155 descriptor serialVersionUID J 7130 descriptor apply (Ljava/lang/Object;)Ljava/lang/Object; 3028 descriptor apply ()Ljava/lang/Object; 2426 descriptor <init> ()V
* | | cleaning up macros, one step at a timeEugene Burmako2012-04-2611-137/+135
|/ /
* | Trying to set an example in the land of macros.Paul Phillips2012-04-254-101/+117
| | | | | | | | | | | | | | | | Hopefully there are useful examples to be had in here. Please note that you should never be testing "x.size != 0", use isEmpty or nonEmpty. Even if these happen to be small collections, it's not a habit you want to form: size is O(n) on a number of collections. (Most pointedly, Lists.)
* | More style tips for team macros.Paul Phillips2012-04-251-26/+13
| |
* | Reverts 211df62491 .Paul Phillips2012-04-251-67/+37
| | | | | | | | | | A strange blip in the benchmarks makes me wish to see this on the sidelines.
| |
| \
| \
| \
*---. \ Merge commit 'refs/pull/439/head'; commit 'refs/pull/440/head'; commit ↵Paul Phillips2012-04-2541-225/+171
|\ \ \ \ | | | | | | | | | | | | | | | 'refs/pull/441/head' into develop
| | | * | diagnostics for SI-5692Eugene Burmako2012-04-254-3/+24
| | | | |
| | * | | fixes SI-5693Eugene Burmako2012-04-254-89/+85
| | |/ /
| * / / removes Expr <-> Tree implicitsEugene Burmako2012-04-2533-133/+62
| |/ /
| | |
| \ \
*-. \ \ Merge commit 'refs/pull/437/head'; commit 'refs/pull/438/head' into developPaul Phillips2012-04-259-13/+91
|\ \ \ \
| | * | | updated tests now matches aren't translated if forInteractiveAdriaan Moors2012-04-252-5/+2
| | | | |
| | * | | fail gracefully on very messed up source filesAdriaan Moors2012-04-251-1/+1
| | | | |
| | * | | don't translate matches in the IDEAdriaan Moors2012-04-252-6/+8
| | | | |
| * | | | Added a Presentation Compiler test for hyperlinking.Iulian Dragos2012-04-255-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test ensures hyperlinking works inside and around pattern matching. The new virtual pattern matcher synthesizes trees that are not properly nested, and whose positions make it impossible to retrieve the correct tree/symbol for a given position. Therefore, the current test is using the old pattern matcher. However, once the virtual pattern matcher is fixed, remove the corresponding line from patmat.flags to re-enable virtpatmat.
* | | | | Minor tweaks to reifier logic.Paul Phillips2012-04-252-29/+39
| | | | | | | | | | | | | | | | | | | | Nothing too major, please see the comment.
* | | | | Some long overdue conveniences.Paul Phillips2012-04-2511-24/+58
| |_|/ / |/| | | | | | | | | | | | | | | | | | | Not just conveniences though. One of the clearest statements made by profiling is that collections methods of the form of the enclosed flatCollect are materially faster than the alternatives.
* | | | Merge commit 'refs/pull/436/head'Paul Phillips2012-04-253-0/+12
|\ \ \ \ | |_|/ / |/| | |
| * | | fixes SI-5706Eugene Burmako2012-04-253-0/+12
| | | |
* | | | Fix reifier crashing repl.Paul Phillips2012-04-254-16/+54
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | fixes SI-5707Eugene Burmako2012-04-253-4/+4
|/ / /
* | | Merge pull request #434 from adriaanm/topic/virtpatmatAdriaan Moors2012-04-250-0/+0
|\ \ \ | |/ / |/| | updated check file
| * | updated check fileAdriaan Moors2012-04-241-1/+1
| | |
* | | Moved ancillary methods off specialized traits.Paul Phillips2012-04-2415-296/+183
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Reordering genBlock match cases by frequency.Paul Phillips2012-04-241-36/+68
| | |
* | | Update checkfile with more backticks.Paul Phillips2012-04-241-1/+1
| | |
* | | Merge commit 'refs/pull/433/head' into developPaul Phillips2012-04-244-1/+19
|\ \ \ | |/ / |/| |
| * | fixes SI-5704Eugene Burmako2012-04-244-1/+19
| | |
* | | TODO: use tree attachments instead of subclassesAdriaan Moors2012-04-241-2/+12
| | |
* | | copy BackQuotedIdent trees (don't copy as Ident)Adriaan Moors2012-04-246-2/+24
| | | | | | | | | | | | | | | | | | | | | 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-244-6/+32
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | Back from the dead, it's ScalaObject!Paul Phillips2012-04-241-0/+16
| | | | | | | | | | | | | | Trying to compile sbt with 2.10.0 reminded me that ScalaObject wasn't only a marker interface, it was a public trait in the library and has to be removed properly. "The ol' boy had a bit of life in him yet, 'e did."
* | Express flags as bit shifts.Paul Phillips2012-04-241-57/+57
| | | | | | | | For those of us robots who still have a little human blood.
* | Merge commit 'refs/pull/431/head'Paul Phillips2012-04-245-9/+9
|\ \
| * | Fix unmatched parenthesisKato Kazuyoshi2012-04-242-1/+2
| | |
| * | "@returns" is not a Scaladoc tagKato Kazuyoshi2012-04-241-2/+1
| | |
| * | $op_name, $op_names, $plus and $eq are not macroKato Kazuyoshi2012-04-242-6/+6
| | |
| | |
| \ \
*-. \ \ Merge commit 'refs/pull/429/head'; commit 'refs/pull/430/head' into developPaul Phillips2012-04-233-2/+30
|\ \ \ \