summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * | SI-9178 Don't eta expand param-less method types to SAMsJason Zaugg2015-10-271-1/+8
| | | | | | | | | | | | | | | | | | Otherwise, we can end up with a subtle source incompatibility with the pre-SAM regime. Arguably we should phase out eta expansion to Function0 as well, but I'll leave that for another day.
* | | Merge pull request #4827 from soc/SI-6162-publicSeth Tisue2015-11-172-2/+0
|\ \ \ | | | | | | | | SI-6162 Make @deprecated{Inheritance,Overriding} public
| * | | SI-6162 Make @deprecated{Inheritance,Overriding} publicSimon Ochsenreither2015-10-282-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was kept private first with the expectation that further modifier changes might warrant a more extensible design. Until now, there doesn't seem to have appeared other interesting use-cases that warranted a design overhaul. This commit makes the existing annotations public to allow all Scala developers to benefit from it.
* | | | Merge pull request #4825 from soc/topic/drop-threadpool-fallbackJason Zaugg2015-11-131-31/+12
|\ \ \ \ | | | | | | | | | | Remove ThreadPoolExecutor fallback in ExecutionContextImpl
| * | | | Remove ThreadPoolExecutor fallback in ExecutionContextImplSimon Ochsenreither2015-10-281-31/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The method createDefaultExecutorService had a fallback if the creation of a ForkJoinPool didn't succeed. This was necessary, because Scala shipped its own version of FJP, and the dependency on sun.misc.Unsafe (which is not an "offical" official API) made portability slightly questionable. Now that we can assume that FJP is supplied by the JDK, this concern goes away.
* | | | | Merge pull request #4834 from som-snytt/issue/9545-docJason Zaugg2015-11-131-23/+20
|\ \ \ \ \ | | | | | | | | | | | | SI-9545 SyncVar doc and deboxing
| * | | | | SI-9545 De-option SyncVarSom Snytt2015-11-011-19/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't store the wrapped value double-wrapped in Option. Also burnish some more docs.
| * | | | | SI-9545 Correct doc for SyncVar.get(t)Som Snytt2015-11-011-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | It used to have javish semantics, but now is what it is.
* | | | | | Merge pull request #4823 from soc/SI-7566-actor-leftoversJason Zaugg2015-11-134-151/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-7566 Remove some private, deprecated remnants from scala-actors
| * | | | | | SI-7566 Remove some private, deprecated remnants from scala-actorsSimon Ochsenreither2015-10-274-151/+0
| | |/ / / / | |/| | | |
* | | | | | Merge pull request #4829 from etaty/patch-3Jason Zaugg2015-11-131-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | WrapAsScala: Fix documentation
| * | | | | | WrapAsScala: Fix documentationValerian2015-10-291-3/+3
| | |/ / / / | |/| | | |
* | | | | | Merge pull request #4844 from retronym/ticket/9555Jason Zaugg2015-11-131-17/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-9555 Refactor SystemProperties to avoid mutable map
| * | | | | | SI-9555 Refactor SystemProperties to avoid mutable mapJason Zaugg2015-11-131-17/+17
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A mutable map with help text was lazy populated if and when lazy vals containing `BooleanProp` for a particular system was initialized. Reviewing this code, I noticed two problems: the class doesn't appear to be designed for multithreaded access (e.g. someone could call `help` while the map is being updated.), and the help method won't return anything until the vals below are accessed for the first time. We don't use the help method anywhere else, but kept it around in the unlikely event it was being used by some other tool. I've done away with the mutable map by just moving the help messages into a match in the help method itself.
* | | | | | Merge pull request #4840 from SethTisue/bump-intellij-project-jdk-versionJason Zaugg2015-11-121-1/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | | for 2.12, bump JDK version (6 -> 8) in IntelliJ sample config
| * | | | | for 2.12, bump JDK version (6 -> 8) in IntelliJ sample configSeth Tisue2015-11-091-1/+1
| | | | | |
* | | | | | Merge pull request #4838 from lrytz/removeIcodeLukas Rytz2015-11-1043-11957/+139
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Remove ICode (re-submission)
| * | | | | Minor cleanupsLukas Rytz2015-11-063-55/+3
| | | | | |
| * | | | | Use BTypes when building the lambdaMetaFactoryBootstrapHandleLukas Rytz2015-11-064-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All class internal names that are referenced from a class being compiled should be referenced through their ClassBType. This makes sure that the ClassBType is cached in `classBTypeFromInternalName`, which is required during classfile writing: when ASM computes stack map frames, we need to answer subtyping queries, for which we need to look up the ClassBTypes.
| * | | | | Simplify InvokeStyleLukas Rytz2015-11-062-71/+34
| | | | | |
| * | | | | Remove the rest of ICodesLukas Rytz2015-11-068-230/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only pieces of ICodes that were still used - An enum representing bytecode comparisons, re-implemented - The `icodes.IClass` class, which remains for sbt compatibility (https://github.com/scala/scala/pull/4588)
| * | | | | Remove ICode's TypeKinds, use BTypes in the backend insteadLukas Rytz2015-11-063-482/+8
| | | | | |
| * | | | | Remove ICodeSimon Ochsenreither2015-10-3138-11189/+91
| |/ / / /
* | | | | Merge pull request #4783 from mprudhom/patch-1Seth Tisue2015-11-061-6/+6
|\ \ \ \ \ | |/ / / / |/| | | | Repaired the alphabetical sorting of standards set
| * | | | Repaired the alphabetical sorting of standards setMarc Prud'hommeaux2015-10-271-6/+6
| | |/ / | |/| |
* | | | Merge pull request #4814 from soc/topic/drop-genasmLukas Rytz2015-10-299-3861/+595
|\ \ \ \ | |/ / / |/| | | Remove GenASM
| * | | Remove GenASM, merge remaining common code snippetsSimon Ochsenreither2015-10-279-3861/+595
| |/ / | | | | | | | | | | | | | | | | | | | | | With GenBCode being the default and only supported backend for Java 8, we can get rid of GenASM. This commit also fixes/migrates/moves to pending/deletes tests which depended on GenASM before.
* | | Merge pull request #4813 from rcmurphy/topic/improved-softrefSeth Tisue2015-10-271-0/+13
|\ \ \ | | | | | | | | Add Extractor and apply Method for SoftReference
| * | | Add Extractor and apply Method for SoftReferenceRebecca Claire Murphy2015-10-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scala.ref.WeakReference has two features which are lacking in scala.ref.SoftReference, an extractor and a .apply method that greatly enhance the usability of that class. This commit simply replicates that functionality for SoftReference.
* | | | Merge pull request #4808 from retronym/ticket/9527Seth Tisue2015-10-271-2/+3
|\ \ \ \ | | | | | | | | | | SI-9527 Fix NPE in ambiguous implicit error generation