summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Don't transform patterns during superaccessors:...Paul Phillips2010-12-062-0/+18
| | | | | | Don't transform patterns during superaccessors: the matcher can't deal with funny trees. Closes #4062, review by dragos.
* Moved ClassfileAnnotation/StaticAnnotation/Anno...Paul Phillips2010-12-064-10/+12
| | | | | | | Moved ClassfileAnnotation/StaticAnnotation/Annotation/TypeConstraint into scala.annotation and enabled the deprecated type aliases in scala.* to point there. Also enclosed is a new starr to bootstrap. No review.
* Burned by a last minute text change.Paul Phillips2010-12-051-1/+1
|
* Cleaned up and brought up to date the help text...Paul Phillips2010-12-051-25/+27
| | | | | | | | Cleaned up and brought up to date the help text for -X and -Y options. Made some enhancements to PhasesSetting, which are documented if you run scalac -X or -Y. (Try it!) Disabled some dead settings and renamed others to reflect their current purpose. No review.
* Introducing scala.system, the product of a whir...Paul Phillips2010-12-045-10/+10
| | | | | | | | | | Introducing scala.system, the product of a whirlwind couple of hours. More useful stuff than you can shake three sticks at. See the scala.system package object. It's even documented. And since it has methods error and exit, proceeded to deprecate the ones in Predef. No review.
* Starting the mopping up now that names have som...Paul Phillips2010-12-031-2/+4
| | | | | | | | | | | | | | Starting the mopping up now that names have some more sense of their place in the universe. Cleaned up some heavy multi-boolean logic. Added more documentation on the relationships between entities in Symbols and some other compiler things which often blur together. Fun fact: the incorrect usage of nme.ScalaObject in Contexts which I reported when first broaching the namespace subject became a compile time error during the writing of this patch, because there is no longer any such thing as nme.ScalaObject. It's a little bit like magic. No review.
* close #4036, fix #2489.Lukas Rytz2010-12-032-0/+14
|
* close #3951. review by dubochet.Lukas Rytz2010-12-032-0/+40
|
* close #3946.Lukas Rytz2010-12-033-0/+13
|
* Added test for #4052Hubert Plociniczak2010-12-031-0/+5
|
* Parameterizes TraversableFactory.range so it ca...Paul Phillips2010-12-031-7/+1
| | | | | | Parameterizes TraversableFactory.range so it can be used with any integral type. Closes #3542, no review.
* immutable.Map keySet returns immutable.Set.Paul Phillips2010-12-032-3/+3
|
* Overrides immutable.{ Map, Set, Seq } to return...Paul Phillips2010-12-031-0/+11
| | | | | | | Overrides immutable.{ Map, Set, Seq } to return self on the corresponding toMap/toSet/toSeq. Closes #3953, review by prokopec.
* Generalizes catch blocks to include any Partial...Paul Phillips2010-12-032-0/+38
| | | | | | | | | | | | | | | | | | | Generalizes catch blocks to include any PartialFunction[Throwable, T]. Existing catch blocks will compile exactly as before. Anything else (which mean: the token after CATCH is not a left brace, or it is a left brace not immediately followed by CASE) is desugared as follows: try body catch expr // becomes try body catch { case x => val catchFn = expr if (catchFn isDefinedAt x) catchFn(x) else throw x } Review by odersky.
* It's a big one!Paul Phillips2010-12-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TermName and TypeName are exposed throughout the compiler based on what kind of name a given abstraction ought to have. (There remain places where one needs to create a name without knowing yet what it will be, and those will always be Names.) The nme object in the compiler now holds only term names. To reference a known type name, use tpnme: nme.List == ("List": TermName) tpnme.List == ("List": TypeName) The contents of nme and tpname are defined in traits, many of which are shared, so if a name should exist only as a Type and not a Term, it should be defined in CompilerTypeNames, but otherwise in CompilerTermNames or CompilerCommonNames. This is partially complete but I'm sure there are still many shared which should pick a side. Usage of .toTermName and .toTypeName is strongly discouraged. After the dust has settled, there will be very few places where it will make sense to hop between namespaces like that. There are some implicits to smooth everything out, most of which should be removable eventually. // these two are in no hurry to go anywhere String => TermName String => TypeName // but not String => Name: def view in the compiler is no longer implicit // these two are temporary, and can log when they kick off to help us flush // out remaining issues of "name migration" Name => TermName Name => TypeName There is more work to be done before we're properly protected from naming errors, but I will not allow another eight hour tragedy to befall lukas or anyone else! Review by rytz. (Formality.)
* minor update (detach examples)michelou2010-12-023-7/+12
|
* A patch authored by martin to fix one of the bi...Paul Phillips2010-12-016-748/+0
| | | | | | | | | | | | | A patch authored by martin to fix one of the big outstanding issues with -Ycheck. The typer had a vision of the world which fell to pieces if presented with a tree from after phase constructors. Now it is wiser: perhaps a bit sadder as well, but every typer must face this day sooner or later. Also removed the various passing tests from test/checker-tests, but still plenty of fascinating failures in there for anyone interested in helping push to the finish line! No review.
* More fiddling with checkSensible.Paul Phillips2010-12-012-8/+9
| | | | | | | | | | warnings. Fixed some bugs revealed by said warnings, and made some minor changes to avoid warnings. (Technically it's not a bug to have unrelated classes compare as equal, but it so often is a bug that it behooves us not to do it intentionally so the warnings stand out.) Disabled the most useful warning for the moment since it'd be wrong with some frequency. No review.
* Disabled test after failing to read linux's mind.Paul Phillips2010-12-012-0/+0
|
* Attempt to fix failing test. No review.Paul Phillips2010-11-301-3/+4
|
* Parser relaxation so that one can name the type...Paul Phillips2010-11-302-2/+16
| | | | | | | Parser relaxation so that one can name the type variables in a constructor pattern match: this is a prerequisite to realizing the full potential of gadts. (Nothing new works here however.) No review.
* Found several minor thigns wrong with checkSens...Paul Phillips2010-11-302-23/+27
| | | | | | | Found several minor thigns wrong with checkSensible, which tries to issue warnings for comparisons which will always be true or false. No review.
* Deprecated the @serializable annotation, introd...Lukas Rytz2010-11-306-28/+50
| | | | | | | | | | | | | | | | | | | Deprecated the @serializable annotation, introduce a new trait "scala.Serializable" which has to be extended instead (cross-platform). Known issues: - Companion objects of serializable classes (including case classes) are automatically made serializable. However, they don't extend "Serializable" statically because of the known difficulty (should be done before typing, but hard). - Writing "case class C() extends Serializable" gives "error: trait Serializable is inherited twice" - Functions are serializable, but don't extend Serializable dynamically (could be fixed by making FunctionN Serializable - shouldn't we?) Note that @SerialVersionUID continues to be an annotation; it generates a static field, which is not possible otherwise in scala. Review by dragos, extempore. Question to dragos: in JavaPlatform.isMaybeBoxed, why is there a test for "JavaSerializableClass"? Is that correct?
* It looks like the fix for #2318 was causing pro...Paul Phillips2010-11-302-0/+39
| | | | | | | It looks like the fix for #2318 was causing problems, so I gave it some more graceful failure. Leaving #2318 open because the implementation could still work harder to find the right method. No review.
* The initial implementation of TraversableOnce c...Paul Phillips2010-11-291-0/+8
| | | | | | | | | | | | | | | | | | The initial implementation of TraversableOnce could not supply concrete methods or even signatures for map and flatMap because they have different signatures in Iterator and TraversableLike. But we can take another approach which works out as nicely: 1) Create implicits which install those methods and flatten on TraversableOnce instances. 2) Generalize the signatures of flatten and flatMap to work with A => TraversableOnce[B] instead of A => Traversable[B]. And voila, you can mix and match Iterators and Traversables in a for comprehension, map, flatMap, and flatten, without the tedious process of sprinkling .iterator or .toList around to appease the compiler. No review.
* "I invite everyone to change this rule, and obs...Paul Phillips2010-11-294-5/+10
| | | | | | | | | | | | | | | | | | | | | "I invite everyone to change this rule, and observe what breaks!" This much beloved comment from #1208 has been on my radar for two years. The worm has turned. Closes #1208. The inferred type of an object is now Foo.type instead of "object Foo". What once was this: scala> val x: Map[Int, Singleton] = Map(1 -> None) <console>:5: error: type mismatch; found : (Int, object None) required: (Int, Singleton) Now exudes a pleasing aura of workingness: scala> val x: Map[Int, Singleton] = Map(1 -> None) x: Map[Int,Singleton] = Map(1 -> None) No review.
* Did some more polishing on the infamous partial...Paul Phillips2010-11-281-1/+2
| | | | | | Did some more polishing on the infamous partial function error message. No review.
* Test case closes #3106, no review.Paul Phillips2010-11-281-0/+7
|
* Fleshed out the mock code a little further so i...Paul Phillips2010-11-282-0/+32
| | | | | | | | | | | | | | | | | | | Fleshed out the mock code a little further so it's easy for closures to become SAMs. // implicit not necessary, but improves fun factor scala> implicit def mkUFn(x: AnyRef) = scala.tools.reflect.UniversalFn(x) mkUFn: (x: AnyRef)scala.tools.reflect.UniversalFn scala> (() => 5*5*5).as[java.util.concurrent.Callable[Int]] res1: java.util.concurrent.Callable[Int] = <function1> scala> res1.call res2: Int = 125 No review.
* Refactored parallel collections for pluggable t...Aleksandar Pokopec2010-11-272-13/+15
| | | | | | | | Refactored parallel collections for pluggable task support implementations. No review.
* Some work on error messages, somewhat based on ...Paul Phillips2010-11-265-1/+45
| | | | | | Some work on error messages, somewhat based on ideas in #3092. No review.
* A new totally safe signal manager, along with a...Paul Phillips2010-11-261-0/+22
| | | | | | | | | | | | | | | | | | | A new totally safe signal manager, along with all the support code needed for that. See the classes in scala.tools.reflect.* for interesting new weapons. Also includes inaugural handy usage: scala> val x = 10 x: Int = 10 scala> while (true) () [ctrl-C] Execution interrupted by signal. scala> x res1: Int = 10 No review, but feedback welcome.
* Disabled possibly failing test.Aleksandar Pokopec2010-11-261-0/+4
| | | | | No review.
* A test for collection conversions.Aleksandar Pokopec2010-11-261-0/+78
| | | | | No review.
* Further fixes some issues for #3621.Aleksandar Pokopec2010-11-255-5/+18
| | | | | Review by Rytz.
* Fix for #3621.Aleksandar Pokopec2010-11-246-0/+76
| | | | | | | Added varargs annotation. Review by Rytz.
* Fixes #3647, closes #3647, adds a test case for...Aleksandar Pokopec2010-11-192-0/+38
| | | | | | | | Fixes #3647, closes #3647, adds a test case for it, and a missing test case for #3935. No review.
* removed duplicated error message for bad compil...michelou2010-11-182-190/+211
| | | | | | removed duplicated error message for bad compiler options made some cleanups in detach plugin code
* Some refinement of the error messages when the ...Paul Phillips2010-11-188-12/+45
| | | | | | | | | | | | | | | | | Some refinement of the error messages when the found and required types have the same simple names. No longer must we watch people scratch their heads at such messages as: found : scala.collection.Set[String] required: Set[String] Now so clear you could enjoy a movie through it: found : scala.collection.Set[String] required: scala.collection.immutable.Set[String] No review.
* Added another fix for #3970.Aleksandar Pokopec2010-11-171-0/+21
| | | | | No review.
* Fixes #3989.Aleksandar Pokopec2010-11-172-0/+2
| | | | | No review.
* Fixes #3989, adding test cases for #3989 and #3...Aleksandar Pokopec2010-11-172-0/+28
| | | | | | | Fixes #3989, adding test cases for #3989 and #3996. No review.
* updates Scala examples, added detach pluginmichelou2010-11-1717-0/+813
|
* Changed javasigs test to use new javaccmd syste...Philipp Haller2010-11-151-1/+1
| | | | | Changed javasigs test to use new javaccmd system property.
* Moved failing test to pending until I figure ou...Iulian Dragos2010-11-142-0/+0
| | | | | | Moved failing test to pending until I figure out how hudson is running on chara
* Use partest's java and javac command in the jav...Iulian Dragos2010-11-131-9/+2
| | | | | Use partest's java and javac command in the javasigs test. no review.
* Fix InnerClasses attribute: anonymous classes d...Iulian Dragos2010-11-133-2/+408
| | | | | | | | Fix InnerClasses attribute: anonymous classes don't have an outer name. EnclosingMethod is correctly generated. Fixed isAnonymousClass definition. Updated test that depends on anonymous inner class names. Closes (again) #3249, references #2749. review by odersky,extempore.
* Half of an implementation of sealedness for jav...Paul Phillips2010-11-123-0/+19
| | | | | | | | | Half of an implementation of sealedness for java enums. Since it's only half it's behind -Xexperimental, but it works like a charm for the half where it works (that being compiling against bytecode.) Need input on how to approach the source half. References ticket #2442. Review by moors.
* A test case having some issues. No review.Paul Phillips2010-11-112-3/+4
|
* Some more work on options related to showing co...Paul Phillips2010-11-112-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some more work on options related to showing compiler structures during compilation. The pickler knew more than was healthy about things like compiler settings, so I let the pickler worry about pickling and moved that logic somewhere closer to the surface. Some convenience oriented tweaks to command line phase parsing. The end result is as follows (some output trimmed for brevity.) // dippy.scala class Dippy { def f[T <: Dippy](x: T) = (x, x) object DingusDippy extends util.Random { } } // className@phaseString should be reliably unambiguous % scalac -Xshow-class Dippy@typer,erasure,jvm dippy.scala <<-- class Dippy after phase 'typer' -->> Members (excluding Any/AnyRef unless overridden): final object DingusDippy extends object Dippy.this.DingusDippy def f[T <: Dippy](x: T): (T, T) <<-- class Dippy after phase 'erasure' -->> Members (excluding Any/AnyRef unless overridden): private lazy var DingusDippy$module: object Dippy#DingusDippy lazy val DingusDippy(): object Dippy#DingusDippy def f(x: Dippy): Tuple2 <<-- class Dippy after phase 'jvm' -->> Members (excluding Any/AnyRef unless overridden): protected var bitmap$0: Int private lazy var DingusDippy$module: object Dippy$DingusDippy lazy val DingusDippy(): object Dippy$DingusDippy def f(x: Dippy): Tuple2 No review.