summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | | Merge pull request #4849 from ↵Lukas Rytz2015-11-231-2/+2
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | janekdb/2.11.x-remove-lagged-scaladoc-setttings-notes Remove notes about -doc-title and -doc-version not being used
| | | * | | | | Remove notes about -doc-title and -doc-version not being usedJanek Bogucki2015-11-181-2/+2
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Confirmed these options are used by editing build-ant-macros.xml and viewing the output, <scaladoc docRootContent="${src.dir}/@{project}/${@{project}.docroot}" destdir="${build-docs.dir}/@{project}" - doctitle="${@{project}.description}" + doctitle="${@{project}.description} - test-title" docfooter="epfl" - docversion="${version.number}" + docversion="${version.number} - test-version"
| | * | | | | Merge pull request #4850 from ↵Lukas Rytz2015-11-231-1/+2
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | janekdb/2.11.x-add-missing-scaladoc-commands-to-help-output Add two missed scaladoc commands into scaladoc specific help section
| | | * | | | | Add two missed scaladoc commands into scaladoc specific help sectionJanek Bogucki2015-11-181-1/+2
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this change these scaladoc options were buried in the scalac section of the help text, -doc-external-doc -implicits-sound-shadowing With this change the options are listed in the scaladoc section. This will make the commands easier to discover.
| | * | | | | Merge pull request #4856 from ↵Lukas Rytz2015-11-231-11/+23
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | janekdb/2.11.x-scaladoc-excluded-classnames-more-data-like Refactor excluded qname test to be more data like
| | | * | | | | Refactor excluded qname test to be more data likeJanek Bogucki2015-11-201-11/+23
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactoring extracts data from code into a form which is closer to configuration data. This is a step change toward making this configurable.
| | * / / / / Fix List Scaladoc time & space formattingJanek Bogucki2015-11-221-13/+13
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Performance section got sucked into a wormhole and popped up in the example tag. The laws of physics differ in the attributes block resulting in the loss of the line break between the Time and Space paragraphs. Fixed by moving the section out of the example tag.
| | * | | | Merge pull request #4828 from retronym/topic/existential-containsLukas Rytz2015-11-162-13/+29
| | |\ \ \ \ | | | | | | | | | | | | | | Attacking exponential complexity in TypeMaps
| | | * | | | Attacking exponential complexity in TypeMapsJason Zaugg2015-11-132-13/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't normalize existentials during the `contain`-s type map; `ExistentialType#normalize' calls contains internally and an exponential blowup ensues. - Ensure that the type map used in variance validation never returns modified types in order to avoid needless cloning of symbols. The enclosed test case still gets stuck in Uncurry, thanks to the way that `TypeMap#mapOver(List[Symbol])` recurses through the type first to check whether the type map would be an no-op or not. If not, it repeats the type map with cloned symbols. Doing the work twice at each level of recursion blows up the complexity. Removing that "fast path" allows the enclosed test to compile completely. As at this commit, it gets stuck in uncurry, which dealiases `s.List` to `s.c.i.List` within the type. Some more background on the troublesome part of `TypeMap`: http://lrytz.github.io/scala-aladdin-bugtracker/displayItem.do%3Fid=1210.html https://github.com/scala/scala/commit/f8b2b21050e7a2ca0f537ef70e3e0c8eead43abc
| | * | | | | Merge pull request #4839 from SethTisue/reword-dependent-type-errorSeth Tisue2015-11-141-1/+1
| | |\ \ \ \ \ | | | |_|_|/ / | | |/| | | | less confusing wording for a dependent method type error
| | | * | | | less confusing wording for a dependent method type errorSeth Tisue2015-11-071-1/+1
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | note to reviewers: the error messages in this file are over the place about whether they're called "parameter sections", or "argument lists", or what, so there's no point in being picky about that here for context see SI-823
| | * | | | Merge pull request #4824 from szeiger/wip/sbt-mkBinJason Zaugg2015-11-131-1/+1
| | |\ \ \ \ | | | | | | | | | | | | | | Improvements to the sbt build
| | | * | | | Create shaded JLine in sbt buildStefan Zeiger2015-10-291-1/+1
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reusing parts of #4593, this commits adds two additional subprojects to the sbt build: - repl-jline, which is already used by the ant build, builds the part of the REPL that depends on JLine. The actual JLine depenency is moved to this project. - repl-jline-shaded uses JarJar to create a shaded version of repl-jline and jline.jar. Unlike the ant build, this setup does not use any circular dependencies. dist/mkBin puts all of quick/repl, quick/repl-jline and quick/repl-jline-shaded onto the classpath of build-sbt/quick/bin/scala. A future addition to the sbt build for building build-sbt/pack will have to put the generated classfiles into the correct JARs, mirroring the old structure.
| | * | | | Merge pull request #4809 from wpopielarski/delambdafy-multiple-outputsJason Zaugg2015-11-132-5/+5
| | |\ \ \ \ | | | | | | | | | | | | | | Multi output problem with delambdafied compilation
| | | * | | | Sets source for newly created lambda classwpopielarski2015-11-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This source is then used to figure out output folder for compilation product.
| | | * | | | Allows to propagate fatal errors when output folder not found.wpopielarski2015-11-052-23/+8
| | | | | | |
| | | * | | | Multi output problem with delambdafied compilationwpopielarski2015-11-042-9/+23
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | User code compilation with -Ybackend:GenBCode -Ydelambdafy:method fails for projects with multiple output directories. The problem has its root in a fact that some `lambdaClass` symbols the `associatedFile` field is not set. It can be done in Delambdafy.scala (`makeAnonymousClass` method) and is working for following lambda examples: {{{ package acme object Delambdafy { type -->[D, I] = PartialFunction[D, I] def main(args: Array[String]): Unit = { val result = List(1, 2, 4).map { a => val list = List("1", "2", "3").map { _ + "test" } list.find { _ == a.toString + "test" } } lazy val _foo = foo(result) { case x::xs if x isDefined => x.get.length case _ => 0 } lazy val bar: Int => Int = { case 2 => 13 case _ => val v = List(1).map(_ + 42).head v + 1 } } def foo(b: List[Option[String]])(a: List[Option[String]] => Int): Int = a(b) } }}} but is NOT working for following lambda: {{{ package acme object Delambdafy { type -->[D, I] = PartialFunction[D, I] def main(args: Array[String]): Unit = { lazy val _baz = baz { case 1 => val local = List(1).map(_ + 1) local.head } } def baz[T](f: Any --> Any): Any => Any = f } }}} so that's why source of compilation unit is used to determine output directory in case when source file is not found for symbol.
| | * | | | Merge pull request #4843 from SethTisue/scaladoc-little-d-pleaseJason Zaugg2015-11-137-10/+10
| | |\ \ \ \ | | | | | | | | | | | | | | it's Scaladoc, not ScalaDoc
| | | * | | | it's Scaladoc, not "ScalaDoc" or "Scala doc"Seth Tisue2015-11-127-10/+10
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | renaming the existing ScalaDoc and ScalaDocReporter classes might break stuff, sadly, but at least we can fix the rest
| | * | | | Merge pull request #4810 from ruippeixotog/fix-mutable-setlike-clearAdriaan Moors2015-11-121-1/+3
| | |\ \ \ \ | | | | | | | | | | | | | | SI-9497 Fix SetLike#clear() default implementation
| | | * | | | SI-9497 Fix SetLike#clear() default implementationRui Gonçalves2015-10-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When dealing with mutable collections, it is not safe to assume iterators will remain consistent when the collection is modified mid-traversal. The bug reported in SI-9497 is very similar to SI-7269, "ConcurrentModificationException when filtering converted Java HashMap". Then, only the `retain` method was fixed. This commit fixes `clear`, which had the same problem.
| | * | | | | Merge pull request #4804 from jvican/issue/9503Adriaan Moors2015-11-121-1/+2
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | [SI-9503] Deprecate scala.collection.immutable.PagedSeq
| | | * | | | | [SI-9503] Deprecate scala.collection.immutable.PagedSeqjvican2015-11-041-1/+2
| | | | | | | |
| | * | | | | | Improve collections documentation and prefer () to {}vsalvis2015-10-275-88/+85
| | | |_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove some duplicate method documentation that is now inherited - Whitespace edits - Rewording of method docs - Clearer usage examples - tparam alignment for some usecase tags - Prefer () to { } for do nothing bodies
| | * | | | | Merge pull request #4803 from janekdb/2.11.x-conform-foreach-tparamSeth Tisue2015-10-2727-169/+170
| | |\ \ \ \ \ | | | |_|/ / / | | |/| | | | Conform foreach tparam to majority naming convention
| | | * | | | Conform foreach tparam to majority naming conventionvsalvis2015-10-2127-169/+170
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'U' is the common choice for the foreach function result tparam. This command summarises the naming diversity before and after this change. $ fgrep -r 'def foreach[' *|cut -f2 -d:|cut -f1 -d'('|tr -s ' '|sed 's/override //g'|sort|uniq -c|sort -nr Before, 80 def foreach[U] 6 def foreach[C] 6 def foreach[B] 4 final def foreach[U] 3 def foreach[S] 2 inline final def foreach[U] 2 def foreach[A] 1 inline final def foreach[specialized 1 final def foreach[B] 1 * def foreach[U] 1 def foreach[Q] 1 def foreach[D] 1 def foreach[A,B,U] After, 98 def foreach[U] 5 final def foreach[U] 2 inline final def foreach[U] 1 inline final def foreach[specialized 1 * def foreach[U] 1 def foreach[A,B,U] (@ symbols removed.)
| | * | | | Merge pull request #4800 from sjrd/remove-lingering-printlnLukas Rytz2015-10-212-4/+1
| | |\ \ \ \ | | | |/ / / | | |/| | | Remove two lingering `println`s in non-debug methods of the library.
| | | * | | Remove two lingering `println`s in non-debug methods of the library.Sébastien Doeraene2015-10-132-4/+1
| | | | | |
| | * | | | Merge pull request #4792 from SethTisue/round-of-readme-updatesLukas Rytz2015-10-163-18/+24
| | |\ \ \ \ | | | | | | | | | | | | | | misc upgrades to README
| | | * | | | more readme improvementsSeth Tisue2015-10-083-18/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * be clearer about required JDK versions * eliminate redundancy with existing src/eclipse and src/intellij readmes * give IntelliJ readme a .md extension
| * | | | | | SI-9363 - Add empty serializabletriggerNZ2015-11-241-1/+1
| | | | | | |
| * | | | | | Fix for SI-9363triggerNZ2015-11-241-5/+6
| | |_|_|/ / | |/| | | |
| * | | | | Fix some small warnings that pop up on every compileSimon Ochsenreither2015-11-193-7/+7
| | | | | |
| * | | | | Merge pull request #4842 from adriaanm/fields-prepAdriaan Moors2015-11-1917-428/+451
| |\ \ \ \ \ | | | | | | | | | | | | | | Set the scene for phase 1 of the new trait encoding.
| | * | | | | Clean up a bit more in Constructors.Adriaan Moors2015-11-122-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comment about my poor naming choice in Types. NullaryMethodType sounds like the method has one empty argument list, whereas it really has no argument lists at all.
| | * | | | | Sbt-compatible implementation of `isPastXXXPhase`Adriaan Moors2015-11-122-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sbt's [API extraction phase](https://github.com/sbt/sbt/blob/0.13/compile/interface/src/main/scala/xsbt/API.scala#L25) extends `scala.reflect.internal.Phase`, which implements a bunch of methods, such as `erasedTypes` as `false`, which are then overridden by scalac in `GlobalPhase` (nested in scala.tools.nsc.Global). (`erasedTypes` in particular is again overridden in the back-end -- for performance?) However, since sbt's compiler phases extend `reflect.internal.Phase`, the logic for detecting the current phase does not work, as the default implementation is called (simply returning `false`), when chasing the `prev` pointers hits an sbt-injected phase, as its implementation is `reflect.internal`'s constant `false`.
| | * | | | | Annotation filtering & derivation in one place.Adriaan Moors2015-11-122-34/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This logic was scattered all over the hierarchy, even though it's only needed in one spot, and is unlikely to evolve.
| | * | | | | Refactor AddInterfaces triage of impl v iface memberAdriaan Moors2015-11-121-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A tiny bit more duplicated code, but so much more intelligible.
| | * | | | | Also mutate module *class*'s owner in ChangeOwnerTraverserAdriaan Moors2015-11-122-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep owner for module (symbol of the tree) and module class (holds the members) in synch while moving trees between owners (e.g., while duplicating them in specialization)
| | * | | | | LazyVals looks for local vals in all term treesAdriaan Moors2015-11-111-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discovered while refactoring the way fields are emitted in traits. TODO: a lot more cleanup
| | * | | | | Revert suspicious widening of getter's result typeAdriaan Moors2015-11-111-4/+5
| | | | | | |
| | * | | | | Cleanups, debuglogs, small refactoringsAdriaan Moors2015-11-114-77/+88
| | | | | | |
| | * | | | | Replacement javap in AsmUtilsAdriaan Moors2015-11-111-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal is to reduce noise by sorting fields & methods, suppressing debug & frame info. This class can be used as a git textconf for classfiles with a script like: ``` scala scala.tools.nsc.backend.jvm.AsmUtils "$1" ```
| | * | | | | Review feedback from lrytz: better commentsAdriaan Moors2015-11-112-14/+13
| | | | | | |
| | * | | | | Constructors: encapsulate whether to memoize a valAdriaan Moors2015-11-111-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Triggered by sjrd's review, it turns out that we forgot to unlink the symbol for omittable ValDefs. I left the fix in a comment in the margin, since this commit is meant to be bytecode-compatible.
| | * | | | | Constructors: further clarify which defs are added & whenAdriaan Moors2015-11-113-37/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move conditions and template derivation back to the call sites of `staticConstructor` (formerly `addStaticInits`).
| | * | | | | Constructors: mutate lessAdriaan Moors2015-11-113-117/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Codify the scope of mutability for various buffers, inline one-time methods, further reduce spooky action at a distance.
| | * | | | | Constructors: consolidate `ValDef` cases in `transformed`Adriaan Moors2015-11-111-19/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we change the encoding of fields in traits, this will come in handy...
| | * | | | | Constructors: narrow interfaces of its componentsAdriaan Moors2015-11-111-150/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit communication between traits using ConstructorTransformerBase interface. Make Constructors a bit less of a test case for itself, by making a bunch of fields local variables of the `transformed` method.
| * | | | | | Merge pull request #4822 from retronym/ticket/9178Lukas Rytz2015-11-181-1/+8
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-9178 Don't eta expand to an Function0-like SAM expected type