summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | SI-7164 - Removing NotImplementedError as Fatal from s.u.c.NonFatalViktor Klang2013-02-213-6/+6
| | |_|_|/ / / / | |/| | | | | |
* | | | | | | | Merge pull request #2151 from adriaanm/merge-2.10.xPaul Phillips2013-02-2231-1424/+224
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge 2.10.x into master
| * \ \ \ \ \ \ \ Merge 2.10.x into master.Adriaan Moors2013-02-2031-1424/+224
| |\ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | / / / | | | |_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: build.number src/compiler/scala/tools/nsc/doc/base/MemberLookupBase.scala src/compiler/scala/tools/nsc/typechecker/Macros.scala test/files/presentation/doc/doc.scala
| | * | | | | | Merge pull request #2146 from adriaanm/build-2.10.2Grzegorz Kossakowski2013-02-201-1/+1
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | bump build number to 2.10.2
| | | * | | | | | bump build number to 2.10.2Adriaan Moors2013-02-201-1/+1
| | |/ / / / / /
| | * | | | | | Merge pull request #2118 from lrytz/annotatedRetypingJames Iry2013-02-195-9/+87
| | |\ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | | Fix typing idempotency bug with Annotated trees
| | | * | | | | Merge pull request #1 from retronym/topic/annotatedRetyping-testLukas Rytz2013-02-182-0/+14
| | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | Additional test case for Lukas' fix to annotated originals.
| | | | * | | | | Additional test case for Lukas' fix to annotated originals.Jason Zaugg2013-02-182-0/+14
| | | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was inspired by the regression that Mark encountered when upgrading SBT from 2.10.0 to 2.10.1-RC1.
| | | * | | / / Fix typing idempotency bug with Annotated treesLukas Rytz2013-02-123-9/+73
| | | | |_|/ / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | typedAnnotated transforms an Annotated tree into a Typed tree. The original field of the result is set to the Annotated tree. The bug was that typedAnnotated was using the untyped Annotated tree as original, but also set its type. When re-typing later on the same Annotated tree, the typer would consider it as alreadyTyped. This is incorrect, the typer needs to convert Annotated trees to Typed. Also, the Annotated tree only had its type field set, but its children were still untyped. This crashed the compiler lateron, non-typed trees would get out of the typing phase.
| | * | | | | Merge pull request #2129 from gkossakowski/issues/SI-7130-StatisticsJames Iry2013-02-191-1/+1
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | Fix SI-7130: Memory leaked caused by Statistics
| | | * | | | | Fix SI-7130: Memory leaked caused by StatisticsGrzegorz Kossakowski2013-02-141-1/+1
| | | | |_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described in the ticket, we were leaking memory by holding reference to Global through by-name argument that was captured by an instance of a class stored in global HashMap `qs`. The fix is simple: do not register quantities in HashMap unless statistics is enabled. This way, if Statistics is disabled we do not store any references. We still leak memory in case of statistics being enabled.
| | * | | | | Merge pull request #2136 from vigdorchik/scannersJames Iry2013-02-191-21/+13
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | SI-7143 Fix scanner docComment production.
| | | * | | | | SI-7143 Fix scanner docComment: docBuffer and docPos are initializedEugene Vigdorchik2013-02-191-21/+13
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | in different places and as a result can get out of sync and as a result the invariant that docComment has a position is broken.
| | * | | | | Merge pull request #2130 from vigdorchik/relax_docJames Iry2013-02-196-40/+41
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | SI-7134: don't require doc.Settings in base api of scaladoc.
| | | * | | | | SI-7134: don't require doc.Settings in base api of scaladoc.Eugene Vigdorchik2013-02-156-40/+41
| | | |/ / / /
| | * | | | | Merge pull request #2137 from ↵James Iry2013-02-194-0/+26
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | huitseeker/issue/value-protected-in-inherited-1000567 SI-5013 / #1000567 : added presentation test for fixed bug
| | | * | | | | unit test ide-t1000567 exercises SI-5063, aka #1000567.François Garillot2013-02-194-0/+26
| | | | | | | |
| | * | | | | | Merge pull request #2135 from heathermiller/futures-cleanupsJames Iry2013-02-193-1331/+0
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Removing disabled, unneeded futures tests
| | | * | | | | | Removing disabled, unneeded futures testsHeather Miller2013-02-173-1331/+0
| | | | | | | | |
| | * | | | | | | Merge pull request #2131 from jozic/scaladoc-cleanupJames Iry2013-02-193-8/+8
| | |\ \ \ \ \ \ \ | | | |_|/ / / / / | | |/| | | | | | make Future scaladoc examples up-to-date and compilable
| | | * | | | | | make Future scaladoc examples up-to-date and compilableEugene Platonov2013-02-153-8/+8
| | | | |/ / / / | | | |/| | | |
| | * | | | | | Merge pull request #2132 from u-abramchuk/SI5744Eugene Burmako2013-02-166-11/+32
| | |\ \ \ \ \ \ | | | |/ / / / / | | |/| | | | | SI-5744 evidence params are now SYNTHETIC
| | | * | | | | SI-5744 evidence params are now SYNTHETICUladzimir Abramchuk2013-02-166-11/+32
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macro def <-> macro impl correspondence check compares names of the corresponding parameters in def and impl and reports an error if they don't match. This was originally designed to avoid confusion w.r.t named arguments (which ended up being never implemented as described in SI-5920). Sometimes parameter names are generated by the compiler, which puts the user in a tough position. Luckily, there's an escape hatch built it, which omits the name correspondence check if one of the parameters is SYNTHETIC. Everything went well until we realized that evidences generated by context bounds aren't SYNTHETIC, which led to the bug at hand. Marking auto-generated evidence parameters SYNTHETIC was only the first step, as the correspondence checker uses parameter symbols, not parameter trees. Why's that a problem? Because SYNTHETIC doesn't get propagated from def trees to their underlying symbols (see ValueParameterFlags). Unfortunately one cannot just change ValueParameterFlags, because that would break printouts generated in TypeDiagnostics, which is designed to not print synthetic symbols. Thus we modify methodTypeErrorString in TypeDiagnostics to always print synthetic symbols. Therefore now we propagate all paramSym.flags when doing correspondent sweeps to keep them in sync between def trees and their underlying symbols. This fixes the problem.
| | * | | | | Merge pull request #2115 from retronym/ticket/7091Adriaan Moors2013-02-122-1/+12
| | |\ \ \ \ \ | | | |_|/ / / | | |/| | | | SI-7091 Don't try to put a protected accessor in a package.
| | | * | | | SI-7091 Don't try to put a protected accessor in a package.Jason Zaugg2013-02-112-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shows up when a protected[pack] class has a constructor with a default argument. Regressed in f708b87 / SI-2296.
| | | * | | | SI-7091 Add a diagnostic for the "no acc def buf" error.Jason Zaugg2013-02-101-1/+4
| | | | | | |
* | | | | | | Merge pull request #2141 from paulp/pr/overriding-methodsPaul Phillips2013-02-225-60/+97
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix and optimization in overriding logic.
| * | | | | | | Fix and optimization in overriding logic.Paul Phillips2013-02-195-60/+97
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given: trait Foo { def f: Int = 5 } trait Bar extends Foo { def f: Int } I noticed allOverriddenSymbols for the abstract f defined in Bar was returning the method from Foo, even though an abstract method cannot override a concrete one. There were other bits of code which accidentally depended on this outcome. Now allOverriddenSymbols for Bar is empty. The optimization is that whether or not a symbol overrides any other symbols is known at creation time and does not change. We now spend a lot less time looking for overridden symbols in base classes by storing that value, "isOverridingSymbol".
* | | | | | | Merge pull request #2142 from paulp/pr/move-implicit-tagsPaul Phillips2013-02-222-103/+110
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Extracted abstract implicit vals from Types.
| * | | | | | | Extracted abstract implicit vals from Types.Paul Phillips2013-02-192-103/+110
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | These should be considered plumbing and not blended in with the rest of the api.
* | | | | | | Merge pull request #2145 from paulp/pr/value-class-extractorsPaul Phillips2013-02-226-99/+138
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Boxing cleanup: erasure, post-erasure, value classes.
| * | | | | | Boxing cleanup: erasure, post-erasure, value classes.Paul Phillips2013-02-206-99/+138
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces extractors for value class trees. Puts them to work to make the value class tree manipulations believable. Eliminated some boxing code in erasure which had been marked "maybe subsumed by posterasure?" after deciding that it had been subsumed by posterasure. Added some same-bytecode tests involving value class boxing (actually the lack thereof.)
* | | | | | Merge pull request #2119 from JamesIry/master_SI-6642James Iry2013-02-2013-97/+411
|\ \ \ \ \ \ | |/ / / / / |/| | | | | SI-6642 Adds iteratorFrom, keysIteratorFrom, and valuesIteratorFrom
| * | | | | SI-6642 Code cleanup from review of iteratorFromJames Iry2013-02-132-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is code cleanup from the review on https://github.com/scala/scala/pull/2119 * Changes several instances of def f[A, ]… to def f[A]… * Changes several instances of def f[A](…)(implicit ordering : Ordering[A])… to def f[A: Ordering](…)… * Changes one instance of x == null to x eq null * Changes two instances of id + bottomid to bottomid + id
| * | | | | SI-6642 Refactor mutable.TreeSet to use RedBlackTree instead of AVLJames Iry2013-02-134-79/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was no reason to have mutable.TreeSet use AVLTree while immutable.TreeSet and immutable.HashSet used RedBlackTree. In particular that would have meant duplicating the iteratorFrom logic unnecessarily. So this commit refactors mutable.TreeSet to use RedBlackTree for everything, including iteratorFrom. It also adds a test to make sure TreeSet works as expected. AVLTree should be dead code since it's private[scala.collection.mutable] and only used by mutable.TreeSet, but to be safe it's only deprecated in this commit.
| * | | | | SI-6642 Adds iteratorFrom, keysIteratorFrom, and valuesIteratorFromJames Iry2013-02-1311-10/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the ability to efficiently create an iterator that starts at a given key or element of a sorted set or map. Similar work is done for key and value only iterators on maps. The bulk of the work is in RedBlackTree. Most of the rest is pushing the new api methods throughout the appropriate spots in the collection API. This commit leaves undone some similar work possible on mutable TreeSets
| * | | | | SI-6642 Code cleanup on RedBlackTree#TreeIteratorJames Iry2013-02-131-21/+24
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | In anticipation of some work needed to implement iteratorFrom, this commit does some variable renaming and general code clean up on RedBlackTree's TreeIterator.
* | | | | Merge pull request #2124 from adriaanm/76f167388a42e9bb8b72645d87bcb408b6981576Grzegorz Kossakowski2013-02-1213-16/+102
|\ \ \ \ \ | | | | | | | | | | | | merge 2.10.x
| * | | | | Merge remote-tracking branch 'scala/2.10.x' into patmat-refactor-masterAdriaan Moors2013-02-1213-16/+102
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/Implicits.scala
| | * | | | Merge pull request #2113 from scalamacros/topic/silencePaul Phillips2013-02-112-1/+7
| | |\ \ \ \ | | | | | | | | | | | | | | silences t6323a
| | | * | | | silences t6323aEugene Burmako2013-02-112-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tag materialization notices enabled with -Xlog-implicits are now echoes not printlns. Therefore, they go into stderr, not stdout, getting logged by partest and not spamming stdout of partest.
| | * | | | | Merge pull request #2111 from retronym/2.10.xJames Iry2013-02-113-8/+26
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | SI-6514 Avoid spurious dead code warnings
| | | * | | | | SI-6514 Avoid spurious dead code warningsJason Zaugg2013-02-103-8/+26
| | | | |/ / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `deadCode.expr` stores the method symbol most recently encountered in `handleMonomorphicCall`, and uses this to avoid warnings for arguments to label jumps and `Object#synchronized` (which sneakily acts by-name without advertising the fact in its type.) But this scheme was insufficient if the argument itself contains another method call, such as `matchEnd(throw e(""))`. This commit changes the single slot to a stack, and also grants exemption to `LabelDef` trees. They were incorrectly flagged in the enclosed test case after I made the the first change.
| | * | | | | Merge pull request #2102 from retronym/topic/tree-checker-leniancyJames Iry2013-02-111-0/+3
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | Tolerate symbol sharing between accessor/field.
| | | * | | | | Tolerate symbol sharing between accessor/field.Jason Zaugg2013-02-091-0/+3
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently, TreeCheckers (-Ycheck) was extended to report on references to symbols that were not in scope, which is often a sign that some substitution or ownership changes have been omitted. But, accessor methods directly use the type of the underlying field, without cloning symbols defined in that type, such as quantified types in existentials, at the new owner. My attempt to change this broke pos/existentials.scala. Instead, I'll just look the other way in TreeCheckers.
| | * | | | | Merge pull request #2098 from retronym/ticket/6225James Iry2013-02-112-1/+28
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | SI-6225 Fix import of inherited package object implicits
| | | * | | | | SI-6225 Fix import of inherited package object implicitsJason Zaugg2013-02-092-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The prefix in the ImplicitInfo must be com.acme.`package`.type, rather than com.acme.
| | * | | | | | Merge pull request #2097 from ViniciusMiana/SI-6935James Iry2013-02-112-0/+16
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-6935 Added readResolve in BoxedUnit
| | | * | | | | | SI-6935 Added readResolve in BoxedUnitVinicius Miana2013-02-082-0/+16
| | | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When deserializing Unit, it would return an instance of Object, but not a Scala Unit. By adding readResolve, the deserialization of Unit will work.
| | * | | | | | Merge pull request #2096 from ViniciusMiana/SI-6370James Iry2013-02-112-2/+18
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-6370 changed ListMap apply0 method to produce correct error message