| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
2.9.x version fixin
|
| |
| |
| |
| | |
Swapped 'r' to 'v' now that I've had more coffee and sleep.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix for a bug in CharArrayReader which made triple quoted strings
fail to parse sometimes. Note: when the temptation strikes to adjust
for special cases by letting the regular case happen and subsequently
attempting to fix the ball of mutation by selectively applying what
seems like the inverse operation, please consider the possibility that
this is not the optimal approach. Closes SI-4785, no review.
|
|\ \
| |/
|/| |
Backport/4835
|
| | |
|
| |
| |
| |
| |
| |
| | |
This test case only confirm that StreamIterator's lazyiness is not broken.
Test case about memory consumption could be created. However, such a
test cause a greatly increased time of test.
|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/library/scala/collection/immutable/Stream.scala
- removed inheritance from AbstractIterator
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Has to be somewhere more directly tied to structural
refinements. See run/lub-visibility.scala before/after
output for motivation. Closes SI-5534.
Conflicts:
src/compiler/scala/tools/nsc/symtab/Types.scala
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During shutdown, other threads can still post work items on the work queue. They will never be serviced,
leading to clients waiting forever.
The fix is to replace the implementation of the queue with a 'always fail' implementation during shutdown.
Review by @odersky.(cherry picked from commit 53fb61cba9f02c176f1aae80f0b270491fbbf91c)
(removed the test because there are no presentation compiler tests in 2.9.x and it depends on test infrastructure that is not in place).
Conflicts:
src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
|
| | | |
| \ | |
|\ \ \
| | | |
| | | |
| | | | |
'szabolcsberecz/backports/fix-specialized-tests' and 'szabolcsberecz/backports/SI-5380' into develop-2.9.x
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(cherry picked from commit 02e260a8e67e2b2b6f876aafe76cd61248a89374)
Conflicts:
src/compiler/scala/tools/nsc/transform/UnCurry.scala
Lift only *non-local* returns of try expressions.
(cherry picked from commit edf3ae0b8c3688b5cacbe2f7e2ae826f5fbb7644)
Conflicts:
src/compiler/scala/tools/nsc/transform/UnCurry.scala
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Depending on the file order in the directory, PathSettings.srcSpecLib
could end up as "instrumented.jar.desired.sha1" instead of "instrumented.jar"
which would cause all the specialized tests to fail.
The same goes for scalacheck.jar
(cherry picked from commit 35934129f2593816c3d9a0a5d5786737868fed6c)
|
|\ \
| | |
| | | |
Fix for cps regression.
|
|/ /
| |
| |
| | |
(cherry picked from commit 9f5767dd31395cac0bc64c86c2cacf247b1924fa)
|
|/ |
|
|
|
|
|
|
|
|
| |
Fixes NPE using iterator with an XML attribute being null or None )
(SI-5052 Also fixes incorrect size method (SI-5115 )
Contributed by Jordi Salvat i Alabart. Closes SI-5052, SI-5115, no
review.
|
| |
|
| |
|
|
|
|
|
|
| |
neg/t3399.scala hangs in a lubbing loop; rather than try to
piece out where the earlier cherry-pick went wrong, I took the
current function and adapted it to the 2.9.x source.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Created simple infrastructure for creating mutable sets and maps which
are automatically cleared after each compilation run. Since I am not too
familiar with the mechanics of the presentation compiler I'm not sure
this addresses the problem, or that it doesn't clear something which
shouldn't be cleared. Also, this is only a sampling of possible mutable
sets and maps: let me know if it does the job and I can expand it.
Review by dragos.
Conflicts:
src/compiler/scala/reflect/internal/SymbolTable.scala
src/compiler/scala/tools/nsc/backend/icode/ICodes.scala
Merge note: Oops, perRunCaches wasn't in 2.9.1. This is way
more involved than I'd intended, I jumped to the conclusion it
was already in there based on a note in 0c2f493804db6b which
said it should go into 2.9.2. I think it's OK though.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
slight improvement to lubList so that the simple case of lubbing type
constructors works. review by extempore
the strategy is to detect when the ts in lub(ts) are actually type
constructors and remember their type parameters the BTS of a type
constructor is a list of proper types (the type constructors have been
applied to their dummy arguments, which are simply type refs to the
original type parameters) in lubList, we undo this damage by stripping
these dummy arguments (they refer to type parameters that are meant to
be bound)
a better fix would be to actually bind those type parameters that
appear free in error, but that would require major changes to the BTS
infrastructure
example that only kindasorta works now...
given:
trait Container[+T]
trait Template[+CC[X] <: Container[X]]
class C1[T] extends Template[Container] with Container[T]
C1's BTS contains Template[Container] with Container[T], but that
should really be [T] => Template[Container] with Container[T]
instead of wrapping it in a polytype, the current approach uses
elimHOTparams to patch up this type so that it looks more like a type
ctor: Template[Container] with Container, but this is ill-kinded as
Template[Container] is a proper type, whereas Container is not
the performance impact should be minimal, but caveat reviewer
|
|
|
|
| |
perRunCaches and call clearAll from the presentation compiler
|
|
|
|
|
|
|
| |
In SpecializeTypes and beyond. It is hard for me to say with
confidence what might affect the IDE for the worse, but this is
all intended for the IDE's benefit (if only in terms of insurance)
and hopefully intention matches reality.
|
|\
| |
| | |
Fix snapshot version number
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
contains whitespaces.
Assume -Xplugin is given the value
C:\Programs Files\plugins\Aplugin.jar C:\Programs Files\plugins\Bplugin.jar
Calling ``tryToSetFromPropertyValue`` with the above value will always result
in a total mess, no matter what, because it will split the string at
whitespaces.
The proposed solution is to change the implementation of
``tryToSetFromPropertyValue`` to use `,` (comma) as the splitting character
Further, I'm quite convinced that the current implementation of
``MultiStringSetting.tryToSetFromPropertyValue`` has never worked, that is why I
did not create an overload of ``tryToSetFromPropertyValue`` where the splitting
character (or string) can be passed as argument.
There is also an Eclipse Scala IDE associated to this issue:
http://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1000917
|
| |
|
| |
|
|
|
|
| |
Which daniel snuck by me when I was snoozing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes two major problems:
1. InnerClasses table missed entries
that would close the chain between
nested and top-level class.
2. In some situations, classes
corresponding to objects would be
not be reported in the InnerClasses
table.
For details it's the best to check SI-4819, SI-4820 and SI-4983.
First problem mentioned above was straightforward to fix so I won't be
going into details.
The second one deserves more attention. From now, classes corresponding
to objects are properly reported as inner classes. Also, members
(classes, objects) of objects are reported as inner classes of classes
corresponding to objects.
There's one caveat though: top level objects get two classes (regular
and mirror). Members of top-level objects are declared as inner classes
of *mirror* class and not regular one. The reason for that is to allow
importing them from Java. For example:
object A { class B }
will be compiled into following classes: A, A$, A$B. If we declared
A$B as inner class of A$ (regular class for objects) then it would be
impossible to import B using "import A.B" or "import A$.B" constructs.
The reason for that is that Java compiler seems to blindly put dollars
instead of looking at InnerClasses attribute.
Since non-top-level objects don't have a mirror class it's impossible to
use the same solution. Thus, in case like this:
object A { object B { class C } }
it's impossible to import C from Java. That's the tradeoff for fixing
other (more serious) problems. It's never been possible to do that in a
clean way so we are not making situation worse.
As a nice consequence of this change, we get better way to refer to
inner members of top-level objects. It's been reflected in one of
test-cases that is updated by this change.
Fixes SI-4789 SI-4819 SI-4820 SI-4983 and possibly some other tickets
related to reflection.
Review by extempore, dragos.
Conflicts:
src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
test/files/pos/javaReadsSigs/fromjava.java
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | | |
into 2.9.x
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(cherry picked from commit 91dbfb2a8f466cf30f7b02cbc6f3e89376d31c59)
Conflicts:
src/continuations/plugin/scala/tools/selectivecps/SelectiveANFTransform.scala
|
|\ \ \
| |/ /
|/| | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Document the stream closing requisite on ProcessIO, document a few stream
closing semantics on BasicIO, and then take advantage of my newly-found knowledge
and go on a rampage all over sys.process.
Also make two methods that were implemented but not present in the public API
visible.
Conflicts:
src/library/scala/sys/process/ProcessBuilder.scala
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This closes most file descriptor leaks in sys.process through
the simple expedient of making sure every InputStream being read
by BasicIO is closed once there's nothing more to read.
A single file descriptor leak would remain for the OutputStream
(that is, that process stdin) of each Process, which is closed after the
InputStream being read to feed it is closed. Special care is taken
not to close the calling process stdin.
Fix an additional non-reported by where sending data to a process
that had already terminated would result in an exception being thrown.
File descriptors can still leak in some conditions that must be
handled by user code. Documentation to that effect will follow.
Closes SI-5439.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
multi-argument list methods.
Conflicts:
src/continuations/plugin/scala/tools/selectivecps/CPSAnnotationChecker.scala
|
| | |
| | |
| | |
| | | |
complains about duplicate methods otherwise.
|