summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add more logging.Aleksandar Prokopec2012-05-153-8/+22
|
* A little sketchiness in recent commit.Paul Phillips2012-05-081-1/+1
| | | | Retro-reviewing.
* Fix for aliasing bug in reifier.Paul Phillips2012-05-081-9/+10
| | | | Closes SI-5769.
* Merge commit 'refs/pull/491/head' into developPaul Phillips2012-05-071-13/+19
|\
| * Fixes SI-5629.Aleksandar Prokopec2012-05-071-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds an additional argument to the unify method in specialization - `tparams`. When this parameter is set to `true`, unification is done over type parameters in poly types as well. Additionally, the unification in specialization now works over type bounds. This ensures that in the below example: trait Foo[@specialized(Int) A] { def bar[B <: A](b: B) {} } class IntFoo extends Foo[Int] { override def bar[B <: Int](b: B) {} } the method `bar` gets correctly determined as a method that needs a special override for its `bar$mcI$sp`.
| |
| \
*-. \ Merge commit 'refs/pull/486/head'; commit 'refs/pull/487/head'; commit ↵Paul Phillips2012-05-079-34/+60
|\ \ \ | |_|/ |/| | | | | 'refs/pull/488/head'; commit 'refs/pull/489/head'; commit 'refs/pull/490/head' into develop
| | * minor tag-related fixesEugene Burmako2012-05-078-31/+31
| | |
| * | Fixes SI-5199 through improved API docsHeather Miller2012-05-071-3/+29
| |/
* | Merge commit 'refs/pull/479/head'; commit 'refs/pull/480/head'; commit ↵Paul Phillips2012-05-064-10/+60
|\ \ | |/ |/| | | 'refs/pull/481/head'; commit 'refs/pull/482/head'; commit 'refs/pull/483/head'; commit 'refs/pull/484/head'; commit 'refs/pull/485/head' into develop
| * Add missing methods to GenTraversableLike.Aleksandar2012-05-064-10/+60
| |
| |
| \
*-. \ Merge commit 'refs/pull/477/head'; commit 'refs/pull/478/head' into developPaul Phillips2012-05-053-8/+15
|\ \ \
| | * | Don't admit primitive arrays as a generic Java varargs param.Jason Zaugg2012-05-053-8/+15
| |/ / | | | | | | | | | | | | | | | They were sneaking through as polymorphic Arrays and avoiding boxing. Closes SI-4216
* | | Merge commit 'refs/pull/124/head' into developPaul Phillips2012-05-051-9/+10
|\ \ \ | |/ / |/| | | | | | | | Conflicts: src/library/scala/util/parsing/combinator/Parsers.scala
| * | Fixes SI-4929, with a test to verify.Stephen Judkins2012-01-211-14/+15
| | | | | | | | | | | | Also fixes potential issue with Parsers.phrase not being reentrant; however, I was unable to actually reproduce this issue in practice. (The order in which lastNoSuccess was being set and compared seemed to guarantee that it would never actually be a problem).
* | | Working around the VerifyErrors.Paul Phillips2012-05-042-2/+6
| | | | | | | | | | | | Since the optimizer seems to have lost its mind.
* | | Put corresponds on Iterator.Paul Phillips2012-05-041-0/+18
| | | | | | | | | | | | | | | | | | | | | I guess we can look forward to more and more duplication in the collections. I had to cut and paste the doc comment too, or at least I have no idea how to avoid that given the file I took it from was in parallel somewhere.
* | | Have ArrayCharSequence reuse its Array.Paul Phillips2012-05-041-5/+20
| | | | | | | | | | | | Your know, for performance. Closes SI-5641.
* | | Updated Symbol to record classfile origin.Paul Phillips2012-05-049-33/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change should be transparent to anything using sourceFile, unless it was drinking from the inheritance well too deeply. Rather than squander the already allocated field for every ClassSymbol not being compiled from source, I'm now populating it with the file representing the class. This will make a broad range of things easier, like debugging, issuing useful error messages, symbol invalidation, signature verification, you name it. def sourceFile - still returns only source code files def binaryFile - returns only class files def associatedFile - returns whatever is there, if anything Performance: I may be mistaken, but I believe this is a zero-impact change. No new fields are allocated; fields which were null now hold a useful reference. The reference is to a file instance which was already being allocated and already long-lived. Compare error messages: // Version 1 % scalac a.scala error: type _$1 is defined twice // Version 2 % scalac a.scala error: type _$1 is defined twice conflicting symbols both originated in file './foo/package.class' Note: this may be due to a bug in the compiler involving wildcards in package objects one error found Bonus for people who read commit logs. Try this in the repl after starting power mode. ListClass.info.members groupBy (_.associatedFile) foreach { case (k, vs) => println("%s\n %s\n".format(k, vs map (_.defString) mkString "\n ")) }
* | | Reluctant surgery on partest.Paul Phillips2012-05-042-112/+57
| | | | | | | | | | | | | | | | | | | | | Now neg tests are treated like all the other tests in terms of grouping, so if you have a negative test which requires more than one pass (like the one enclosed with the next commit) you can actually test it.
| | |
| \ \
| \ \
| \ \
| \ \
| \ \
| \ \
| \ \
*-------. \ \ Merge commit 'refs/pull/471/head'; commit 'refs/pull/473/head'; commit ↵Paul Phillips2012-05-047-11/+31
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 'refs/pull/474/head'; commit 'refs/pull/475/head'; commit 'refs/pull/476/head' into develop
| | | | | * | | Fixes SI-5514.Aleksandar Prokopec2012-05-041-2/+4
| | | | | | |/ | | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The acceptIf and acceptMatch parsers now check for end of input. Review by moors.
| | | | * / | Fixes si-5656.Aleksandar Prokopec2012-05-041-5/+13
| | | | |/ /
| | | * / / Fix for si-5577.Aleksandar Prokopec2012-05-041-0/+2
| | | |/ /
| | * / / Fix for si-5590.Aleksandar Prokopec2012-05-042-1/+9
| | |/ /
| * / / Fix for si-5018.Aleksandar Prokopec2012-05-042-3/+3
| |/ / | | | | | | | | | Methods keySet, values and withDefault now return serializable collections.
* | | run patmat after typer, but not *right* afterAdriaan Moors2012-05-041-2/+4
| | | | | | | | | | | | sbt needs that spot right after type for its phase xsbt-api
* | | Fix for one of the oldest open soundness bugs.Paul Phillips2012-05-042-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes SI-963, since it was one of my random 30 it won the prize. The trick after adding the stability check (which has been sitting there commented out for 3+ years) was that implicit search depended on the wrongness, because memberWildcardType would create scopes with members of the form ?{ val name: tp } And since a def shouldn't match that, fixing it broke everything until I flipped it around: memberWildcardType should be seeking ?{ def name: tp } It could also search for a mutable value: the relevant quality is that it not be stable so it doesn't have a tighter type than the members it hopes to match.
* | | Fix for broken non-local returns.Paul Phillips2012-05-041-3/+11
|/ / | | | | | | | | Don't change the owner of a return if the new owner is nested inside the old owner. Closes SI-5612.
* | Fix for implicit class / value class collision.Paul Phillips2012-05-031-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | New this week, on SCALA. Implicit class: "Spin me up an implicit method with my name." Value class: "I need a companion object, pronto." Narrator: "All was well with this arrangement... UNTIL." What happens when these two wacky SIPs get together in the very same class? You'll laugh until, eventually, you cry! Weeknights at 9:30pm, only on SCALA. Closes SI-5667.
* | Pushing ClassfileParser toward a new day.Paul Phillips2012-05-036-329/+141
| | | | | | | | | | | | Removed JacoMetaATTR. Removed MetaParser.
* | Improving organization of classfile parser.Paul Phillips2012-05-033-293/+298
| |
* | Fix for Dynamic interaction with private methods.Paul Phillips2012-05-031-10/+11
| | | | | | | | | | | | Don't let inaccessible methods prevent calls to *Dynamic, otherwise we are at the mercy of every "private" alteration in every class we inherit. Closes SI-5040.
* | Fix for SI-3718.Paul Phillips2012-05-037-65/+102
| | | | | | | | | | | | | | And for a bunch of other tickets where we unleash a stack trace rather than printing a sensible error message. But SI-3718 is a continuations plugin crash, now a reasonable if somewhat vague error.
* | Fix for SI-5608, crasher with value classes.Paul Phillips2012-05-032-2/+4
| | | | | | | | | | | | Anyone who doubts the importance of avoiding duplication is invited to look closely at the cause of this bug as revealed in this one line patch.
* | Removed BackquotedIdent.Paul Phillips2012-05-037-27/+42
| | | | | | | | | | | | | | | | | | | | | | | | In favor of a marker attachment using Attachment, as suggested in comments. (The Attachment interface needs work.) I did this bit trying to fix SI-5715, but it's still a bit elusive because the Ident node is thrown away as soon as there's a member definition. Also, as far as I can see this will if anything propagate the backquotedness of an identifier less effectively than before, because TreeCopiers don't copy attachments. Maybe that's on the "todo" list? The whole idea seems to depend on their being propagated to copies.
* | Hardening implicit classes.Paul Phillips2012-05-031-3/+7
| | | | | | | | Closes SI-5728.
* | Moved a warning behind -Xlint.Paul Phillips2012-05-031-1/+1
| | | | | | | | | | | | Eventually "-Xlint would have told you not to do that" will be a catchphrase, like "I love it when a plan comes together" or "respect mah authoritah."
| |
| \
| \
| \
*---. \ Merge commit 'refs/pull/467/head'; commit 'refs/pull/468/head'; commit ↵Paul Phillips2012-05-03152-634/+739
|\ \ \ \ | | | | | | | | | | | | | | | 'refs/pull/469/head'; commit 'refs/pull/470/head' into develop
| | | * | Fix SI-4976 partiallyKato Kazuyoshi2012-05-031-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | If a package have a package object, generate the package's "linearization" from the object.
| | * | | SI-5703: normalize refined types moreAdriaan Moors2012-05-034-11/+33
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to improve Array[T] java-interop with T[], normalize Object with Object{} to Object fix #SI-5688 by flattening refined types in parents updated check files to reflect flattening of refined types and updated position for refined types
| | * | Eliminating reflective calls.Paul Phillips2012-05-029-31/+62
| | | | | | | | | | | | | | | | | | | | Frobbed knobs and made little traits until all relevant looking reflective calls were gone.
| | * | Fixes the backticks in use case signature crashVlad Ureche2012-05-021-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Simon in https://groups.google.com/forum/?hl=en&fromgroups#!topic/scala-internals/z7s1CCRCz74 Now it eliminates backticks and gracefully bails out with an error message when it can't remove the wiki syntax.
| | * | Merge branch 'may2' of /scala/trunk into developPaul Phillips2012-05-021-7/+32
| | |\ \
| | | * | Unanchored regex extractors.Paul Phillips2012-05-021-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is really by Lanny Ripple <lanny@spotinfluence.com>, but I reworked it because I didn't want to put any more methods onto String. Instead, there is a method on Regex which removes the anchoring quality. """\d\d'"".r.unanchored
| | * | | Merge commit 'refs/pull/317/head' into developPaul Phillips2012-05-023-5/+15
| | |\ \ \ | | | |/ / | | |/| |
| | | * | SI-5543: Ctor default arg wrongly scoped (revised)Som Snytt2012-04-283-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the motivating bug by detecting when a method is the default arg getter for a constructor parameter. That requires fixing a secondary bug where an arbitrary string was used to encode <init> in lieu of <init>.encode. There is no speculative mangling.
| | | * | SI-5543: Merge with trunkSom Snytt2012-04-26638-14062/+22193
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Reverts name unenmanglement that was objectionable in the previous patch commit 47bfd744177121de08fed489a5b0b1b59a1ae06a.
| | | * | | Ctor default-getters unique name and are typed in constructor contextSom Snytt2012-03-232-4/+9
| | | | | |
| | | | | |
| | | \ \ \
| | | \ \ \
| | | \ \ \
| | | \ \ \
| | | \ \ \
| | | \ \ \
| | | \ \ \
| | *-------. \ \ \ Merge commit 'refs/pull/457/head'; commit 'refs/pull/458/head'; commit ↵Paul Phillips2012-05-02122-373/+303
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'refs/pull/459/head'; commit 'refs/pull/460/head'; commit 'refs/pull/461/head'; commit 'refs/pull/462/head'; commit 'refs/pull/463/head'; commit 'refs/pull/464/head'; commit 'refs/pull/465/head' into develop
| | | | | | | * | | | Fixes SI-4478.Simon Ochsenreither2012-05-02119-180/+182
| | | | | |_|/ / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced/simplified usages of "wrt". - Added backticks to $Coll definitions, so stuff like "immutable.Stack" hopefully stops being interpreted as the end of a sentence and shown like that in the summary line of ScalaDoc's method description. See collection.immutable.Stack's sortBy. Additionally, it looks nicer this way. - Fixes the typo mentioned in SI-5666.