| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Previously, when using ThreadStoppingLineManager (ie, not using
-Yrepl-sync), the parent classloader was installed as the thread
context classloader. On my machine, this was null.
Now, the behaviour is consistent with the thread-free line manager,
and allows access to classes defined during the REPL session.
Closes SI-5072
|
| |
|
| |
|
|\ \
| | |
| | |
| | | |
'szabolcsberecz/SI-5066' into develop
|
| | |
| | |
| | |
| | |
| | | |
readLine("%s", "prompt") printed "WrappedArray(prompt)"
readLine("%s%s", "pro", "mpt") threw a MissingFormatArgumentException
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The problem was, that executing the following command in the windows
shell, always executed scala.bat regardless of the outcome of scalac.bat:
scalac.bat somefile.scala && scala.bat Test
Apparently exit codes are broken for windows bat files.
Implementing the workaround suggested at
http://stackoverflow.com/questions/4632891/exiting-batch-with-exit-b-x-where-x-1-acts-as-if-command-completed-successfu
fixed the problem. Tested manually in Windows 7 64.
|
|\ \ \ |
|
| | | | |
|
|\ \ \ \ |
|
| | | | | |
|
|\| | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| | |/ /
| |/| /
| |_|/
|/| | |
https://github.com/cvogt/scala into develop
|
| |/
| |
| |
| |
| |
| | |
re-evaluating the predicate after it once evaluated to true.
Closes SI-5387.
|
| |
| |
| |
| |
| | |
Like when they're useless. As per suggestion from moors.
Closes SI-5382.
|
|/
|
|
| |
As per suggestion from mharrah.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 2820770bffe2e7d180bccbcd7a3d83944b1dd8d6.
Last minute change had unintended consequences.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Changes motivated by ICodeReader neglecting to utilize logic
which exists in its superclass. Now you can enjoy empty package
classes being inlined into other empty package classes.
Closes SI-4925.
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
specialized method has additional (non-specialized) type parameters.
This fix comes from Stefan's desire to specialize HLists (see
corresponding test). review by @prokopec
|
| | |
| | |
| | |
| | | |
It was acting funny and I had to handhold it a little bit.
|
| | |
| | |
| | |
| | |
| | | |
"illegal cyclic reference involving value <import>" not
so useful.
|
| | | |
|
| | |
| | |
| | |
| | | |
At least I think so.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Changed most symbol creations to be consistent with all the others.
Opportunistically streamlined various call sites. Moved some phase-specific
methods out of Symbol to somewhere more appropriate (like that phase.)
|
| | | | |
| \ \ | |
|\ \ \ \
| |_|/ /
|/| | |
| | | | |
'magarciaEPFL/fasterInliner' into develop
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After inlining one ore more callsites, Inliner runs anew a type-flow analysis for the same method, ie. the previous solution is discarded although it's a subset of that needed after the inlining(s). Background in: http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/2011Q4/Inliner.pdf
Instead, we invalidate only the fragment of the CFG affected by inlining (the basic block where inlining occurred and newly added basic blocks) and let the iterative dataflow analysis start from there. It reaches the fixpoint faster.
The inlining decisions thus made are exactly the same as with the slower version, see -Ylog:inliner, with a focus on lines starting with "[log inliner] Inlining"
review by @VladUreche @dragos @paulp
|
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | |/ / / |
|
|/ / / / |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Added code from SLS 2.0.2.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Renamed the parameter to all the newXXX symbol creators to "newFlags"
because I've seen too many bugs which arose from having a parameter name
which shadows a field and where mistakes can inflict subtle bugs which
won't be found until much later (yes I'm trying to describe "flags" right
now.) Opportunistically cleaned up some symbol creations.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since I have established (no small effort, this) that there is no need
for certain important flags to be mutable for the entire lifetime of a
symbol, I have codified this knowledge by moving it out of the flags
entirely and into the inheritance hierarchy where its constant nature
can find true happiness.
AliasTypeSymbol ... it's an alias (forever!)
AbstractTypeSymbol ... it's an abstract type (forever!)
The only time DEFERRED is inspected is if the generic creation function
is called (e.g. "newTypeSymbol", not "newAliasType") in which case the
presence of the flag is used to determine which symbol to create. This
is mostly for legacy support.
Certain symbols were being created inconsistently with the others. Now
every symbol is created by invoking a creation method on the owner, with
the exception of FreeVar. I changed the owner of those from RootClass
to NoSymbol because there is no reason for them to pollute the symbol
hierarchy at the root.
The signature of cloneSymbolImpl is now
def cloneSymbolImpl(owner: Symbol, newFlags: Long): Symbol
There is an overload with the old signature which calls that one with no
flags. With this step, every symbol creation in trunk is performed with
knowledge of the initial flags, opening the door to many optimizations
in the Symbol and Type logic, not to mention boosting my sanity by at
least five sanity points.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Modifications in LiftCode to avoid upsetting the happy world
upon which I am converging where flags change in an almost
predictable fashion.
|
| | | | |
|
|/ / /
| | |
| | |
| | | |
To make the choices more transparent.
|