summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | | | avoid deprecated sbt 0.12 operatorsSeth Tisue2016-11-042-11/+14
| |/ / / / / / / / / / / / /
* | | | | | | | | | | | | | Merge pull request #5507 from viktorklang/wip-SI-10034-√Jason Zaugg2016-11-102-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / / / / / / |/| | | | | | | | | | | | | SI-10034: Regression: Make Future.failed(e).failed turn into a success instead of failure
| * | | | | | | | | | | | | Regression: Make Future.failed(e).failed turn into a success instead of failureViktor Klang2016-11-082-2/+2
| |/ / / / / / / / / / / /
* | | | | | | | | | | | | Merge pull request #5510 from retronym/merge/2.11.x-to-2.12.x-20161108Lukas Rytz2016-11-083-13/+20
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / |/| | | | | | | | | | | | Merge 2.11.x to 2.12.x [ci:last-only]
| * | | | | | | | | | | | Merge commit 'fe47ef0' into 2.12.xJason Zaugg2016-11-081-0/+4
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|_|/ / | | |/| | | | | | | | | |
| | * | | | | | | | | | | Merge pull request #5504 from retronym/topic/sbt-macro-warnSeth Tisue2016-11-071-0/+4
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Silence SBT logging about macros and incremental compilation.
| | | * | | | | | | | | | | Silence SBT logging about macros and incremental compilation.Jason Zaugg2016-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since upgrading to SBT 0.13.12, clean builds have incurred warnings like: Because JavaMirrors.scala contains a macro definition, the following dependencies are invalidated unconditionally: .... This commit disables this behaviour of the SBT incremental compiler in the library and reflect projects, as these aren't regular macros (the macro implementations are hard coded in the compiler in `FastTrack`) so the new behaviour isn't actually improving correctness of inc. compilation.
| * | | | | | | | | | | | | Merge commit '2f2f0f7' into 2.12.xJason Zaugg2016-11-080-0/+0
| |\| | | | | | | | | | | |
| | * | | | | | | | | | | | Merge pull request #5478 from dragos/backport/remove-println-SI-8717Adriaan Moors2016-10-283-6/+4
| | |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [backport] Replace println with log calls in BrowsingLoaders
| | | * | | | | | | | | | | | [backport] Replace println with log calls in BrowsingLoadersIulian Dragos2016-10-253-6/+4
| | | | |_|_|_|_|_|_|_|_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This alternative symbol loader is used in the presentation compiler and may generate output even when the compiler should be silent. See SI-8717 for more context, even though this does not really fix the ticket.
| * | / | | | | | | | | | | Merge commit 'b9a16c4' into 2.12.xJason Zaugg2016-11-082-13/+16
|/| | | | | | | | | | | | | | |/ / / / / / / / / / / /
| * | | | | | | | | | | | Merge pull request #5378 from som-snytt/issue/9913Seth Tisue2016-10-262-13/+16
| |\ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / | |/| | | | | | | | | | | SI-9913 Lead span iterator finishes at state -1
| | * | | | | | | | | | | SI-9913 Tighten bolts on span iteratorSom Snytt2016-09-061-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extra privacy, and the tricky state transition is made more tabular.
| | * | | | | | | | | | | SI-9913 Lead span iterator finishes at state -1Som Snytt2016-09-052-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if no elements fail the predicate (so that the trailing iterator is empty).
* | | | | | | | | | | | | Merge pull request #5469 from adriaanm/java-scan-tailrecAdriaan Moors2016-11-046-104/+88
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No StackOverflowError in Java doc comment scanning Fixes SI-10020 SI-10027
| * | | | | | | | | | | | | Add regression tests for SI-10027Jakob Odersky2016-11-033-0/+18
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Factor out some more into ScaladocScannerAdriaan Moors2016-10-192-30/+26
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | DocScanner has doc-comment scanning hooks.Adriaan Moors2016-10-193-67/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Align the Scala and Java doc comment scanning methods a bit. The Scala one especially had gotten a bit messy, with regular block comments being kind of accumulated, but never actually registered as DocComments.
| * | | | | | | | | | | | | Keep `skipBlockComment` tail recursiveAdriaan Moors2016-10-192-39/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid StackOverflow on big comments. Simplify `ScaladocJavaUnitScanner` while in there. TODO: Do same for `ScaladocUnitScanner`?
* | | | | | | | | | | | | | Merge pull request #5499 from xuwei-k/patch-1Adriaan Moors2016-11-041-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix starr version in README.md
| * | | | | | | | | | | | | | fix starr version in README.mdkenji yoshida2016-11-041-1/+1
|/ / / / / / / / / / / / / /
* | | | | | | | | | | | | | Merge pull request #5496 from adriaanm/2.12.xSeth Tisue2016-11-0318-3656/+12
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | Merge 2.12.0, starr=2.12.0, re-outsource scalacheck
| * | | | | | | | | | | | | Revert "Temporarily insource Scalacheck 1.11.6"Adriaan Moors2016-11-0118-3652/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 22dac3118e97b2a4707d42ef1f47ac292a8ed385.
| * | | | | | | | | | | | | Use 2.12.0 for STARRAdriaan Moors2016-11-011-1/+1
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Merge 2.12.0 into 2.12.xAdriaan Moors2016-11-011-3/+6
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ \ Merge pull request #5470 from adriaanm/2.12.0-RC2Seth Tisue2016-10-201-2/+2
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump to 2.12.0-RC2 starr and modules
| | | * | | | | | | | | | | | | Bump to 2.12.0-RC2 starr and modulesAdriaan Moors2016-10-191-2/+2
| | |/ / / / / / / / / / / / /
| | * | | | | | | | | | | | | Drop repo_ref from jenkins.propertiesAdriaan Moors2016-10-141-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's propagated downstream by the '-main' build flows already
* | | | | | | | | | | | | | | Merge pull request #5488 from SethTisue/sbt-0.13.13Seth Tisue2016-11-022-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / |/| | | | | | | | | | | | | | upgrade to sbt 0.13.13
| * | | | | | | | | | | | | | upgrade to sbt 0.13.13Seth Tisue2016-10-282-2/+2
| | |_|_|_|_|_|_|_|_|/ / / / | |/| | | | | | | | | | | |
* | | | | | | | | | | | | | Bump baseVersion to 2.12.1 (#5389)Seth Tisue2016-11-013-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binary version (for modules) is now 2.12, starr is 2.12.0-RC2. Also, drop repo_ref from jenkins.properties; It's propagated downstream by the '-main' build flows already.
* | | | | | | | | | | | | | Merge pull request #5492 from thefourtheye/patch-1Lukas Rytz2016-11-011-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | doc: minor grammatical fix
| * | | | | | | | | | | | | | doc: minor grammatical fixSakthipriyan Vairamani2016-11-011-1/+1
| | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | Merge pull request #5493 from thefourtheye/patch-2Adriaan Moors2016-10-311-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / |/| | | | | | | | | | | | | | doc: fix README link
| * | | | | | | | | | | | | | doc: fix README linkSakthipriyan Vairamani2016-11-011-1/+1
|/ / / / / / / / / / / / / /
* | | | | | | | | | | | | | Merge pull request #5410 from SethTisue/scala-xml-1.0.6Adriaan Moors2016-10-311-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | upgrade to scala-xml 1.0.6
| * | | | | | | | | | | | | | upgrade to scala-xml 1.0.6Seth Tisue2016-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | just because in general we want to ship the latest versions of the modules, and some desirable-looking fixes went into 1.0.6
* | | | | | | | | | | | | | | Merge pull request #5373 from TimWSpence/2.12.xSeth Tisue2016-10-311-3/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SI-9909: corrected stream example so it does not give forward reference
| * | | | | | | | | | | | | | | SI-9909: corrected stream example so it does not give forward referenceTim Spence2016-10-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | error
* | | | | | | | | | | | | | | | Merge pull request #5482 from lrytz/sd248-frontendLukas Rytz2016-10-2823-190/+233
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / / / / |/| | | | | | | | | | | | | | | Frontend fixes for scala-dev#248
| * | | | | | | | | | | | | | | Address review commentsLukas Rytz2016-10-285-40/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tighten some types (Symbol -> ClassSymbol / ModuleSymbol), use NonFatal instead of catching Throwable. Also don't run the classfile parser enteringPhase(phaseBeforeRefchecks) anymore. This was added in 0ccdb15 but seems no longer required.
| * | | | | | | | | | | | | | | For scala classfiles, only parse the scala signature annotationLukas Rytz2016-10-2811-24/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skipping other annotations not only saves some cycles / GC, but also prevents some spurious warnings / errors related to cyclic dependencies when parsing annotation arguments refering to members of the class.
| * | | | | | | | | | | | | | | SI-7139 test case, fixed by one of the recent commitsLukas Rytz2016-10-273-0/+28
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Minor style cleanups, no changes in logicLukas Rytz2016-10-274-35/+11
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Robustly identify unpickling the current module classLukas Rytz2016-10-271-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When unpickling a class, if the name and owner matches the current `classRoot` of the unpickling Scan, that `classRoot` symbol is used instead of creating a new symbol. If, in addition, the class being unpickled has the MODULE flag, the unpickler should use the `moduleRoot.moduleClass` symbol (instead of creating a new one). To identify the module class, the current implementation compares the name and owner to the `classRoot`. This fails in case the `classRoot` is `NoSymbol`, which can happen in corner cases (when a type alias shadows a class symbol, scala-dev#248). In this patch we identify the module class by comparing the name and owner to the `moduleRoot` symbol directly (using a `toTypeName`).
| * | | | | | | | | | | | | | | Classfile parser and unpickler require class and module symbol argumentsLukas Rytz2016-10-273-32/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In SymbolLoaders, when seeing a classfile `Foo.class`, we always (unconditionally) create 3 symbols: a class, a module and a module class. Some symbols get invalidated later (`.exists`). Until now, the classfile parser (and unpickler) received the "root" symbol as argument, which is the symbol whose type is being completed. This is either the class symbol or the module symbol. The classfile parser would then try to lookup the other symbol through `root.companionClass` or `root.companionModule`. Howver, this lookup can fail. One example is scala-dev#248: when a type alias (in a package object) shadows a class symbol, `companionClass` will fail. The implementations of the classfile parser / unpickler assume that both the `clazz` and the `staticModule` symbols are available. This change makes sure that they are always passed in explicitly. Before this patch, in the example of scala-dev#248, the `classRoot` of the unpickler was NoSymbol. This caused a bug when unpickling the module class symbol, causing a second module class symbol to be created mistakingly. The next commit cleans up this logic, more details there. This second symbol would then cause the crash in the backend because it doesn't have an `associatedFile`, therefore `isCoDefinedWith` would spuriously return `true`.
| * | | | | | | | | | | | | | | Clean up cross-check in classfile parser, remove unnecessary assignmentLukas Rytz2016-10-271-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the first entries in the classfile is the class name. The classfile parser performs a cross-check by looking up the class sybmol corresponding to that name and ensures it's the same as `clazz`, the class symbol that the parser currently populates. Since 322c980 ("Another massive IDE checkin"), if at the time of the check `clazz` but the lookup returns some class, the `clazz` field is assigned. The commit following this one makes sure `clazz` is never NoSymbol, so the assignment can safely be removed.
| * | | | | | | | | | | | | | | Clean up lookup class by name in the classfile parserLukas Rytz2016-10-271-46/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a piece of logic essentially duplicating getClassByName in Mirrors (split up a fully qualified class name by ".", look up pieces). That piece of code was added in 0ce0ad5 to fix one example in SI-2464. However, since 020053c (2012, 2.10) that code was broken: the line ss = name.subName(0, start) should be ss = name.subName(start, name.length).toTypeName As a result, the code would always create a stub symbol. Returning a stub seems to be the right thing to do anyway, and the fact that we were doing so during two major releases is a good proof.
| * | | | | | | | | | | | | | | Don't follow type aliases in getClassByName and friendsLukas Rytz2016-10-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes getClassByName fail / getClassIfDefined return NoSymbol when querying an alias. The current behavior can confuse the classfile parser: when parsing a class, a cross-check verifies that `pool.getClassSymbol(nameIdx)` returns the symbol of the class currently being parsed. If there's a type alias that shadows the linked class, following the alias would return an unrelated class. (The cross-check didn't fail because there are some other guards around it) The logic to follow aliases was was added in ff98878, without a clear explanation. Note that `requiredClass[C]` works if `C` is an alias, it is expanded by the compiler.
| * | | | | | | | | | | | | | | Ensure companionClass returns a class, not a type aliasLukas Rytz2016-10-264-3/+11
| | |_|_|_|_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes scala/scala-dev#248, where a type alias reached the backend through this method. This is very similar to the fix for SI-5031, which changed it only in ModuleSymbol, but not in Symbol. The override in ModuleSymbol is actually unnecessary (it's identical), so it's removed in this commit. It was added for unclear reasons in 296b706.