| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| | |
Fix for SI-6357, cycle with value classes.
|
| |
| |
| |
| | |
Don't force the owner info.
|
|\ \
| | |
| | | |
comment / question in typers
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix for overly eager package object initialization.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A subtle change in the order in which symbol attributes were
inspected (now you know why I avoid vals in the compiler) led to a
cycle during initialization for slick. I'm afraid I don't know how
to reproduce the issue outside of slick and sbt, so I added some
logging instead.
After some challenges juggling general correctness and cycle
avoidance, I resorted to improving and documenting the logic
as well. I predict reviewer will be pleased.
|
|\ \ \ \
| | | | |
| | | | | |
Optimize primitive Array(e1, ..., en)
|
| | | | |
| | | | |
| | | | |
| | | | | |
Canonical > home-spun.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Expands an existing optimization for reference arrays to
apply to primitives, as well.
Fixes one aspect of SI-6247.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Merge 2.10.0-wip/.x into master
|
| | | | | | |
| | \ \ \ | |
| |\ \ \ \ \
| | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
master
Conflicts:
src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
|
| | | |\ \ \
| | | | | | |
| | | | | | | |
SI-6644 Account for varargs in extmethod forwarder
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Which sounded difficult, so instead I offshored the work
to the friendly republic of TreeGen.
|
| | | |/ / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The early check in the parser of pattern irrefutability,
added in c82ecab, failed to consider InitCaps and
`backquoted` identifiers.
|
| | |\ \ \ \
| | | | | | |
| | | | | | | |
SI-6539 Annotation for methods unfit for post-typer ASTs
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
- Don't default the message, and show it exclusively.
- Fix cut-and-pasto in the @since tag
- Be tolerant if the annotaion class is missing, as seems to
have been the case compiling the continuations plugin.
- s/\t/ / in the test file to show the errors are positioned
correctly.
- Use defensive getOrElse
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Motivated by the `.value` method in the SBT task-syntax branch,
which should only be called within the context of the argument
to a setting initialization macro.
The facility is akin to a fatal deprecation.
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix for SI-6662, macro failing too early.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Don't give up before you try tupling. Who knows what
someone might be doing with a Unit.
|
| | |\ \ \ \ \ \
| | | |/ / / / /
| | |/| | | | | |
SI-6616 Check that unsafe operations are only called on the presentation...
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
compiler thread.
The method that checks the actual constraint is @elidable, expecting it to be used
for nightly builds but stripped-off in release builds. This way we don't lose any
performance, but 'fail-fast' in IDE nightlies.
This assumes that release builds will have at least `-Xelide-below ASSERTION`, but
this pull request does not do that.
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
better error when typetagging local classes
|
| | | | |/ / / /
| | | |/| | | |
| | | | | | | |
| | | | | | | | |
Inspired by https://issues.scala-lang.org/browse/SI-6649
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
-Yshow-trees-compact respects other options
|
| | | |/ / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The aforementioned tree printer now respects other tree printing
options such as -uniqid and -Xprint-types.
This helps debugging reify, which uses `nodePrinters`, not `showRaw`
to print its trees, because back then `showRaw` didn't exist yet.
|
| | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
In fb315772 custom ClassTags were introduced to optimize array
creation in hot places. The idea was that if `Array[T]` is allocated
through `ClassTag[T]` (which is essentially a factory for Array[T])
we would introduce a custom class implementing `ClassTag[T]` interface
and would have specialized array allocation instruction instead of
having reflective call as it's being done with default (compiler
synthesized) implementation of `ClassTag[T]`.
In case of `PatternMatching.scala` I made a mistake of providing
`ClassTag[Array[Clause]]` instead of `ClassTag[Clause]` so that value
would never be used and compiler still would resolve implicit through
default mechanism. This has been discovered thanks to @paulp's work
on unused value detection.
Review by @paulp.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Error for SI-6355, overloading of applyDynamic.
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
As long as it can never be called anyway, seems like we'd be
doing people a kindness to fail the compile rather than letting
it be ambiguous at every use site.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix for SI-6664, cycle in case classes.
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Scope lookup of an overloaded symbol was accidentally
forcing some lazy info. Since as usual the caller didn't
even have any interest in the symbol, but only in whether
the name existed at all, I changed it call the method I
made for this exact purpose, containsName. Also I much
reduced the number of checks being made in the quest for
an inherited copy method.
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's the usual thing, making logic more logical and removing
comments which are incorrect and/or no longer useful.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Address obvious bug in MutableSettings.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
If x startsWith "-" it seems unlikely that x == "".
Free with purchase: test case with 100 argument permutations.
That's only a smidgen shy of infinity.
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
SI-6637
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Move the optimization one level deeper so the expression
being tested with isInstanceOf is always evaluated.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
I fixed that already and somehow it didn't appear in my push.
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Now when I start the repl and trigger an exception during
initialization, it offers a one line message like:
uncaught exception during compilation:
AssertionError("assertion failed: (14,13)")
@ scala.reflect.internal.Symbols$Symbol.updateInfo(Symbols.scala:1309)
Which is a marked debugging improvement from RC1:
uncaught exception during compilation: java.lang.AssertionError
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
A long-standing annoyance of having IMain stored in a var
is that you can't call a method on it which returns a dependent
type and then pass that to any other method. I realized I
could get around this by creating an implicit class around
the var; in the class, it is a val, so the method can be written
there, and we implicitly convert from the var on demand.
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
All methods to do with handling imports more uniformly and early
filtering of symbols which cannot be imported. Also make TypeBounds
treat a Wildcard in lower or upper bounds as an empty bound, so we
don't see all these method signatures like
def f[T >: ? <: ?]
because that's not helpful.
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If that's the $outer accessor, what's that being created
in newOuterAccessor? Sketchy, sketchy business.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Hidden behind -Xlint as usual. This commit also includes
further simplification of the symbol lookup logic which I
unearthed on the way to reporting unused imports. Plus
unusually comprehensive documentation of same.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Threw in deprecation warning reduction in src/compiler.
|
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A dizzying number of unused imports, limited to files
in src/compiler. I especially like that the unused import
option (not quite ready for checkin itself) finds places
where feature implicits have been imported which are no
longer necessary, e.g. this commit includes half a dozen
removals of "import scala.language.implicitConversions".
|