summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | Don't override empty-paren methods as paren-less.Jason Zaugg2013-02-243-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An exception is made for toString.
* | | | | | | | | Merge pull request #2161 from scalamacros/topic/7112-followup-masterJames Iry2013-02-241-1/+1
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | fixes the test for SI-7112
| * | | | | | | | fixes the test for SI-7112Eugene Burmako2013-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Freshly released Java 1.6.0_41 for OSX fails with "IllegalAccessError: tried to access class JavaSimpleEnumeration_1 from class sun.proxy.$Proxy6", and rightfully so, because that class isn't public. I think I will avoid the usual "how could this even work before" in this commit message.
* | | | | | | | | Merge pull request #2125 from retronym/ticket/7120Paul Phillips2013-02-237-1/+53
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | SI-7120 Erasure must honor typeref prefixes
| * | | | | | | | | SI-7120 Erasure must honor typeref prefixesJason Zaugg2013-02-147-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Erasure was discarding these, which led to unnecessarily wide types in quite particular circumstances. This showed up as a double definition error in the reported bug when the bridge method clashed with the erased signature.
* | | | | | | | | | Merge pull request #2162 from paulp/merge-210Paul Phillips2013-02-2318-286/+307
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Merge 2.10.x into master.
| * | | | | | | | | | Merge remote-tracking branch 'origin/2.10.x' into masterPaul Phillips2013-02-2318-286/+307
|/| | | | | | | | | | | | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/2.10.x: SI-7171 Consider prefix when assessing type finality. please ant with filenames, add comments Fixed error in reflection API docs about linearization order on method baseClasses Shadowed Implict typo (fixes no issue) remove unused imports Conflicts: src/reflect/scala/reflect/internal/Types.scala
| * | | | | | | | | Merge pull request #2157 from retronym/ticket/7171James Iry2013-02-228-2/+69
| |\ \ \ \ \ \ \ \ \ | | |_|_|_|/ / / / / | |/| | | | | | | | SI-7171 Consider prefix when assessing type finality.
| | * | | | | | | | SI-7171 Consider prefix when assessing type finality.Jason Zaugg2013-02-228-2/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Type#isFinalType` determines if a type could have a non-bottom subtype. This property is exploited by the pattern matcher to flag impossible patterns. This check was ignoring the type's prefix, and incorrectly deemed that `T#A` in `trait T { final class A }` was a final type. But it could have been subtyped by `U#A` where `U` <:< `T`, or, more simply, by `T.this.A`. Now, type finality requires that the prefix is stable. The existing test cases in neg/patmat-type-check.scala still correctly flag incompatiblities. `isFinalType` is also used by some code that massages pattern matches post specialization. That is actually either broken or obsolete under virtpatmat, I've opened SI-7172 to invesigate that. It is also used by GenICode to determine whether to emit the appropriate equality checks that are correct in the face of boxing. It is possible that this change will force the slow path in some rare cases, but it won't affect correctness.
| * | | | | | | | | Merge pull request #2120 from adriaanm/patmat-refactorAdriaan Moors2013-02-229-3862/+3951
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | refactor the pattern matcher into smaller files
| | * | | | | | | | | please ant with filenames, add commentsAdriaan Moors2013-02-216-21/+37
| | | | | | | | | | |
| | * | | | | | | | | remove unused importsAdriaan Moors2013-02-157-263/+206
| | | | | | | | | | |
| * | | | | | | | | | Merge pull request #2143 from heathermiller/docs/linearization-typoJames Iry2013-02-222-2/+2
| |\ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / | |/| | | | | | | | | Fixed error in reflection API docs about linearization order on method baseClasses
| | * | | | | | | | | Fixed error in reflection API docs about linearization order on method ↵Heather Miller2013-02-192-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | baseClasses
| * | | | | | | | | | Merge pull request #2133 from som-snytt/typos-2.10.xPaul Phillips2013-02-221-1/+1
| |\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / / / | |/| | | | | | | | | Shadowed Implict typo (fixes no issue)
| | * | | | | | | | | Shadowed Implict typo (fixes no issue)Som Snytt2013-02-161-1/+1
| | | |_|_|_|_|/ / / | | |/| | | | | | |
* | | | | | | | | | Merge pull request #2147 from JamesIry/master_SI-7015Grzegorz Kossakowski2013-02-224-12/+115
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / / |/| | | | | | | | | SI-7015 Removes redundant aconst_null; pop; aconst_null creation
| * | | | | | | | | SI-7015 Cleanup from review of null duplicationJames Iry2013-02-222-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on feedback on https://github.com/scala/scala/pull/2147 * Assertion in GenICode#adaptNullRef reports the erroneous type * Test makes the Null type explicit for greater clarity
| * | | | | | | | | SI-7015 Removes redundant aconst_null; pop; aconst_null creationJames Iry2013-02-214-12/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In an effort to adapt methods and field accesses of type Null to other types, we were always emitting aconst_null pop aconst_null The problem is we were doing that even when the JVM was in a position to know it had null value, e.g. when the user had written a null constant. This commit fixes that and includes a test to show that the resulting byte code still works even without repeating ourselves and/or repeating ourselves. This commit also makes the scala.runtim.Null$ constructor private. It was a sealed abstract class which prevented subclassing in Scala, but it didn't prevent subclassing in Java. A private constructor takes care of that hole so now the only value of type Null$ should be null. Along the way I found some other questionable things in adapt and I've added TODO's and issue https://issues.scala-lang.org/browse/SI-7159 to track.
* | | | | | | | | | Merge pull request #2121 from adriaanm/patmat-refactor-masterGrzegorz Kossakowski2013-02-229-3850/+3989
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | merge the patmat refactoring into master
| * \ \ \ \ \ \ \ \ \ Merge branch 'patmat-refactor' into patmat-refactor-masterAdriaan Moors2013-02-129-3850/+3989
| |\ \ \ \ \ \ \ \ \ \ | | | |_|_|_|/ / / / / | | |/| | | | / / / / | | |_|_|_|_|/ / / / | |/| | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
| | * | | | | | | | [refactor] move some logic-related codeAdriaan Moors2013-02-123-352/+358
| | | | | | | | | |
| | * | | | | | | | [refactor] better name for symbolicCaseAdriaan Moors2013-02-121-16/+6
| | | | | | | | | |
| | * | | | | | | | [refactor] make hash-consing more robustAdriaan Moors2013-02-122-21/+23
| | | | | | | | | |
| | * | | | | | | | drop Cond in favor of PropAdriaan Moors2013-02-123-129/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings the optimizations and the analyses closer together. In the future we may consider using a solver in the optimizations. For now, implication is checked ad-hoc using hash-consing and equality/subset tests... NOTE: prepareNewAnalysis resets said hash-consing, so must be called before approximating a match to propositions
| | * | | | | | | | [refactor] prepare migration from Cond to PropAdriaan Moors2013-02-121-52/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no change in behavior. Remove `modelNull` boolean in favor of subclassing.
| | * | | | | | | | [refactor] type analysis consolidationAdriaan Moors2013-02-122-21/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | move instanceOfTpImplies out of CodeGen into TypeAnalysis
| | * | | | | | | | [refactor] move PatternMatching.scala to transform.patmatAdriaan Moors2013-02-129-3806/+4032
| | | | | | | | | |
| | * | | | | | | | re-align 2.10.x's pattern matcher with master'sAdriaan Moors2013-02-121-93/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The diff was mostly code cleanup, so most of that was propagated from master to 2.10.x. The remaining diff is encapsulated in compatibility stubs (see below). (There was also the on/off potential for the 2.10.x "new" pattern matcher. The old one is gone in 2.11, so no turning off new patmat, of course.) The stubs: ``` protected final def dealiasWiden(tp: Type) = tp.dealias // 2.11: dealiasWiden protected final def mkTRUE = CODE.TRUE_typed // 2.11: CODE.TRUE protected final def mkFALSE = CODE.FALSE_typed // 2.11: CODE.FALSE protected final def hasStableSymbol(p: Tree) = p.hasSymbol && p.symbol.isStable // 2.11: p.hasSymbolField && p.symbol.isStable protected final def devWarning(str: String) = global.debugwarn(str) // 2.11: omit ```
* | | | | | | | | | Merge pull request #2082 from vjovanov/deprecate-actorsJames Iry2013-02-2230-2/+38
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-6807 Deprecating the Actors library.
| * | | | | | | | | | SI-6807 Deprecating the Actors library.Vojin Jovanovic2013-02-0730-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All public classes, traits and objects marked as deprecated. Added deprecation note on the package object. Embedded external libraries (ThreadPool etc.) are not deprecated as they are intended for internal use only. Review by: @phaller
* | | | | | | | | | | Merge pull request #2154 from ↵James Iry2013-02-223-6/+6
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | viktorklang/wip-SI7164-nonfatal-notimplementederror SI-7164 - Removing NotImplementedError as Fatal from s.u.c.NonFatal
| * | | | | | | | | | | 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