summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Added U+hhhh values for quote characters to clarify.Daniel Barclay2016-11-051-2/+2
|
* 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.
* | | | | | Merge pull request #5379 from szeiger/wip/persist-buildcharacterStefan Zeiger2016-10-272-3/+21
|\ \ \ \ \ \ | | | | | | | | | | | | | | Store buildcharacter.properties in scala-compiler.jar
| * | | | | | Store buildcharacter.properties in scala-compiler.jarStefan Zeiger2016-09-062-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to all the individual projects’ version properties files that we already keep in `scala-compiler.jar` we now write a new `scala-buildcharacter.properties` which is identical to the `buildcharacter.properties` written to the root directory by `generateBuildCharacterPropertiesFile`. The new task `extractBuildCharacterPropertiesFile` extracts it from the bootstrap Scala compiler and writes the usual `buildcharacter.properties`. This can be used to reproduce the exact version information for all modules in builds that start from an arbitrary published Scala version instead of being triggered directly by a bootstrap job.
* | | | | | | Merge pull request #5276 from som-snytt/issue/9750Seth Tisue2016-10-263-72/+140
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | SI-9750 scala.util.Properties.isJavaAtLeast works with JDK9
| * | | | | | SI-9750 Remove isJavaAtLeast from util.StackTracingSom Snytt2016-07-291-27/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formatting suppressed exceptions required reflection for platform compatibility. No longer, since Java 8 is assumed. Minor tidying.
| * | | | | | SI-9750 Spec check major.minor.securitySom Snytt2016-07-212-29/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't assume spec is just major, but allow arbitrary version number for both spec value and user value to check. Only the first three dot-separated fields are considered, after skipping optional leading value "1" in legacy format. Minimal validity checks of user arg are applied. Leading three fields, if present, must be number values, but subsequent fields are ignored. Note that a version number is not a version string, which optionally includes pre and build info, `9-ea+109`.
| * | | | | | SI-9750 isJavaAtLeast(Int)Som Snytt2016-07-152-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A good opportunity to simplify the API. Versions are strings, but a spec version is just a number.
| * | | | | | SI-9750 Tweak tests for what is a numberSom Snytt2016-07-152-22/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Leaves the error string as is, but adds test to show how it looks. Java calls it a version number. `Not a version: 1.9`. Don't strip `1.` prefix recursively. (That was Snytt's fault.)
| * | | | | | SI-9750 scala.util.Properties.isJavaAtLeast works with JDK9Pavel Petlinsky2016-07-132-28/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The utility method compares javaSpecVersion, which has the form "1.8" previously and "9" going forward. The method accepts "1.n" for n < 9. More correctly, the string argument should be a single number. Supports JEP-223.
* | | | | | | Merge pull request #5383 from SethTisue/post-rc1-cleanupsSeth Tisue2016-10-2420-275/+242
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | assorted cleanups
| * | | | | | | assorted typo fixes, cleanup, updating of commentsSeth Tisue2016-10-2418-66/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | just in time for Halloween. "boostrap" is definitely the most adorable typo evah -- and one of the most common, too. but we don't want to scare anybody.
| * | | | | | | re-enable (or simplify) various tests now that STARR is bumpedSeth Tisue2016-10-241-206/+185
| | | | | | | |
| * | | | | | | SI-9516 remove now-unneeded codeSeth Tisue2016-10-241-3/+3
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | now that STARR includes the relevant fix
* | | | | | | Merge pull request #5466 from dragos/issue/remove-println-SI-8717Lukas Rytz2016-10-213-6/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Replace println with log calls in BrowsingLoaders