summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'work'Aleksandar Pokopec2011-01-2615-61/+348
| | | | | | Conflicts: src/library/scala/concurrent/SyncVar.scala
* closes #3619, #4141.Adriaan Moors2011-01-261-4/+18
| | | | | | | | | | | | | | | | replaced the epic outer.outer.outer by something more robust that goes to the context corresponding to the enclosing class nextOuter determines which context is searched next for implicits (after `this`, which contributes `newImplicits` below) in most cases, it is simply the outer context if we're owned by a constructor, the actual current context and the conceptual context are different when it comes to scoping: the current conceptual scope is the context enclosing the blocks that represent the constructor body (TODO: why is there more than one such block in the outer chain?) review by odersky, extempore
* closes #4137.Adriaan Moors2011-01-261-1/+1
|
* closes #2741, #4079: pickling now ensures that ...Adriaan Moors2011-01-262-5/+19
| | | | | | | | | | | | | | | closes #2741, #4079: pickling now ensures that a local type param with a non-local owner, which will thus get a localized owner, will only get a class as its localized owner if its old owner was a class (otherwise, NoSymbol) this ensures that asSeenFrom does not treat typerefs to this symbol differently after pickling. todo: should we pro-actively set the owner of these type params to something else than the type alias that they originate from? see notes in typeFunAnon review by odersky
* closes #3977.Adriaan Moors2011-01-261-2/+2
| | | | | | review by extempore (because of recent sin against this holy principle)
* Hey neat, the -Xcheckinit bot found a bug.Paul Phillips2011-01-261-2/+2
| | | | | bug. I think this will fix it. No review.
* partest --grep has never worked quite right (at...Paul Phillips2011-01-264-15/+36
| | | | | | | | | | | | partest --grep has never worked quite right (at least not in the "sideported" version.) Now it looks harder for matching tests: the check file or any java or scala source file can match. And directory based tests will be properly included. Try it out: test/partest --grep java No review.
* SyncVar should not swallow interrupts and shoul...Paul Phillips2011-01-261-8/+22
| | | | | | | SyncVar should not swallow interrupts and should be robust against spurious wakeups. Closes #4094, review by prokopec. (What did you mean in your comment that it is vulnerable against the take method?)
* Fixing the positions for catch block expressions.Paul Phillips2011-01-251-3/+3
| | | | | | | | is right for the situation, but positions are not my strongest thing. I used atPos on the entire new block and marked it with the position of the expression (+ makeTransparent.) If that sounds suboptimal to anyone let me know. Closes #4182, no review.
* A new murmur3 hashcode implementation contribut...Paul Phillips2011-01-2511-129/+208
| | | | | | | | | | | | | A new murmur3 hashcode implementation contributed by rex kerr. I'm really happy with it. There is benchmarking code included but you can use the pudding for proof: the compiler compiling itself is clearly faster. I deleted the existing murmur2 implementation which has never left trunk in a release. There remain some possible points of improvement with inlining and/or synthetic method generation, but this is a major improvement over the status quo. Closes #2537, review by prokopec.
* Skip getClass (signature changes between JDK 1....Iulian Dragos2011-01-251-1/+3
| | | | | | | | Skip getClass (signature changes between JDK 1.5 and 1.6) and resolve encoding issue of unicode method name. Disabled part of a test that was not handled correctly by the presentation compiler (yet). Added correct encoding for the presentation compiler test. no review.
* Added methods askStructure and askLoadedTyped, ...Martin Odersky2011-01-254-14/+146
| | | | | | Added methods askStructure and askLoadedTyped, which should replace any calls to askType. Next: remove askType.
* Stripped one more embarrasing absolute path fro...Iulian Dragos2011-01-251-1/+1
| | | | | Stripped one more embarrasing absolute path from test output. no review.
* Increased the timeout for presentation compiler...Iulian Dragos2011-01-241-4/+4
| | | | | | Increased the timeout for presentation compiler tests and stripped aboslute paths from the check file. no review.
* Added presentation compiler tests.Iulian Dragos2011-01-247-14/+216
|
* Better behavior on completions.Martin Odersky2011-01-243-20/+38
|
* Responds no longer re-throw exceptions.Martin Odersky2011-01-241-1/+4
|
* made DivergentImplicit a def so we see what goe...Martin Odersky2011-01-241-2/+3
| | | | | made DivergentImplicit a def so we see what goes wrong lately in Eclipse.
* Added log message to tell what version of the p...Martin Odersky2011-01-241-0/+1
| | | | | | Added log message to tell what version of the presentation compiler is running.
* The AnyVal types become source files instead of...Paul Phillips2011-01-2428-366/+1400
| | | | | | | | | | | | | | | | | | | The AnyVal types become source files instead of polite compiler fictions. !! You'll need a serious "ant all.clean" now. !! As of this commit the system is fully bootstrapped and the synthetic code eliminated: only the source files remain. The sort-of-AnyVal-companions in scala.runtime.* have all been eliminated because the actual companions can do everything; deprecated vals in the scala.runtime package object point to the companions. This left AnyValCompanion as the only AnyVal related thing in the runtime package: that made little sense, so I deprecated and moved it as well. Starr is based on r24066 plus this commit. Closes #4121. Review by rytz, odersky.
* Tackled source generation from a new angle rath...Paul Phillips2011-01-233-0/+277
| | | | | | | Tackled source generation from a new angle rather than letting genprod get any more creaky. This code generates the AnyVal source files (but those are not included here.) No review.
* Using decoded names in invokeDynamic.Martin Odersky2011-01-231-1/+1
|
* hardeing of the presentation compiler.Martin Odersky2011-01-234-119/+197
|
* Taking a ride from 106 invalid generic signatur...Paul Phillips2011-01-231-39/+75
| | | | | | | | | | | | | | | | | | | | | | Taking a ride from 106 invalid generic signatures to zero. Closes #4067. Numbers 1-72: Problem: Primitive types appearing in generic bounds. Response: Use the boxed types. Numbers 73-105: Problem: Doubly nested classes can become Outer<T>.Inner.Inner2 Response: Don't allow dots except immediately following angle brackets. Number 106: Problem: Array may be being used as a higher kinded type, and in such cases should not receive the special Array treatment. Solution: args.nonEmpty Observe my claim is that 106/106 signatures have been made "valid", not "correct" or even "more nearly correct." As to that I would like a second opinion. And.... review by moors!
* Incorporated feedback on a couple recent commits.Paul Phillips2011-01-222-2/+3
|
* Merge branch 'invalid-sig' of /scala/trunkPaul Phillips2011-01-223-27/+44
|
* Modified scala build to push jline artifact to ...Josh Suereth2011-01-224-7/+74
| | | | | | Modified scala build to push jline artifact to maven repositories. Review by: extempore
* Updated to new jline sources with it moved into...Paul Phillips2011-01-2159-138/+184
| | | | | | | Updated to new jline sources with it moved into scala.tools.jline. I transitioned the jline build from maven to sbt, and this commit includes the first sbt-built binary. Review by jsuereth.
* [scaladoc] First attempt at modularisation of S...Gilles Dubochet2011-01-2114-69/+248
| | | | | | | [scaladoc] First attempt at modularisation of Scaladoc generator. Option "docgenerator" controls which generation backend is called. No review for now; needs a discussion.
* [scaladoc] Fixes issue with code block in scala...Gilles Dubochet2011-01-211-124/+149
| | | | | | | [scaladoc] Fixes issue with code block in scaladoc attribute (which were wrongly attributed to main comment, instead of attribute). Review by pedrofurla.
* getLinkPos now removes the unit it loaded.Martin Odersky2011-01-211-0/+2
|
* Trying to fix problem in getLinkPos.Martin Odersky2011-01-211-1/+1
|
* Better replays.Martin Odersky2011-01-214-44/+80
|
* The empty string commit made me hungry to actua...Paul Phillips2011-01-211-0/+1
| | | | | | | The empty string commit made me hungry to actually know what's in stuff. Now it prints quotes around a string if it's empty or if either the first or last character is whitespace. No review.
* Deleted the former Process code in the compiler.Paul Phillips2011-01-218-233/+28
| | | | | things which used it to use sys.process. No review.
* A little debugging infrastructure for sys.process.Paul Phillips2011-01-211-20/+43
|
* Minor collections cleanups, no review.Paul Phillips2011-01-203-34/+33
|
* Defer a check from the typer to refcheck so the...Paul Phillips2011-01-201-3/+3
| | | | | | Defer a check from the typer to refcheck so the error message makes some sense. Closes #4174, review by rytz.
* Integrated contributed non-recursive implementa...Paul Phillips2011-01-205-28/+218
| | | | | | | | | | | | Integrated contributed non-recursive implementation of permutations, combinations, subsets, by EastSun. Also gave mutable Seqs an in-place transform method like the one Map has. And couldn't resist slightly reformulating a few set methods, because how can we settle for "forall(that.contains)" when we could have "this forall that". (Which is also what normal people hear when we talk about sets.) Closes #4060, #3644, review by moors.
* Made the empty string print as "" in the repl i...Paul Phillips2011-01-201-0/+1
| | | | | | | | | | | | | | Made the empty string print as "" in the repl instead of as nothing. This after being misled one too many times by a variation of this: scala> List[String]() res1: List[String] = List() scala> List[String]("") res2: List[String] = List() No review.
* The repl becomes more intense about making sure...Paul Phillips2011-01-203-8/+34
| | | | | | The repl becomes more intense about making sure you wanted file completion before offering it. Closes #4130, no review.
* Made partest update a checkfile even if it does...Paul Phillips2011-01-201-22/+20
| | | | | Made partest update a checkfile even if it doesn't exist. No review.
* Look even harder for attempts to sneak "this" i...Paul Phillips2011-01-201-2/+9
| | | | | | Look even harder for attempts to sneak "this" into superconstructor arguments, and improve positioning. Closes #4166, no review.
* Duplication elimination, no review.Paul Phillips2011-01-202-73/+82
|
* Added askLinkPos command for hyperlinking. Martin Odersky2011-01-204-4/+62
| | | | | | Fixed a problem noted by Iulian in completion. Review by vigdorchik
* Made ().## and null.## not crash anymore.Paul Phillips2011-01-201-15/+16
|
* Updated copyright notices to 2011Antonio Cunei2011-01-201162-1167/+1167
|
* introduce NullaryMethodType to disambiguate Pol...Adriaan Moors2011-01-2036-174/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | introduce NullaryMethodType to disambiguate PolyType motivation: given `def foo[T]: (T, T)` and `type Foo[T] = (T, T)`, `foo.info` and `TypeRef(_, Foo, Nil).normalize` are both `PolyType(List(T), Pair[T, T])` uncurry has been relying on an ugly hack to distinguish these cases based on ad-hoc kind inference without this distinction, the type alias's info (a type function) would be transformed to `PolyType(List(T), MethodType(Nil, Pair[T, T]))` anonymous type functions are being used more often (see #2741, #4017, #4079, #3443, #3106), which makes a proper treatment of PolyTypes more pressing change to type representation: PolyType(Nil, tp) -> NullaryMethodType(tp) PolyType(tps, tp) -> PolyType(tps, NullaryMethodType(tp)) (if the polytype denoted a polymorphic nullary method) PolyType(Nil, tp) is now invalid the kind of a PolyType is * iff its resulttype is a NullaryMethodType or a MethodType (i.e., it's a polymorphic value) in all other cases a PolyType now denotes a type constructor NullaryMethodType is eliminated during uncurry pickling: for backwards compatibility, a NullaryMethodType(tp) is still pickled as a PolyType(Nil, tp), unpickling rewrites pre-2.9-pickled PolyTypes according to the expected kind of the unpickled type (similar to what we used to do in uncurry) a pickled PolyType(Nil, restpe) is unpickled to NullaryMethodType(restpe) a pickled PolyType(tps, restpe) is unpickled to PolyType(tps, NullaryMethodType(restpe)) when the type is expected to have kind * the rewrite probably isn't complete, but was validated by compiling against the old scalacheck jar (which has plenty of polymorphic nullary methods) nevertheless, this commit includes a new scalacheck jar summary of the refactoring: * PolyType(List(), tp) or PolyType(Nil, tp) or PolyType(parms, tp) if params.isEmpty ==> NullaryMethodType(tp) * whenever there was a case PolyType(tps, tp) (irrespective of tps isEmpty), now need to consider the case PolyType(tps, NullaryMethodType(tp)); just add a case NullaryMethodType(tp), since usually: - there already is a PolyType case that recurses on the result type, - the polytype case applied to empty and non-empty type parameter lists alike * tp.resultType, where tp was assumed to be a PolyType that represents a polymorphic nullary method type before, tp == PolyType(tps, res), now tp == PolyType(tps, NullaryMethodType(res)) * got bitten again (last time was dependent-method types refactoring) by a TypeMap not being the identity when dropNonConstraintAnnotations is true (despite having an identity apply method). Since asSeenFrom is skipped when isTrivial, the annotations aren't dropped. The cps plugin relies on asSeenFrom dropping these annotations for trivial types though. Therefore, NullaryMethodType pretends to never be trivial. Better fix(?) in AsSeenFromMap: `if(tp.isTrivial) dropNonContraintAnnotations(tp) else ...` TODO: scalap and eclipse review by odersky, rytz
* More on partest.Paul Phillips2011-01-1910-309/+128
| | | | | multiple-reporting-of-failures bug. No review.
* Fixed First/Second dependency problem in presen...Martin Odersky2011-01-193-7/+6
| | | | | Fixed First/Second dependency problem in presentation compiler.