summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #5570 from adriaanm/t10075Adriaan Moors2016-12-0510-22/+199
|\ | | | | SI-10075 propagate annotations to lazy val's underlying field
| * Drop annotations from trait static super accessorAdriaan Moors2016-12-052-3/+3
| | | | | | | | | | | | Based on review suggestion by retronym. See also scala/scala-dev#213
| * SI-10075 annotations go to lazy val's underlying fieldAdriaan Moors2016-12-058-19/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | This likely regressed in #5294. Review feedback from retronym: - Tie annotation triaging a bit closer together durban kindly provided initial version of test/files/run/t10075.scala And pointed out you must force `lazy val`, since `null`-valued field is serializable regardless of its type. Test test/files/run/t10075b courtesy of retronym
* | Merge pull request #5573 from adriaanm/revert-part-5376Adriaan Moors2016-12-023-39/+34
|\ \ | | | | | | Remove existential infer hack enabled by #5376
| * | Revert existential infer part of #5376Adriaan Moors2016-12-013-39/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It wasn't a good idea after all. Also removed some tracing code that I cannot imagine was ever used in a production compiler. It's still just a recompile away. Fixes scala/scala-dev#280
* | | Merge pull request #5385 from retronym/topic/JEP-220Lukas Rytz2016-12-027-8/+151
|\ \ \ | |/ / |/| | Preliminary support for Java 9
| * | Support Java 9 modular runtime imagesJason Zaugg2016-12-026-4/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://openjdk.java.net/jeps/220 changes the layout of the JDK to encapsulate the provided libraries with the new module system. This commit modifies the compiler's classpath implementation to scan the new location of these, the `jrt://` virtual filesystem. This might need to be adjusted once we provide a means for users to specify the subset of modules that they want to depend on, but for now reclaims the ground we lost. ``` ⚡ (java_use 9-ea; qscala) Welcome to Scala 2.12.0-20160908-223617-7e4ebda (Java HotSpot(TM) 64-Bit Server VM, Java 9-ea). Type in expressions for evaluation. Or try :help. scala> import StackWalker._, java.util.stream._, scala.collection.JavaConverters._ import StackWalker._ import java.util.stream._ import scala.collection.JavaConverters._ scala> (() => StackWalker.getInstance(java.util.EnumSet.of(Option.RETAIN_CLASS_REFERENCE)).walk[Seq[String]]((s: java.util.stream.Stream[StackFrame]) => s.iterator.asScala.take(3).map(_.toString).toList)).apply().mkString("\n") res0: String = .$anonfun$res0$1(<console>:21) .<init>(<console>:21) .<clinit>(<console>) scala> ``` I've marked the new class, `NioFile` as `private[scala]` to justify the forward compatibility whitelist entry. In principle we could use NioFile more widely rather than `PlainFile` I tried this out in https://github.com/retronym/scala/commit/b2d0a17a which passed CI. But to be conservative, I'm not submitting that change at this point.
| * | Adapt to the removal of sun.boot.class.pathJason Zaugg2016-12-021-0/+8
| | | | | | | | | | | | | | | | | | | | | In Java 9. we can no longer introspect the boot classpath with a JVM provided system property. Instead, this commit passes a custom property which will be found by PathResolver when it constructs the compiler classpath.
| * | SI-9833 Fix -nobootcp in the Unix scala scriptJason Zaugg2016-12-021-4/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was not having the desired effect of placing the Scala library on the JVM's regular classpath. This commit honours this setting. Note that the Windows scripts have never supported the use of bootclasspath, so no changes are required. The existing bug: ``` (java_use 1.8; ~/scala/2.11.8/bin/scala -nobootcp -debug -e 'print("")') /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/bin/java -Xmx256M -Xms32M -Xbootclasspath/a:/Users/jason/scala/2.11.8/lib/akka-actor_2.11-2.3.10.jar:/Users/jason/scala/2.11.8/lib/config-1.2.1.jar:/Users/jason/scala/2.11.8/lib/jline-2.12.1.jar:/Users/jason/scala/2.11.8/lib/scala-actors-2.11.0.jar:/Users/jason/scala/2.11.8/lib/scala-actors-migration_2.11-1.1.0.jar:/Users/jason/scala/2.11.8/lib/scala-compiler.jar:/Users/jason/scala/2.11.8/lib/scala-continuations-library_2.11-1.0.2.jar:/Users/jason/scala/2.11.8/lib/scala-continuations-plugin_2.11.8-1.0.2.jar:/Users/jason/scala/2.11.8/lib/scala-library.jar:/Users/jason/scala/2.11.8/lib/scala-parser-combinators_2.11-1.0.4.jar:/Users/jason/scala/2.11.8/lib/scala-reflect.jar:/Users/jason/scala/2.11.8/lib/scala-swing_2.11-1.0.2.jar:/Users/jason/scala/2.11.8/lib/scala-xml_2.11-1.0.4.jar:/Users/jason/scala/2.11.8/lib/scalap-2.11.8.jar -classpath "" -Dscala.home=/Users/jason/scala/2.11.8 -Dscala.usejavacp=true -Denv.emacs= scala.tools.nsc.MainGenericRunner print("") ``` Fixed by this patch: ``` ⚡ (java_use 1.8; qscala -nobootcp -debug -e 'print("")') /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/bin/java -Xmx256M -Xms32M -classpath /Users/jason/code/scala/build/quick/classes/repl-jline-embedded:/Users/jason/code/scala/build/quick/classes/repl-jline:/Users/jason/code/scala/build/quick/classes/repl:/Users/jason/code/scala/build/quick/classes/compiler:/Users/jason/code/scala/build/quick/classes/library:/Users/jason/code/scala/build/quick/classes/reflect:/Users/jason/code/scala/build/quick/classes/interactive:/Users/jason/.ivy2/cache/org.apache.ant/ant/jars/ant-1.9.4.jar:/Users/jason/.ivy2/cache/org.apache.ant/ant-launcher/jars/ant-launcher-1.9.4.jar:/Users/jason/.ivy2/cache/org.scala-lang.modules/scala-asm/bundles/scala-asm-5.1.0-scala-1.jar:/Users/jason/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12.0-RC1/bundles/scala-xml_2.12.0-RC1-1.0.5.jar:/Users/jason/.ivy2/cache/jline/jline/jars/jline-2.14.1.jar -Dscala.home=/Users/jason/code/scala/build/quick -Dscala.usejavacp=true -Denv.emacs= scala.tools.nsc.MainGenericRunner -nc print("") ```
* | Merge pull request #5572 from SethTisue/merge-2.11.x-to-2.12.x-dec-1Adriaan Moors2016-12-013-1/+33
|\ \ | | | | | | merging 2.11.x onto 2.12.x [ci: last-only]
| * | Merge remote-tracking branch 'origin/2.11.x' into merge-2.11.x-to-2.12.x-dec-1Seth Tisue2016-12-013-1/+33
|/| |
| * | Merge pull request #5571 from SethTisue/mima-upgradeSeth Tisue2016-12-014-2/+263
| |\ \ | | | | | | | | upgrade MiMa to 0.1.12
| | * | upgrade MiMa to 0.1.12Seth Tisue2016-12-014-2/+263
| |/ / | | | | | | | | | | | | dogfooding the latest. upgrading all the way from 0.1.8 -- there have been a bunch of improvements since then.
| * | Update to mathjax 2.6-latest [2.12.x backport]Adriaan Moors2016-11-291-1/+1
| | | | | | | | | | | | This fixes the vertical bar problem on Chrome (https://github.com/mathjax/MathJax/issues/1300);
* | | Merge pull request #5284 from milessabin/topic/si-7046Adriaan Moors2016-11-3020-14/+251
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SI-7046 reflection doesn't see all knownDirectSubclasses This appears to do the right thing in the most typical scenarios in which `knownDirectSubclasses` would be used. The missing 5% is that subclasses defined in local scopes might not be seen by `knownDirectSubclasses` (see `Local` and `Riddle` in the test below). In mitigation, though, it is almost certain that a local subclass would represent an error in any scenario where `knownDirectSubclasses` might be used. Errors for such situations are reported by recording (via a symbol attachment) that `knownDirectSubclasses` has been called and reporting an error if any additional children are added subsequently. Despite these limitations and caveats, I believe that this represents a huge improvement over the status quo, and would eliminate 100% of the failures that I've seen in practice with people using shapeless for type class derivation.
| * | | Partial fix for SI-7046Miles Sabin2016-11-2820-14/+251
| | | |
* | | | Merge pull request #5376 from milessabin/topic/clean-experimentalAdriaan Moors2016-11-3010-21/+24
|\ \ \ \ | |_|_|/ |/| | | Clean up of code guarded by bare -Xexperimental
| * | | Typevar experimentals now default; t5729 pos -> neg.Miles Sabin2016-11-284-19/+15
| | | |
| * | | Pattern matching virtualization now guarded by -Yvirtpatmat.Miles Sabin2016-11-286-2/+9
| |/ /
* | | Merge pull request #5562 from retronym/ticket/SD-275Jason Zaugg2016-11-307-32/+125
|\ \ \ | | | | | | | | SD-275 Further harden against refs to absentee classes
| * | | SD-275 Remove obsolete code from the unpicklerJason Zaugg2016-11-291-27/+12
| | | | | | | | | | | | | | | | | | | | | | | | AFAICT, this was only needed to support pickle compatibility after the fix for SI-1591. We don't need to maintain the compatibility after incrementing our major version.
| * | | SD-275 Further harden against refs to absentee classesJason Zaugg2016-11-296-3/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Limit the strategy of unpickling an external reference to a module class to a lookup of the module var to non-stub owners in order to enable fall through to stub symbol creation. Fixes scala/scala-dev#275
| * | | SI-8502 Rework handling of stub symbols in unpicklerJason Zaugg2016-11-292-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rework previous fixes for SI-8502 to move the creation of a term or type stub symbol during unpickling to the initial point of stub creation, based on the tag. - Just set the PACKAGE flag on class stub symbols created during unpickling `ThisType`, rather than bothering with a different subclass of `StubSymbol` for (assumed) packages.
* | | | Merge pull request #5537 from paplorinc/hashTableIndexJason Zaugg2016-11-302-59/+194
|\ \ \ \ | | | | | | | | | | Optimized HashTable.index
| * | | | Optimized HashTable.indexPap Lőrinc2016-11-242-7/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (`ops/s`, smaller is better) `Before (9c5d3f8)`: ```scala [info] # Run complete. Total time: 00:08:15 [info] [info] Benchmark (size) Mode Cnt Score Error Units [info] s.c.immutable.VectorMapBenchmark.groupBy 10 avgt 20 645.594 ± 9.435 ns/op [info] s.c.immutable.VectorMapBenchmark.groupBy 100 avgt 20 2084.216 ± 37.814 ns/op [info] s.c.immutable.VectorMapBenchmark.groupBy 1000 avgt 20 19878.481 ± 262.404 ns/op [info] s.c.mutable.HashMapBenchmark.get 10 avgt 20 689.941 ± 5.850 ns/op [info] s.c.mutable.HashMapBenchmark.get 100 avgt 20 7357.330 ± 45.956 ns/op [info] s.c.mutable.HashMapBenchmark.get 1000 avgt 20 95767.200 ± 1550.771 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 10 avgt 20 509.181 ± 2.683 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 100 avgt 20 5563.301 ± 32.335 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 1000 avgt 20 71965.365 ± 1809.738 ns/op [info] s.c.mutable.HashMapBenchmark.put 10 avgt 20 247.270 ± 3.972 ns/op [info] s.c.mutable.HashMapBenchmark.put 100 avgt 20 5646.185 ± 106.172 ns/op [info] s.c.mutable.HashMapBenchmark.put 1000 avgt 20 81303.663 ± 954.938 ns/op ``` `Changed modulo to bitwise and in hash calculation (4c729fe)`: ```scala [info] Benchmark (size) Mode Cnt Score Error Units [info] s.c.immutable.VectorMapBenchmark.groupBy 10 avgt 20 631.291 ± 9.269 ns/op [info] s.c.immutable.VectorMapBenchmark.groupBy 100 avgt 20 2077.885 ± 59.737 ns/op [info] s.c.immutable.VectorMapBenchmark.groupBy 1000 avgt 20 15458.278 ± 317.347 ns/op [info] s.c.mutable.HashMapBenchmark.get 10 avgt 20 678.013 ± 4.453 ns/op [info] s.c.mutable.HashMapBenchmark.get 100 avgt 20 7258.522 ± 76.088 ns/op [info] s.c.mutable.HashMapBenchmark.get 1000 avgt 20 94748.845 ± 1226.120 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 10 avgt 20 498.042 ± 5.006 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 100 avgt 20 5243.154 ± 110.372 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 1000 avgt 20 68194.752 ± 655.436 ns/op [info] s.c.mutable.HashMapBenchmark.put 10 avgt 20 257.275 ± 1.411 ns/op [info] s.c.mutable.HashMapBenchmark.put 100 avgt 20 5318.532 ± 152.923 ns/op [info] s.c.mutable.HashMapBenchmark.put 1000 avgt 20 79607.160 ± 651.779 ns/op ``` `Optimized HashTable.index (6cc1504)`: ```scala [info] Benchmark (size) Mode Cnt Score Error Units [info] s.c.immutable.VectorMapBenchmark.groupBy 10 avgt 20 616.164 ± 4.712 ns/op [info] s.c.immutable.VectorMapBenchmark.groupBy 100 avgt 20 2034.447 ± 14.495 ns/op [info] s.c.immutable.VectorMapBenchmark.groupBy 1000 avgt 20 14712.164 ± 119.983 ns/op [info] s.c.mutable.HashMapBenchmark.get 10 avgt 20 679.046 ± 6.872 ns/op [info] s.c.mutable.HashMapBenchmark.get 100 avgt 20 7242.097 ± 41.244 ns/op [info] s.c.mutable.HashMapBenchmark.get 1000 avgt 20 95342.919 ± 1521.328 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 10 avgt 20 488.034 ± 4.554 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 100 avgt 20 4883.123 ± 59.268 ns/op [info] s.c.mutable.HashMapBenchmark.getOrElseUpdate 1000 avgt 20 65174.034 ± 496.759 ns/op [info] s.c.mutable.HashMapBenchmark.put 10 avgt 20 267.983 ± 1.797 ns/op [info] s.c.mutable.HashMapBenchmark.put 100 avgt 20 5097.351 ± 104.538 ns/op [info] s.c.mutable.HashMapBenchmark.put 1000 avgt 20 78772.540 ± 543.935 ns/op ``` Summary, i.e. the effect of this PR, according to the benchmarks: * `groupBy` has a `~35%` speedup * `get` didn't change * `getOrElseUpdate` has a `~10%` speedup * `put` has a `~3%` speedup Note: caching the `exponent` to a local private field (`Byte` or `Int`) didn't have any performance advantage (only a minor slowdown was measured, possibly because it's accessed via an interface now)
| * | | | Changed modulo to bitwise AND in hash calculationPap Lőrinc2016-11-231-52/+17
| | | | |
* | | | | Merge pull request #5563 from lrytz/sd259bJason Zaugg2016-11-302-4/+23
|\ \ \ \ \ | | | | | | | | | | | | Don't exclude super calls to trait methods from inlining
| * | | | | Don't exclude super calls to trait methods from inliningLukas Rytz2016-11-292-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 8020cd6, the inliner was changed to make sure trait methods bodies are not duplicated into the static super accessors, and from there into mixin forwarders. The check for mixin forwarders was too wide. In `def t = super.m`, where `m` is a trait method annotated `@inline`, we want to inline `m`. Note that `super.m` is translated to an `invokestatic T.m$`. The current check incorrectly identifies `t` as a mixin forwarder, and skip inlining.
* | | | | | Merge pull request #5554 from retronym/ticket/10009Adriaan Moors2016-11-295-5/+50
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-10009 Fields survive untypecheck/retypecheck
| * | | | | | SI-10009 Fields survive untypecheck/retypecheckJason Zaugg2016-11-285-5/+50
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some places in the compiler, and many places in macros, use `untypecheck` (aka `resetAttrs`) to strip types and local symbols from a tree before retypechecking it under some different context. The refactoring of the desugaring of vals and vars in Scala 2.12.0 broke an assumption in this facility. When a ValDef must be split into multiple members (e.g. a field and a getter, or a perhaps also a setter), the ValDef that was parsed assumes the role of the `field`, and the trees for other members are stached by `Namer` to the `synthetics` map of the compilation unit, in order to spliced into the right statement list by typechecking. See `enterGetterSetter` for more details. However, the parsed ValDef is now used verbatim, carrying the meaning (ie, the symbol) of the `private[this]` field. This tree now had an inconsistency between the flags in `tree.mods.flags` and `tree.symbol.flags`. `tree.name` also differed from `tree.symbol.name` (the latter was renamed to be a local name, ie one with a trailing space.) When `ResetAttrs` stripped off the symbol and we retypechecked, we'd end up with two symbols in scope with the same name. In the first from the `run` test: ``` ================================================================================ { class a extends scala.AnyRef { def <init>(): a = { a.super.<init>(); () }; private[this] val x: Int = 42; <stable> <accessor> def x: Int = a.this.x }; new a() } { class a extends scala.AnyRef { def <init>() = { super.<init>(); () }; val x = 42; // oops, the name is "x" rather than "x " and we've missing `private[this]`! <stable> <accessor> def x: Int = a.this.x }; new a() } scala.tools.reflect.ToolBoxError: reflective typecheck has failed: x is already defined as value x ``` This commit uses the flags and name of the symbol in `typedValDef`. I've also had to modify the internals of `CodePrinter` to use the implicit, override, and deferred flags from the modifiers of an accessor when recovering pre-typer tree for a ValDef.
* | | | | | Merge pull request #5536 from retronym/ticket/SD-268Adriaan Moors2016-11-293-15/+33
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix more compiler crashes with fields, refinement types
| * | | | | | Fix more compiler crashes with fields, refinement typesJason Zaugg2016-11-213-15/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the same manner as scala/scala-dev#219, the placement of the fields phase after uncurry is presenting some challenges in keeping our trees type correct. This commit whacks a few more moles by adding a casts in the body of synthetic methods. Fixes scala/scala-dev#268
* | | | | | | Merge pull request #5506 from retronym/topic/existential-idsAdriaan Moors2016-11-2911-16/+30
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Avoid name table pollution with fresh existentials
| * | | | | | | Avoid name table pollution with fresh existentialsJason Zaugg2016-11-0811-16/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During large compilations runs, the large numbers of globally unique fresh names for existentials captured from prefixes of `asSeenFrom`. is a) somewhat wasteful (all these names are interned in the name table) , and, b) form a pathological case for the current implementation of `Names#hashValue`, which leads to overfull hash-buckets in the name table. `hashValue` should probably be improved, but my attempts to do so have shown a small performance degradation in some benchmarks. So this commit starts by being more frugal with these names, only uniquely naming within an `asSeenFrom` operation. References scala/scala-dev#246
* | | | | | | | Merge pull request #5407 from som-snytt/issue/9557Adriaan Moors2016-11-292-2/+2
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | SI-9557 Backquoted id spec
| * | | | | | | SI-9557 Backquoted id specSom Snytt2016-11-152-2/+2
| | | | | | | |
* | | | | | | | Merge pull request #5561 from retronym/topic/merge-2.11.x-to-2.12.x-20161129Lukas Rytz2016-11-294-4/+13
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | Merge 2.11.x to 2.12.x [ci: last-only]
| * | | | | | | Merge commit '57290a1' into topic/merge-2.11.x-to-2.12.x-20161129Jason Zaugg2016-11-293-3/+12
| |\ \ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: spec/_layouts/default.yml test/junit/scala/tools/nsc/interpreter/CompletionTest.scala Fixes scala/scala-dev#272
| | * | | | | | Merge pull request #5553 from retronym/ticket/SD-271Jason Zaugg2016-11-292-1/+10
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Improve performance of REPL autocompletion
| | | * | | | | | Improve performance of REPL autocompletionJason Zaugg2016-11-222-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code used to fuzzily match, e.g, `declasses` with `getDeclaredClasses` was exploring fruitless parts of the search space. The enclosed test case was hanging the REPL. This commit improves this by performing a prefix match of the unconsumed input against the current chunk of the candidate before exploring the `inits`. Fixes scala/scala-dev#271
| | * | | | | | | Merge pull request #5559 from szeiger/wip/mathjax-httpsAdriaan Moors2016-11-281-2/+2
| | |\ \ \ \ \ \ \ | | | |/ / / / / / | | |/| | | | | | Use https links to JS and CSS in the spec when serving from https
| | | * | | | | | Use https links to JS and CSS in the spec when serving from httpsStefan Zeiger2016-11-281-2/+2
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The spec is published on a server that supports https (https://www.scala-lang.org/files/archive/spec/2.11/) and this comes up as the default in search results (as it should) but the link to MathJAX is hardcoded to http, which prevents any web browser that cares about security from loading it. This commit changes the links to MathJAX and to the Highlight.js stylesheet to be scheme-relative (like the link to JQuery already was).
| * | | | | | | Merge commit '35f8908' into topic/merge-2.11.x-to-2.12.x-20161129Jason Zaugg2016-11-290-0/+0
| |\| | | | | |
| | * | | | | | Merge pull request #5518 from som-snytt/issue/10037-2.11Jason Zaugg2016-11-116-5/+23
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-10037 ASR/LSR switched in ICodeReader
| | | * | | | | | [nomerge] SI-10037 ASR/LSR switched in ICodeReaderSom Snytt2016-11-106-5/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed when inlining from a class file. The test doesn't work because inlining fails with bytecode unavailable due to: ``` scala.reflect.internal.MissingRequirementError: object X in compiler mirror not found. ```
| | * | | | | | | Merge pull request #5491 from SethTisue/akka-bumpSeth Tisue2016-11-101-1/+1
| | |\ \ \ \ \ \ \ | | | |/ / / / / / | | |/| | | | | | move to latest Akka 2.3.x release
| | | * | | | | | move to latest Akka 2.3.x releaseSeth Tisue2016-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Akka 2.3.16 was released in October 2016: http://akka.io/news/2016/10/30/akka-2.3.16-released.html
| * | | | | | | | Merge commit '74ed575' into topic/merge-2.11.x-to-2.12.x-20161129Jason Zaugg2016-11-291-1/+1
|/| | | | | | | | | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: scripts/jobs/integrate/bootstrap
| * | | | | | | Merge pull request #5511 from SethTisue/stop-no-dont-delete-everything-arghSeth Tisue2016-11-081-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | don't mass-delete old nightlies at release time
| | * | | | | | | don't mass-delete old nightlies at release timeSeth Tisue2016-11-081-1/+1
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as happened with 2.12.0, for gory details see https://github.com/scala/scala-dev/issues/257 fix suggested by Stefan Zeiger