summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* The `test-junit` Eclipse project depends on `scala-compiler`Grzegorz Kossakowski2013-07-272-4/+5
| | | | | | | | | | | We want to write JUnit tests for Scala compiler so we should depend on `scala-compiler` project in `test-junit`. Also, make dependencies of `scala-compiler` project exported so it's enough to depend on `scala-compiler` to get all the transitive dependencies that are needed by the compiler. Otherwise, one would need to copy all dependencies of Scala compiler to all Eclipse projects that depend on the compiler.
* Refactor the cake so SymbolTable does not depend on GlobalGrzegorz Kossakowski2013-07-2716-59/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is rather large commit so I'll first explain the motivation behind it and then go through all changes in detail explaining the choices I made. The motivation behind this refactoring was to make SymbolTable unit testable. I wanted a lightweight way of initializing SymbolTable and then writing unit tests for subtyping algorithm, various functionality related to Symbols, etc. All of that should be possible by precisely controlling what we test, e.g., create types and symbols by hand and not have them defined in source code as we normally do in partest (functional) tests. The other motivation was to reduce and clarify dependencies we have in the compiler. Explicit dependencies lead to cleaner design. Also, explicit and reduces dependencies help incremental compilation which is a big problem for us in compiler's code base at the moment. One of the challenges I faced during that refactoring was cyclic dependency between Platform and SymbolLoaders. Platform depended on `SymbolLoaders.SymbolLoader` because it would define a root loader. SymbolLoaders depended on Platform for numerous reasons like deferring decision how to load a given symbol based on some Platform-specific hooks. I decided to break that cycle by removing methods related to symbol loading from Platform interface. One could argue, that better fix would be to make SymbolLoaders to not depend on Platform (backend) concept but that would be much bigger refactoring. Also, we have a new concept for dealing with symbol loading: Mirrors. For those reasons both `newClassLoader` and `rootLoader` were dropped from Platform interface. Note that JavaPlatform still depends on Global so it can access phases defined in Global to implement `platformPhases` method. Both GenICode and BCodeBodyBuilder have some Platform specific logic that requires casting because pattern matcher doesn't narrow types to give them a proper refinement. Check the changes for details. Some logging utilities has been moved from Global to SymbolTable because they are accessed by SymbolTable. Since Global inherits from SymbolTable this should be a source compatible change. The SymbolLoaders has dependency on `compileLate` method defined in Global. The purpose behind `compileLate` is not clear to me but the dependency looks a little bit dubious. At least we made that dependency explicit. ScaladocGlobal and Global defined in interactive has been adapted in a way that makes them compile both with quick.comp and 2.11.0-M4 so my refactorings are not blocking the modularization effort.
* Deprecate Platform.BinaryRepr.Grzegorz Kossakowski2013-07-274-26/+16
| | | | | | | | | | | | | | | | | | | | The 27c8266e introduced `Platform.BinaryRepr` abstract type that was meant to abstract over binary representation of a classfile. The abstraction was needed at the time because we had both jvm backend and msil backend. The msil backend has been removed but the abstraction was kept in place. The type has been deprecated and set to be an alias for AbstractFile. The alias will be removed later in 2.11 milestone cycle. All references to `Platform.BinaryRepr` has been removed in the compiler in favour of using AbstractFile directly. If we ever need to abstract over multiple backends we should do that based on real requirements of given backends. This is a first step towards breaking the cyclic dependency between Platform and SymbolLoaders.
* Remove dependency on typer phase in ClassfileParser.Grzegorz Kossakowski2013-07-276-6/+63
| | | | | | | | | | | | | | | | | ClassfileParser depends on forcing infos during typer phase. It's not entirely clear why this is needed (git blame doesn't help much) but I decided to preserve the logic. Therefore, I introduced an abstract method called `lookupMemberAtTyperPhaseIfPossible` which preserves the original semantics but is implemented outside of ClassfileParser so the ClassfileParser itself doesn't need to depend on typer phase and phase mutation utilities. I removed `loaders` override in `test/files/presentation/doc`. I would have to update it to implement the `lookupMemberAtTyperPhaseIfPossible` method. However, the override doesn't seem to be doing anything useful so I just removed it.
* Move ICodeReader-specific logic out of ClassfileParser.Grzegorz Kossakowski2013-07-273-95/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | ClassfileParser contained some ICodeReader-specific logic like `forceMangledName` and `getMemberSymbol` methods. The `getMemberSymbol` method was defined in ConstantPool class because it must access some internal state of ConstantPool. In order to move that method to ICodeReader we had two options: 1. Make all internal state accessible from outside of ConstantPool class so getMemberSymbol could be implemented outside of ConstantPool hierarchy 2. Make it possible to subclass ConstantPool in ICodeReader so getMemberSymbol can be implemented in a subclass and can access internal state of ConstantPool Given the fact that getMemberSymbol mutates ConstantPool's internal state I decided that subclassing is a cleaner approach. It required significant refactoring because we had to make sure that we create an instance of proper class when initializing the `pool` variable. I ended up introducing `ConstantPoolManager` class which is essentially a mutable variable that can be reset multiple times. This change makes ClassfileParser independent from the ICodeReader and its implementation details.
* 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.
* | Fixing exhaustiveness warnings.Paul Phillips2013-07-176-24/+18
|/ | | | | ClassfileAnnotArg becoming sealed brought tidings of not being exhaustive.
* 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-121-15/+48
|\ \ \ | | | | | | | | SI-4684 Repl supports whole-file paste (rebased)
| * | | SI-4684 Repl supports raw pasteSom Snytt2013-07-111-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-111-15/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* | | | 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.
* | | SI-7487 Revert "Removed -Ymacro-no-expand."Adriaan Moors2013-07-102-10/+13
| | | | | | | | | | | | 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-101-0/+7
|\ \ \ | | | | | | | | SI-6419 Repl save session command
| * | | SI-6419 Repl save session commandSom Snytt2013-07-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-103-42/+106
|\ \ \ \ | | | | | | | | | | SI-4594 Repl settings command
| * | | | SI-4594 Repl settings commandSom Snytt2013-07-042-10/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1032-240/+1449
|\ \ \ \ \ \ | | | | | | | | | | | | | | Quasiquotes
| * | | | | | macro impls can now return subtypes of c.TreeEugene Burmako2013-07-103-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | introduces unapply macros for internal useEugene Burmako2013-07-084-48/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a macro hook into the unapply part of `doTypedApply`, provides `macroExpandUnapply` in the macro engine and applies a couple of minor refactorings along the way (renames the ugly `macroExpand1` into oblivion, changes the ctor of `Fingerprint` to be private and upgrades `MacroRole` from a string to a value class). Unapply macros haven't been approved for inclusion in 2.11.0, however they are necessary for pattern-matching quasiquotes. Therefore I'm only allowing them to expand for QuasiquoteClass_api_unapply.
| * | | | | | implements quasiquotesDen Shabalin2013-07-0815-2/+1127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Additions to the reflection API: - The Quasiquotes implicit class that defines `q`, `tq`, `pq` and `cq` interpolators which now become a part of the `scala.reflect.api. Universe`. - Implementations of the interpolators are macro-based and are hardwired through `FastTrack`. - The `Liftable` class and the `StandardLiftables` slice of the cake that provide a type class and a bunch of its instances that allow to easily splice user-defined types into quasiquotes. - Additional methods in `BuildUtils` that are used by the quasiquote macro to generate trees, notably: - `SyntacticClassDef`. An extractor/constructor that allows to construct and deconstruct classes using arguments that mirror syntactic form of ClassDefs (e.g. constructor outside of the body). - `TupleN`, `TupleTypeN`. Extractor/constructor for easy construction of ast that represents a tuple term or type with given amount of elements. - Actual implementation of quasiquotes in the `scala.tools.reflect. quasiquotes` package which is organized into a cake called `Quasiquotes` with slices introducing core abstractions necessary to splice into Scala syntax, routines for interfacing with the parser, and customized reifiers for tree construction and deconstruction.
| * | | | | | introduces extensibility hooks into the reifierEugene Burmako2013-07-082-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quasiquoting macros are surprisingly similar to reifying macros, since both take something and then produce Scala ASTs for that something. Therefore the upcoming quasiquote patch reuses the vanilla reifier, adjusting it in key points to enable splicing and extraction to support string interpolation syntax. In this commit we prepare the reifier for being reused later on, adding a modest amound of extensibility hooks.
| * | | | | | moves template creation logic from nsc to reflectDen Shabalin2013-07-086-79/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This routine is going to be necessary in scala-reflect.jar to support ClassDef construction/deconstruction in the upcoming quasiquote patch.
| * | | | | | adds the lookahead routine to the parserDen Shabalin2013-07-083-20/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces a scoping operator used to temporarily look into the future. Backs up scanner data before evaluating a block and restores it after. Not used anywhere, only necessary for the upcoming quasiquote patch in order to reliably detect and accordingly process holes in quasiquoted Scala syntax.
| * | | | | | extensibility hooks for parserDen Shabalin2013-07-081-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the second of the two patches to the parser necessary for quasiquotes to function. This one applies just a couple of minor changes to the way parser works, so that quasiquotes will be able to extend it to support some corner cases arising from splicing (see the subsequent quasiquote commit for more details).
| * | | | | | moves TreeBuilder into the parserDen Shabalin2013-07-085-64/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first of the two patches to the parser necessary for quasiquotes to function. This one moves TreeBuilder from Global to the internals of the Parsers, so that quasiquotes will be able to override it later to support some corner cases arising from splicing (see the subsequent quasiquote commit for more details). Surprisingly enough, almost noone used TreeBuilder outside the parser, and it was necessary to move just a couple of methods to TreeGen to satisfy broken dependencies.
* | | | | | | Merge pull request #2717 from retronym/ticket/6574Adriaan Moors2013-07-101-4/+35
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-6574 Support @tailrec for extension methods.
| * | | | | | | SI-6574 Support @tailrec for extension methods.Jason Zaugg2013-07-101-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when the body of an extension method is transplanted to the companion object, recursive calls point back to the original instance method. That changes during erasure, but this is too late for tail call analysis/elimination. This commit eagerly updates the recursive calls to point to the extension method in the companion. It also removes the @tailrec annotation from the original method.
* | | | | | | | Merge pull request #2713 from VladUreche/issue/7638-masterAdriaan Moors2013-07-101-1/+1
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | SI-7638 Superaccessor lookup after specialization
| * | | | | | | SI-7638 Superaccessor lookup after specializationVlad Ureche2013-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crash was caused by a symbol lookup to rewire the super calls, done after pickler, but specialization added new traits and new members, thus making the super rewiring impossible. To avoid such problems, this patch moves symbol lookup after specialization, so the changes done by specialization (and miniboxing) become visible to mixin. Review by @adriaanm or @retronym.
* | | | | | | | Merge pull request #2704 from adriaanm/modularizeAdriaan Moors2013-07-09146-468/+454
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Separate jars for XML, Parser Combinators. Use released JLine.
| * | | | | | | | scaladoc needs xml and parser-combinatorsAdriaan Moors2013-07-081-23/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Concretely, update scala-compiler's pom to list scala-xml and scala-parser-combinators on behalf of scaladoc. NOTE: when spinning off scaladoc, move dependencies to its own pom
| * | | | | | | | Updated eclipse project files.Adriaan Moors2013-07-0516-75/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set everything up so that soon-to-be independent modules are compiled with the Eclipse plugin's compiler & library (2.11.0-M3 currently). Most projects still compile with 2.11.0-M3, but partest will need a nightly build of 2.11.
| * | | | | | | | Add meta-information for dbuild.Adriaan Moors2013-07-051-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The next version of [dbuild](http://typesafehub.github.io/distributed-build/0.5.3/index.html) will parse `dbuild-meta.json` to determine which jars are produced by a Scala build. This way we can modularize without changing dbuild itself. Yes, I know `dbuild-meta.json` should be generated during the build. However, given the state of our build.xml, I think this is pointless. My goal is to generate build.xml, dbuild-meta.json and Eclipse projects from a higher-level description of our build. Baby steps... Including improvements by @cunei: - Removing outdated field "uri" from ExtractedBuildMeta - Changed "partest" to "scala-partest" (the actual jar name)
| * | | | | | | | Unfork jline: use vanilla jline 2.11 as a dependency.Adriaan Moors2013-07-0511-93/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: - no longer specifying terminal by class name in scripts (using 'unix') - jline doesn't need a separate jansi dependency; it includes its own version according to: http://mvnrepository.com/artifact/jline/jline/2.11
| * | | | | | | | Spin off parser combinators to scala-parser-combinators.jar.Adriaan Moors2013-07-0530-1/+72
| | | | | | | | |
| * | | | | | | | Spin off src/library/scala/xml to src/xml/scala/xml.Adriaan Moors2013-07-0591-25/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - Remove the last vestiges of xml from Predef and Contexts. - Change build to compile scala.xml to scala-xml.jar. - Deploy scala-xml module to maven. - Update partest accordingly. Note: An older compiler cannot use the new standard library to compile projects that use XML. Thus, skipping locker will break the build until we use 2.11.0-M4 for STARR. In the future build process, where we drop locker, we would have to release a milestone that supports the old and the new approach to xml. As soon as we'd be using that new milestone for starr, we could drop support for the old approach.
| * | | | | | | | No more duplication in maven-deploy.xml.Adriaan Moors2013-07-055-287/+87
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I just couldn't stand the incredible mess in there anymore. More cleanup to come. For now, suffice it to say you need only add one line per new module.