| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This is part of an effort to make the immutable collections
(more) thread safe. The `::` still has non-final member fields
for head and tail, but there is not much that can be done right
now about that, since these fields are used by list buffers.
Tried writing a test with unsafe initialization, but could not
invent a scenario which actually fails, at least on the JDK6.
|
|\ \
| | |
| | |
| | | |
into develop
|
| | |
| | |
| | |
| | |
| | | |
Changed CompositeThrowable to inherit Exception instead of Throwable.
A few minor fixes for the jdk1.5 parallel collection tasks.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is done by structurally serializing list nodes, but prepending a special
`ListSerializationStart` symbol ahead of the list. If this symbol is not
in the object input stream, the deserialization reverts to the old mode.
Note there is not much to be done for list buffers - their serialization was
broken before, so legacy serialized list buffers are no longer deserializable.
However, their serialVersionUID was changed to reflect this, so deserializing
a legacy list buffer should fail fast.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/compiler/scala/reflect/internal/Symbols.scala
src/compiler/scala/reflect/internal/Types.scala
src/compiler/scala/tools/nsc/typechecker/Typers.scala
src/library/scala/reflect/api/Trees.scala
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
The idea is that all operations that need to be synchronized are overriden in classes reflect.runtime.Synchronized*. Sometimes this applies to operations defined in SymbolTable, which can be directly overridden. Sometimes it is more convenient to generate SynchronizedClazz subclasses of SymbolTable classes Clazz. In the latter case, all instance creation must go over factory methods that can be overridden in the Synchronized traits.
|
| | | | |
|
| | | | |
|
| | | | | |
| \ \ \ | |
| \ \ \ | |
| \ \ \ | |
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
'scalamacros/topic/antbuildexception', 'leifwickland/SI-5405' and 'axel22/issue/5377' into develop
|
| | | | |_|/
| | | |/| |
| | | | | |
| | | | | | |
Converting the buffer to another arraybuffer instead of to a list.
|
| | |/ / / |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
given moment (instead of throwing type errors). This avoids previous problems where we were creating fake error trees in some incorrect places like in type completers in Namers etc. Implicits relied heavily on type errors being thrown but performance should stay the same due to some explicit checks/returns.
Some of the problems involved how ambiguous error messages were collected/reported because it was very random (similarly for divergent implicits). This should be more explicit now. Reduced the number of unnecessary cyclic references being thrown (apart from those in Symbols/Types which don't have a context and need to stay for now as is).
Review by @paulp, @odersky.
|
|/ / /
| | |
| | |
| | | |
Plus a big unit test I had lying around.
|
| | | | |
| \ \ | |
| \ \ | |
| \ \ | |
|\ \ \ \ \
| | |_|_|/
| |/| | |
| | | | | |
'scalamacros/topic/macros' and 'kmizu/pullrequest-fix-SI-4835' into develop
|
| |_|/ /
|/| | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Lists are now serialized so that the entire list structure is serialized, including list nodes.
This is different from the previous behaviour where only the elements were serialized.
List buffers are now optimized so that only the elements of the list are serialized, and
not the nodes of the internally maintained list.
|
| | | | |
| \ \ | |
|\ \ \ \
| |_|/ /
|/| | /
| | |/
| |/| |
'szabolcsberecz/SI-5066' into develop
|
| | |
| | |
| | |
| | |
| | | |
readLine("%s", "prompt") printed "WrappedArray(prompt)"
readLine("%s%s", "pro", "mpt") threw a MissingFormatArgumentException
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A short recap:
* Macro expansion now works finely for instance macro invocations
* Macros are now hidden behind -Xmacros
* Bodies of macros now have "import _context._" in their preamble
* Macros are now loaded from classpath, much like regular libraries
* Macros can now override methods (in that case macro expansion
does not crash if macro is not found, it just falls back to super)
Review by @odersky.
|
|/
|
|
|
|
| |
re-evaluating the predicate after it once evaluated to true.
Closes SI-5387.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Fix the test for number of arguments by passing all arguments instead
of passing the argument list as a single argument.
Add positive and negative tests for it.
|
|\ \
| | |
| | |
| | | |
'kepler/topic/showraw'
|
| | |
| | |
| | |
| | |
| | |
| | | |
Now showRaw no longer significantly lags behind -Yreify-copypaste.
Didn't put very much effort into it, since quite soon LiftCode
will become a macro and we'll be able to reuse it in RawTreePrinter.
|
| |/
|/|
| |
| | |
Added test cases for SI-5377.
|
| | | |
| \ | |
|\ \ \
| | | |
| | | |
| | | | |
'magarciaEPFL/fasterInliner' into develop
|
| | | |
| | | |
| | | |
| | | | |
This is the complete implementation of SIP-11, in its version of 15-Jan-2012. For now, the interpolations are enabled only under the -Xexperimental flag.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
Scala+GWT has a whole new hierarchy of Manifests that
does not use reflection. Every type in new hierarchy
is a subtype of a type from old hierarchy. Sealed modifier
introduced in 2e92de4cd66532404081eec6b9e82c6f85b51434
breaks this scheme. Removing it so Scala+GWT can compile again.
|
| | | | |
| \ \ | |
| \ \ | |
| \ \ | |
|\ \ \ \ \
| | |_|/ /
| |/| | |
| | | | | |
'szabolcsberecz/pathsettings-jar-location-fix', 'dcsobral/issue/5371' and 'dcsobral/issue/5370' into develop
|
| | | | | |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add an explanation in PartialFunction as to how it differs from Function1,
with examples of what it can do that Function1 cannot.
Make it explicit that calling apply may throw exceptions in both of them,
even in the case where isDefinedAt returns true.
Closes SI-5370.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Add examples and better explain the expected return type of the
methods flatMap and flatten.
Closes SI-5371.
|
|/ /
| |
| |
| |
| |
| | |
Modifications in LiftCode to avoid upsetting the happy world
upon which I am converging where flags change in an almost
predictable fashion.
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
with null value"
This commit reverts the following two commits:
5f2568e36b87d183fd4e4442d5c304db628846c4 - "Revert "Accept prefixed xml attributes with null value"
b00002f9049c034510438881b4a4449d73fe2f54 - "Disabling some scaladoc tests."
and fixes a scaladoc test broken by:
4787f883604d1344257c0b40c15790c3dde477f2 - "Fixed equality and string representation of xml attributes with null value"
|
| | | | |
| \ \ | |
| \ \ | |
| \ \ | |
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | | |
'soc/SI-4627' into develop
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Deprecate scala/xml/include/sax/Main.scala.
Move scala/swing/test/* to docs/examples.
Saves 160KB in scala-swing.jar.
Fixes SI-4627.
|
| | | | | |
|
| |\ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
Conflicts:
.gitignore
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This implementation is based on AVL trees.
The current implementation is contributed by Lucien Pereira.
Fixes #4147.
|
| | | | |
| | | | |
| | | | |
| | | | | |
So it can be used as a mixin.
|
|\ \ \ \ \ |
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
inference
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
This reverts commit 51089b34a7a535498dee42e6465d4d577d65b7d5.
A scaladoc test is failing and I have no time to look at it.
|
| | | | | |
| \ \ \ | |
| \ \ \ | |
| \ \ \ | |
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
and 'szabolcsberecz/xml-attribute-fix'
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This changes makes PrefixedAttribute work the same way as
UnprefixedAttribute with respect to null values:
<t p:a={ null: String }/> is accepted and results in <t/>
|
| | | | |_|/
| | | |/| |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Prior to this patch <t a={ null: String }/> was not equal to <t/> and
it's string representation was "<t ></t>" instead of "<t></t>"
This includes changing MetaData.normalize() so that it doesn't reverse
the chain. On the downside, the iterate function in MetaData.normalize()
is not tail-recursive now.
|