summaryrefslogtreecommitdiff
path: root/src/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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-035-302/+135
| | | | | | 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-036-61/+87
| | | | | | | 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-036-18/+19
| | | | | | | | | | | | 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-0324-378/+428
|\ \ \ | | | | | | | | | | | | '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-026-29/+27
| | | | | | | | | | | | | | | 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 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-26252-5631/+13209
| | | |\ | | | | | | | | | | | | | | | | | | | | 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-023-189/+104
| | |\ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | '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-021-1/+1
| |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
| | | | * | | No one define sh_highlightDocumentKato Kazuyoshi2012-05-031-2/+1
| |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This line was added on 2621ee63285808785159a3c24c9e5a5a723b8b9c but no one define sh_highlightDocument and syntax highlighting is done on Scala-side.
| | | * | | cleaned up partialfun synth in uncurryAdriaan Moors2012-05-021-186/+102
| | | | | | | | | | | | | | | | | | | | | | | | removed dead code due to new-style matches getting their partialfun treatment during typers
| | | | | |
| | | \ \ \
| | | \ \ \
| | | \ \ \
| | *---. \ \ \ Merge commit 'refs/pull/457/head'; commit 'refs/pull/458/head'; commit ↵Paul Phillips2012-05-029-136/+216
| |/|\ \ \ \ \ \ |/| | | | |/ / / | | | | |/| | | | | | |/| | | | 'refs/pull/459/head'; commit 'refs/pull/460/head'; commit 'refs/pull/461/head'; commit 'refs/pull/462/head' into develop
| | | | | * | | Add a link to "z" in ScaladocKato Kazuyoshi2012-05-031-1/+1
| |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | We have index/index-z.html but there is no link in HTML.
| | | | * | | fix SI-5682Lukas Rytz2012-05-021-5/+4
| |_|_|/ / / |/| | | | |
| | | * | | un-cps expected type in translateMatchAdriaan Moors2012-05-021-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | ... where it belongs, instead of in MatchTransformer
| | | * | | partial fun synth typing under correct ptAdriaan Moors2012-05-021-3/+3
| | | | | |
| | | * | | moving patmat to its own phaseAdriaan Moors2012-05-025-64/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sort field accessors, necessary after typers -- apparently... don't throw TypeError, use issueTypeError don't run patmat phase when -Xoldpatmat only virtualize matches when -Xexperimental recycle cps type of match for re-typechecking: when one of the internal cps-type-state annotations is present, strip all CPS annotations a cps-type-state-annotated type makes no sense as an expected type (matchX.tpe is used as pt in translateMatch) don't synth FunctionN impls during typer, only do this for PartialFunction updated check now function synth for match is deferred until uncurry patmat-transform try/catch with match in cps cleanup in selective anf remove TODO: can there be cases that are not CaseDefs -- nope
| | | * | | move more of match translation out of typersAdriaan Moors2012-05-023-79/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reduce duplication in [typed/translated]Match & co in preparation of moving match translation out of the type checker, setting everything up so that we can simply type Match nodes first, then translate them separately using DefaultOverrideMatchAttachment to remember the default override for a match that defines a PartialFunction only strip annotations when translating match or cps in matches fails widen selector type when translating match-derived partialfunction slightly less cps-specific
| | | * | | small tree attachment refactoring: firstAttachmentAdriaan Moors2012-05-021-1/+2
| |_|/ / / |/| | | |
| | * | | SI-5729: TypeVar experimentals iff -XexperimentalAdriaan Moors2012-05-022-4/+3
| |/ / / |/| | | | | | | | | | | | | | | | | | | it used to also be enabled by -Yvirtpatmat, which is now on by default, but this type hackery is no longer necessary to bootstrap under the new pattern matching scheme, so let's only turn it on when people are feeling -Xexperimental
| * | | SI-5720: Qual block doesn't update sym ownerSom Snytt2012-05-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | A one-line change to blockWithQualifier. The symptom is undefined tmp var symbols in the backend; lamba lift thinks the tmp var is free and adds it to anonfun ctors.
* | | | Fixs for reflection and getSimpleName.Paul Phillips2012-05-021-2/+23
|/ / / | | | | | | | | | | | | Since getSimpleName will be crashing us indefinitely, took the expedient route and wrapped the call.
* | | tpe -> tpeHK here and there.Paul Phillips2012-05-013-10/+10
| | | | | | | | | | | | Review by @moors.
* | | Look at all the Strings which no longer are.Paul Phillips2012-05-013-108/+118
| | | | | | | | | | | | | | | | | | | | | // and a few dozen along the same lines lazy val SeqModule = requiredModule[scala.collection.Seq.type] With fewer Strings, all things are possible.
* | | Hackaround for people who like to instantiate the uninstantiable.Paul Phillips2012-05-011-0/+4
| | | | | | | | | | | | | | | | | | Closes SI-5666 again. (I don't have the least clue how I'm supposed to issue the error.)
* | | Fixes #SI-5578.Paul Phillips2012-05-011-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | ResetAttrs shouldn't be side-effecting on the original tree, since it can lead to NPEs in erroneous trees (or maybe even for valid ones?). Review by @odersky (Patch by plocinic, applied without his complicity by extempore)
* | | A little clarity for AddInterfaces.Paul Phillips2012-05-012-38/+35
| | | | | | | | | | | | And a couple conveniences elsewhere.
* | | Upgrade jQuery from 1.4.2 to 1.7.2Kato Kazuyoshi2012-05-022-160/+5440
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jQuery 1.4.2 uses event.layerX and event.layerY but these are deprecated and WebKit logs a lot of warnings. Additionally jquery.layout 1.3.0 RC 29.3 doesn't work correctly with jQuery 1.7.2, then we have to upgrade it to 1.3.0 RC 30.5. http://bugs.jquery.com/ticket/10531
* | | Merge branch 'apr30-checkin' of /scala/trunk into developPaul Phillips2012-04-302-31/+40
|\ \ \
| * | | De-duplication in Contexts.Paul Phillips2012-04-301-14/+12
| | | | | | | | | | | | | | | | Friends don't let friends cut and paste.
| * | | Optimization of Predef implicits.Paul Phillips2012-04-301-17/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | All those wildcards in a default-scoped implicit are expensive, they each lead to a typevar on every search. Restructured the Tuple2/Tuple3 Zipped classes, they're better this way anyway. This also gets all that Tuple[23] code out of genprod.
* | | | Merge commit 'refs/pull/452/head'; commit 'refs/pull/453/head' into developPaul Phillips2012-04-302-18/+6
|\ \ \ \
| * | | | Presentation Compiler tests for visibility of members.Iulian Dragos2012-04-302-18/+6
| |/ / / | | | | | | | | | | | | Removed some unneeded indirection in the testing framework.
* / / / Fixed `Setting.enabling` to properly disable dependent settings when the ↵Iulian Dragos2012-04-301-3/+3
|/ / / | | | | | | | | | | | | | | | original setting is set to `false`. This can be witnessed in the IDE, when explicitly setting the `-optimize` flag to false leads to setting all the dependent flags to true (`-Yinline`, `-Ydce`, `-Ycloselim`).
* | | Fighting bitrot with typing.Paul Phillips2012-04-298-119/+81
| | | | | | | | | | | | | | | | | | | | | | | | if (false && settings.debug.value) { ... } Date: 7 years ago *** empty log message *** That's way past the sell-by date for 'if (false && condition)'.
* | | Eliminate useless type parameter.Paul Phillips2012-04-281-1/+1
| | |
* | | @unspecialized annotation.Paul Phillips2012-04-282-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Suppresses specialization on a per-method basis. I would have preferred to call it @nospecialize, but seeing as the positive form of the annotation is @specialized, that would have sown unnecessary grammatical confusion. @nospecialized sounds a bit too caveman for my tastes. "Grog no specialized! Grog generic!"
* | | Removed a few more @deprecated members.Paul Phillips2012-04-282-13/+15
| | | | | | | | | | | | | | | The ones which remain I'm not removing on purpose, as I know from experience it's more trouble than it's yet worth.
* | | Revert "Moved ancillary methods off specialized traits."Paul Phillips2012-04-271-1/+0
| | | | | | | | | | | | | | | | | | This reverts commit 1d0372f84f9a7325a47beb55169cc454895ef74b. I forgot about polymorphic dispatch. Have to seek another way.