Commit Graph

10153 Commits

Author SHA1 Message Date
ilyas 0f14f58b36 idea project structure is reworked
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18125 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-26 18:30:30 +00:00
dragos f4b344d1b4 Improved the refined build manager.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18124 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-26 16:35:41 +00:00
extempore 6d6bfea721 Fixed the fact that reflective calls had logical and
arithmetic right shift swapped.  Modified test case to
use a value that doesn't have identical output for both
shifts.  Grumbled to self that test cases which fail to
test are markedly worse than no tests at all.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18122 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-26 14:29:16 +00:00
extempore ef16283186 Removed unused Any_asInstanceOfErased and Any_isInstanceOfErased
variations on is/as.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18121 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-26 13:35:55 +00:00
extempore 23f5c43f50 Hopefully fix for inadvertant stability failure introduced in r18118.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18119 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-26 02:50:53 +00:00
extempore 6959576bc7 Initial checkin of a code generation DSL which I felt like I
had to undertake before I could begin the pattern matcher in good
conscience.  I'm pretty excited about the impact this could have
on the understandability of the codebase - for me anyway.

	// actual code in this checkin
	DEF(method) === {
	  (This(clazz) EQREF that) OR (that MATCH(
	    (CASE(pat) IF guard)  ==> TRUE        ,
	    DEFAULT               ==> FALSE
	  ))
	}

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18118 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 22:41:15 +00:00
extempore 5128b68337 New jline jar from mapreduce's generified jline, including 32-bit
and 64-bit versions of jline.dll so windows users can be happier.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18117 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 19:35:52 +00:00
odersky e7e2432ded added hoverInfo hook
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18116 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 18:47:24 +00:00
odersky 1a9e5e9669 better positions for ValDefs
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18115 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 18:20:09 +00:00
rytz d259719c52 small fix to named arguments
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18109 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 14:30:41 +00:00
phaller c6501a486b Partest no longer hangs when reporting fails.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18108 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 13:52:37 +00:00
extempore 3354a63bda Reverted attempts at inhibiting empty .scala_dependencies
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18107 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 12:39:49 +00:00
dragos 54589ebef7 The dependecy file is read only when -make is not 'all'. Added a more refined builder that tracks dependency at the member level, and moved the build managers to package interactive.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18106 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 12:32:53 +00:00
rytz 011379f187 named arguments only at top level in () parameters.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18105 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 11:38:05 +00:00
odersky f6f40f661a fixed bug in Parser and updated check files.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18104 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-25 11:13:12 +00:00
extempore 02fa55341c Skeletal implementation of scala.io.File. More encoding work.
Separated default source code encoding (the one specified by
-encoding) from default system encoding, because otherwise you
can't compile scala with the defaults on OSX.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18103 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 20:54:18 +00:00
extempore a6a9e6c032 Generalizations made in the course of evaluating pattern matcher rewrite.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18102 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 16:53:04 +00:00
odersky 0a0dbfe0bf fixed variance bug; added smart brace insertion to parser. moved interactive compiler interface along.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18099 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 15:37:16 +00:00
extempore df776736b2 More work and documentation for GenericRanges, plus minor
findbugs noticed issues.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18098 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 15:19:09 +00:00
extempore bc6e8db6d3 Working my way toward a consistent interface for scala.io.Source.
Now all the Source factory methods whose input is something Byte
based rather than Char based require an implicit Codec, which will
be Codec.default if no implicit is available.  The idea is that if
one uses the scala APIs, your desired encoding can be expressed as
an implicit value and it will always be used; and that we (if so
inclined) can change the default in one place.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18097 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 13:38:55 +00:00
extempore d8a0186cfa Moving empty .scala_dependencies check around looking for the
spot which won't cause trouble.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18096 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 13:01:12 +00:00
imaier 2d74828bfe * dialogs use named arguments now, messages are of type Any (fixes #1922)
* components register listeners on demand (fixes #1595)
* Fix for #2026
* minor additions and fixes

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18095 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 10:48:29 +00:00
extempore 28e18e00d5 Some enhancements to Option to cover a variety of cases which
have come up repeatedly:
  Option factory which translates null to None
  .orNull method on Options of nullable types
  filterMap implementation so Option[T].filterMap => Option[U]

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18094 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-24 04:52:10 +00:00
extempore fd2963fe70 Some incremental steps on overhauling IO. Creates new class
scala.io.Codec for encapsulating charset encoding/decoding info,
and then uses that class as the world's first default/implicit
parameter: see BufferedSource.fromInputStream.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18093 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-23 22:27:58 +00:00
extempore f767296d38 Made some minor adjustments to Stream, having deprecated methods
actually use the implementation they recommend to everyone else,
except in those cases where doing so caused scalac to become
unbuildable (e.g. concat) or the suggested alternative doesn't
actually exist (e.g. fill(elem)).  Also dropped the "drop" override
as it appeared identical to the inherited implementation.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18091 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-23 16:32:47 +00:00
extempore 5c2cf364aa Put a stop to empty .scala_dependencies files.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18090 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-23 16:19:24 +00:00
phaller 204f49d2a9 Thread-based receive uses ManagerBlocker interface of new ForkJoinPool.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18089 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-23 15:49:40 +00:00
extempore bc6c0bd3b4 As Ordered now extends Comparable, so too should
Ordering extend Comparator.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18088 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-23 14:51:55 +00:00
phaller c3a7ee6f60 Fixed #2062.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18087 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-23 13:39:08 +00:00
phaller 7569617a43 Added test for #2060.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18085 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-23 11:23:03 +00:00
extempore 03a7028e83 Removed what amounted to a no-operation in the synthetic
case class equals method, and removed some dead code at the
source level as well.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18080 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-22 22:26:59 +00:00
extempore 41b93f72d1 Attempted to resolve the improbable mess surrounding
implicit conversions from Unit.  Modified test case which
relied on the supposedly verboten behavior; verbotenized
() => AnyRef; added new test case which fails if verboten
behavior should ever return.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18079 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-22 20:26:34 +00:00
phaller d26f634bfb Added test for #2034.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18078 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-22 14:43:26 +00:00
phaller c0df335693 Added test for #2079.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18077 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-22 13:50:49 +00:00
phaller e9f439d846 Added test for #2078.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18076 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-22 13:46:34 +00:00
extempore 44945b42b4 More equality shenanigans. Doubles, Floats, BigDecimals,
and the various Int types all use different hashCode
algorithms.  This means there is very broken behavior
afoot among the types.  I see no option but to make
numeric equals significantly less tricky.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18072 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-21 00:21:16 +00:00
extempore 6798c6dca2 Created DelayedLazyVal for your def/val hybrid needs.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18071 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-20 16:55:48 +00:00
extempore adbd13812b Exposing more identifiers for tab-completion.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18070 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-20 16:03:15 +00:00
rytz 30cdf05ee0 improvements to names / defaults (implicits, type of defaults, #2064, ...)
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18069 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-20 08:19:40 +00:00
Joshua.Suereth 07deaee041 Added jline as optional dependency to scala-compiler pom
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18068 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-20 03:31:53 +00:00
extempore 49c5f63ab3 Removed some useless type arguments which survived an earlier
iteration, and resolved an implicit ambiguity that snuck into
SpecializeTypes.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18067 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-19 18:34:21 +00:00
dragos e42a33382d Support for specialization on explicit types. Something like this:
class Foo[@specialized("Int, Double") T] ..

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18066 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-19 15:47:18 +00:00
extempore 2f9b8287d8 Created scala.reflect.Invocation, which offers an easy syntax
for reflective method calls, like:
  "abcdefgh" o 'endsWith("gh") // returns Any
  val res: Boolean = "abc" oo 'endsWith("z") // casts to expected type

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18065 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-19 14:48:47 +00:00
rompf aef99a95d8 corrected some typos
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18064 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-19 10:48:27 +00:00
dragos 919024a055 Fixed scaladoc crash
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18063 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-19 09:52:56 +00:00
dragos 56420ee632 Specialization landed in trunk. It works with your favorite primitive type, as long as it's Int or Double.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18062 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-18 17:19:55 +00:00
extempore d708d1de26 tweak to hashable.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18061 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-18 17:17:06 +00:00
dragos 6d5f085b04 Small fixes in code generation for interface calls.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18060 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-18 16:03:47 +00:00
dragos 05a64dd7d3 Fixed symbol loaders when called at a very late phase (for example, when inner classes are lifted).
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18059 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-18 16:02:22 +00:00
odersky 60fe0e8451 (1) some changes to interactive compiler interface.
(2) added symbol.hasTypeAt
(3) Added flatten/transpose/unzip to TraversableClass

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@18056 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2009-06-18 15:22:12 +00:00