summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2772 from som-snytt/issue/6123-fix-testGrzegorz Kossakowski2013-07-276-9/+33
|\ | | | | SI-7695 Macro debug output on -explaintypes
| * SI-7695 Macro debug output on -explaintypesSom Snytt2013-07-276-9/+33
| | | | | | | | | | | | | | | | | | | | It looks like checkConforms should wait for error before using explainTypes, rather than turning on macro debug trace if explaintypes is set. In particular, macro debug output is Console.println instead of reporter.echo or similar, so partest can't test it.
* | Merge pull request #2773 from folone/no-scalaxGrzegorz Kossakowski2013-07-275-241/+0
|\ \ | | | | | | Cleanup of scalap.
| * | Removing unused things from scalap.folone2013-07-255-241/+0
| |/
* | Merge pull request #2778 from xuwei-k/fix-promise-scaladocGrzegorz Kossakowski2013-07-271-2/+2
|\ \ | | | | | | fix Promise scaladoc
| * | fix Promise scaladocxuwei-k2013-07-271-2/+2
| | |
* | | Merge pull request #2779 from xuwei-k/Universe-typoGrzegorz Kossakowski2013-07-271-2/+2
|\ \ \ | |/ / |/| | fix typo. s/Universes/Universe
| * | fix typo. s/Universes/Universexuwei-k2013-07-271-2/+2
|/ /
* | Merge pull request #2736 from som-snytt/issue/7488-chase-delayed-initAdriaan Moors2013-07-253-18/+113
|\ \ | |/ |/| SI-7488 REPL javap finds new style delayedEndpoint
| * SI-7488 REPL javap finds new style delayedEndpointSom Snytt2013-07-153-18/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The REPL :java -app command is a convenience to locate the body of DelayedInit code. Now it will look for new style delayedEndpoints on the class before it falls back to showing the apply method of the delayedInit$body closure. ``` apm@mara:~/tmp$ skala Welcome to Scala version 2.11.0-20130711-153246-eb1c3137f5 (OpenJDK 64-Bit Server VM, Java 1.7.0_21). Type in expressions to have them evaluated. Type :help for more information. scala> :javap -pv -app delayed.C public final void delayedEndpoint$delayed$C$1(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=1, args_size=1 0: getstatic #29 // Field scala/Predef$.MODULE$:Lscala/Predef$; 3: ldc #31 // String this is the initialization code of C 5: invokevirtual #35 // Method scala/Predef$.println:(Ljava/lang/Object;)V 8: return LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Ldelayed/C; LineNumberTable: line 11: 0 scala> :q apm@mara:~/tmp$ rm delayed/*.class apm@mara:~/tmp$ scalac delayed.scala apm@mara:~/tmp$ skala Welcome to Scala version 2.11.0-20130711-153246-eb1c3137f5 (OpenJDK 64-Bit Server VM, Java 1.7.0_21). Type in expressions to have them evaluated. Type :help for more information. scala> :javap -pv -app delayed.C public final java.lang.Object apply(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=1, args_size=1 0: getstatic #13 // Field scala/Predef$.MODULE$:Lscala/Predef$; 3: ldc #15 // String this is the initialization code of C 5: invokevirtual #19 // Method scala/Predef$.println:(Ljava/lang/Object;)V 8: getstatic #25 // Field scala/runtime/BoxedUnit.UNIT:Lscala/runtime/BoxedUnit; 11: areturn LocalVariableTable: Start Length Slot Name Signature 0 12 0 this Ldelayed/C$delayedInit$body; LineNumberTable: line 11: 0 line 10: 8 ```
* | Merge pull request #2740 from som-snytt/issue/7650-jline-nobangPaul Phillips2013-07-231-0/+3
|\ \ | | | | | | SI-7650 No bang expansions in REPL jline
| * | SI-7650 No bang expansions in REPL jlineSom Snytt2013-07-151-0/+3
| | | | | | | | | | | | Disable expandEvents at the earliest opportunity.
* | | Merge pull request #2743 from retronym/topic/gitignore-in-repoAdriaan Moors2013-07-188-54/+42
|\ \ \ | | | | | | | | Commit .gitignore directly
| * | | Commit .gitignore directlyJason Zaugg2013-07-178-54/+42
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than relying on the cloner to copy the provided gitignore.SAMPLE files. This finishes the job started in c48509598, mostly by reverting that commit and moving the two existing SAMPLE files to the final destinations. Use `.git/info/exclude` to augment the list of patterns with entries specific to your workflow.
* | | Merge pull request #2747 from paulp/pr/warningsAdriaan Moors2013-07-186-24/+18
|\ \ \ | | | | | | | | Fixing exhaustiveness warnings.
| * | | Fixing exhaustiveness warnings.Paul Phillips2013-07-176-24/+18
|/ / / | | | | | | | | | | | | ClassfileAnnotArg becoming sealed brought tidings of not being exhaustive.
* | | Merge pull request #2744 from adriaanm/starr-2.11.0-M4Adriaan Moors2013-07-167-7/+7
|\ \ \ | | | | | | | | STARR: use 2.11.0-M4, built with 2.11.0-M3
| * | | STARR: use 2.11.0-M4, built with 2.11.0-M3Adriaan Moors2013-07-167-7/+7
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced starr jars with 2.11.0-M4, built with Scala 2.11.0-M3. I used `ant replacestarr-opt -Dstarr.use.released=1`, with `starr.number`: ``` starr.version=2.11.0-M3 ``` Then pushed the jars to artifactory after moving `lib/jline.jar` out of the way, as it's no longer "desired" (i.e., not pulled from artifactory). Its presence seemed to break `./push-binary-libs.sh $ARTIFACTORY_USER $ARTIFACTORY_PASS`. You can by-pass the custom starr artifact download and use a (released) version of Scala by changing your `build.properties` to include ``` starr.use.released=1 ``` You may optionally change `starr.version` in `starr.number` to whichever version that maven can resolve for you.
* | | Update README.mdAdriaan Moors2013-07-151-1/+1
| | |
* | | Update README.mdAdriaan Moors2013-07-151-4/+6
| | |
* | | A smaller readme, with content moved to our gh-pagesAdriaan Moors2013-07-152-206/+6
| |/ |/|
* | Merge pull request #2729 from etaty/patch-1Adriaan Moors2013-07-151-1/+1
|\ \ | |/ |/| Fix typo in Documentation
| * Fix typo in DocumentationValerian2013-07-141-1/+1
|/
* Merge pull request #2718 from soc/SI-7592-multihashmapAdriaan Moors2013-07-122-12/+3
|\ | | | | SI-7592 Remove scala.tools.nsc.util.MultiHashMap
| * SI-7592 Remove scala.tools.nsc.util.MultiHashMapSimon Ochsenreither2013-07-102-12/+3
| |
* | Merge pull request #2708 from soc/SI-7174Adriaan Moors2013-07-122-11/+10
|\ \ | | | | | | SI-7174 Fix initialization issues
| * | SI-7174 Fix initialization issuesSimon Ochsenreither2013-07-062-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without constant inlining, the compiler would not even bootstrap because it depends on constant inlining hiding initialization issues which would cause a NPE otherwise. In this case, global is null at runtime, but no NPE is happening despite accessing members of global (see SubComponent), because constant inlining has copied the values of those members to the call-sites and eliminated the dereference of global. This commit fixes the initialization order.
* | | Merge pull request #2725 from som-snytt/topic/repl-paste-fileAdriaan Moors2013-07-125-15/+100
|\ \ \ | | | | | | | | SI-4684 Repl supports whole-file paste (rebased)
| * | | SI-4684 Repl supports raw pasteSom Snytt2013-07-113-9/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By special request, :paste -raw simply compiles the pasted code to the repl output dir. The -raw flag means no wrapping; the pasted code must be ordinary top level Scala code, not script.
| * | | SI-4684 Repl supports whole-file pasteSom Snytt2013-07-113-15/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a file argument to the :paste command which loads the file's contents as though entered in :paste mode. The :paste command is replayable. Samples, including companions defined together: ``` scala> :paste junk.scala File contains no code: junk.scala scala> :paste no-file.scala That file does not exist scala> :paste obj-repl.scala Pasting file obj-repl.scala... <console>:2: error: expected start of definition private foo = 7 ^ scala> :paste hw-repl.scala Pasting file hw-repl.scala... The pasted code is incomplete! <pastie>:5: error: illegal start of simple expression } ^ scala> :replay Replaying: :paste junk.scala File contains no code: junk.scala Replaying: :paste obj-repl.scala Pasting file obj-repl.scala... defined trait Foo defined object Foo Replaying: Foo(new Foo{}) res0: Int = 7 ```
* | | | Merge pull request #2723 from som-snytt/issue/fix-repl-save-testAdriaan Moors2013-07-122-24/+18
|\ \ \ \ | | | | | | | | | | Fix repl-save test
| * | | | Fix repl-save testSom Snytt2013-07-112-24/+18
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the test a SessionTest, where the file name appears just once, in the transcript, and is trivially compared against itself. The contents of the saved file are still output and compared with the check file.
* | | | Merge pull request #2722 from densh/topic/qq-checkinitAdriaan Moors2013-07-121-4/+4
|\ \ \ \ | |/ / / |/| | | Fixes checkinit build failure caused by quasiquotes pull request
| * | | Fixes checkinit build failure caused by quasiquotes pull requestDen Shabalin2013-07-111-4/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | The failure was caused by recent refactoring that moved fields that are expected by reflection Reifier from early init block to the body of the class. According to checkinit this may cause initialization issues although they do not really happen in real life as most of these fields aren't used during quasiquotes' reification.
* | | Merge pull request #2720 from adriaanm/ticket-7487v2.11.0-M4Adriaan Moors2013-07-103-10/+37
|\ \ \ | | | | | | | | SI-7487 Revert "Removed -Ymacro-no-expand."
| * | | SI-7487 Revert "Removed -Ymacro-no-expand."Adriaan Moors2013-07-103-10/+37
|/ / / | | | | | | | | | This reverts commit 71fb0b83a, which itself reverted the fix for SI-6812.
* | | Merge pull request #2697 from som-snytt/issue/6419-repl-saveAdriaan Moors2013-07-103-0/+41
|\ \ \ | | | | | | | | SI-6419 Repl save session command
| * | | SI-6419 Repl save session commandSom Snytt2013-07-013-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A simple save command to write out the current replay stack. ``` scala> val i = 7 i: Int = 7 scala> val j= 8 j: Int = 8 scala> i * j res0: Int = 56 scala> :save multy.script scala> :q apm@mara:~/tmp$ cat multy.script val i = 7 val j= 8 i * j apm@mara:~/tmp$ skala Welcome to Scala version 2.11.0-20130626-204845-a83ca5bdf7 (OpenJDK 64-Bit Server VM, Java 1.7.0_21). Type in expressions to have them evaluated. Type :help for more information. scala> :load multy.script Loading multy.script... i: Int = 7 j: Int = 8 res0: Int = 56 scala> :load multy.script Loading multy.script... i: Int = 7 j: Int = 8 res1: Int = 56 ```
* | | | Merge pull request #2701 from som-snytt/issue/4594-repl-settingsAdriaan Moors2013-07-104-42/+132
|\ \ \ \ | | | | | | | | | | SI-4594 Repl settings command
| * | | | SI-4594 Repl settings commandSom Snytt2013-07-043-10/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A settings command for the rest of us. The usual command line options are used, except that boolean flags are enabled with +flag and disabled with -flag. ``` scala> :settings +deprecation scala> new BigInt(java.math.BigInteger.TEN) { } <console>:8: warning: inheritance from class BigInt in package math is deprecated: This class will me made final. new BigInt(java.math.BigInteger.TEN) { } ^ res0: BigInt = 10 scala> :settings -deprecation scala> new BigInt(java.math.BigInteger.TEN) { } res1: BigInt = 10 ``` Multivalue "colon" options can be reset by supplying no values after the colon. This behavior is different from the command line. ``` scala> 1 toString warning: there were 1 feature warning(s); re-run with -feature for details res0: String = 1 scala> :settings -language:postfixOps scala> 1 toString res1: String = 1 scala> :settings -d = . -encoding = UTF-8 -explaintypes = false -language = List(postfixOps) -nowarn = false scala> :settings -language: scala> :settings -d = . -encoding = UTF-8 -explaintypes = false -language = List() -nowarn = false ```
| * | | | SI-4594 Enable mutating mutable multi settingsSom Snytt2013-07-041-32/+39
| |/ / / | | | | | | | | | | | | | | | | | | | | Previously, multi-valued settings (String- and Phase- valued) could be augmented but not cleared. Also, phase settings included lazily cached values that were not recomputed when the setting was changed.
* | | | Merge pull request #2706 from som-snytt/issue/repl-editAdriaan Moors2013-07-101-0/+86
|\ \ \ \ | | | | | | | | | | SI-7637 Repl edit command
| * | | | SI-7637 Repl edit commandSom Snytt2013-07-041-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Open an editor with historical text. :edit id will use the complete text of the defining line, including a multiline expression or template definition. The id must be a term or type in scope, in particular, defined in the current session. :edit line will use the specified line(s) from history, as a line number (123), range (123-130), offset (123+7), remaining (123-) or previous (-10 for last ten lines). The env var EDITOR is used to specify an editor to invoke. If EDITOR is not set or if :line command is used, the selected text is added to the end of history. Text is still added to history one line at a time (cf SI-1067).
* | | | | Merge pull request #2709 from yllan/fix-docsAdriaan Moors2013-07-101-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix docs inconsistent (cmp -> ord).
| * | | | | Fix docs inconsistent (cmp -> ord).yllan2013-07-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The parameter name is 'ord', but mentioned in docs with 'cmp'.
* | | | | | Merge pull request #2714 from scalamacros/topic/quasiquotesAdriaan Moors2013-07-1049-240/+2780
|\ \ \ \ \ \ | | | | | | | | | | | | | | Quasiquotes
| * | | | | | macro impls can now return subtypes of c.TreeEugene Burmako2013-07-109-10/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 10229316db allowed macro impls to take and return values of type c.Tree in addition to the usual c.Expr. However it didn't take into account that it is often useful to return subtypes of trees (e.g. with quasiquotes that expand into expressions typed as precisely as possible). This patch fixes that oversight.
| * | | | | | precise return type for FlagsAsBits.unapplyDen Shabalin2013-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will help the pattern matcher to emit better code for this kind of extractor that does nothing but wrap the extractee.
| * | | | | | backward compatibility for TreeBuilderDen Shabalin2013-07-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reintroduces treeBuilder at its old location (Global.treeBuilder) by routing it from the new location (Parsers.treeBuilder) for the sake of being friendly to tools that might depend on it.
| * | | | | | tests for quasiquotesDen Shabalin2013-07-0811-0/+1280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces an extensive ScalaCheck-based test suite for recently implemented quasiquotes. Provides tools for syntactic tree comparison and verifying compilation error messages.