| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Scripting knows it by name.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Cheap name test: if the script object extends "App",
take it for a main-bearing parent.
Note that if `-Xscript` is not `Main`, the default,
then the source is taken as a snippet and there is
no attempt to locate an existing `main` method.
|
| |\| | | | | | |
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
SI 9766 - allow ++ on empty ConcatIterator
|
| | | |/ / / / / |
|
| |\| | | | | | |
|
| | | |_|/ / /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The kv field of scala.collection.immutable.HashMap.HashMap1 can be null. This
commit corrects the behavior of updated0 (which is on call path for merged) to
work in such cases, instead of throwing NPE.
Commit contains regression test.
|
| |\| | | | | |
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | | |
[backport] identical readme in 2.11.x as in 2.12.x
|
| | |/ / / / / |
|
| |\| | | | | |
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | | |
Move t8449 to correct place
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Follow-up for https://github.com/scala/scala/pull/4117
|
| | |/ / / / / |
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
Privatize the deprecated members of `immutable.Range`.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
`lastElement` is only used in code paths where the range is
non-empty. It is therefore wasteful to try and give it a sort
of sensible value for empty ranges.
|
| | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The implementation of these obscure members of `Range` are
uselessly complicated for the purposes of `Range` itself.
Making them private will allow to relax their semantics to the
specific needs of `Range`, making them simpler, together with
the initialization code of `Range`.
`terminalElement` becomes dead code and is removed.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We delegate `String`'s extension methods `toInt`, `toFloat`, etc to corresponding
methods in the Java standard library. These differ in the way they handle
whitespace in the original string.
This commit documents and tests the current behaviour.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Improvements to deprecations related to `since` parameter
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
SI-9382 Privatize enhanced x in Tuple2Zipped.Ops
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Consolated JUnit tests and heeded comment about private def and
code beauty.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Probably there should be an Abide rule to avoid leaking
the "underlying value" of a value class. The spec or SIP defines
"underlying type" but doesn't mention the underlying value.
The argument for concealing the member is that it is redundant
and makes autocompletion results harder to read. Also, possibly
an additional implicit might want to add a member so-named.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
SI-9794 Error advice uses decoded method name
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
So much work went into polishing this error message,
it's worth buffing the method name when it's an operator.
The message now says `+` instead of `$plus`.
|
|\ \ \ \ \ \ \ \
| |_|_|/ / / / /
|/| | | | | | | |
Don't pass -opt to starr / locker build in the bootstrap script
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Renaming -Yopt to -opt revealed that we're passing the flag when
building the locker (and optionally the starr) version. This is not
necessary: when building the next stage with the flag enabled, the same
optimizations are performed no matter if the current stage was built
with the flag or not.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
SI-2712 Add support for partial unification of type constructors
|
| | | | | | | | |
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Debug flag to print a summary of the inliner's work
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Example output below. Note that inlining List.map fails because the
trait forwarder uses `INVOKESPECIAL` for now, will change with pr 5177.
$ cat Test.scala
class C {
def foo = Map(1 -> 'a', 2 -> 'b')
def bar(l: List[Int]) = l.map(_ + 1)
}
$ qsc -Yopt-log-inline _ -Yopt:l:classpath Test.scala
Inlining into C.foo (initially 36 instructions, ultimately 72):
- Inlined scala/Predef$ArrowAssoc$.$minus$greater$extension (8 instructions) 2 times: the callee is annotated `@inline`
Inlining into C.bar (initially 12 instructions, ultimately 12):
- Failed to inline scala/collection/immutable/List.map (the callee is a higher-order method, the argument for parameter (bf: Function1) is a function literal): The callee scala/collection/immutable/List::map(Lscala/Function1;Lscala/collection/generic/CanBuildFrom;)Ljava/lang/Object; contains the instruction INVOKESPECIAL scala/collection/TraversableLike.map (Lscala/Function1;Lscala/collection/generic/CanBuildFrom;)Ljava/lang/Object;
that would cause an IllegalAccessError when inlined into class C.
|
|\ \ \ \ \ \ \ \
| |_|/ / / / / /
|/| | | | | | | |
Fully qualify types in REPL generated code
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
Rename -Yopt to -opt, -Yopt-warnings to -opt-warnings
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
Keep -Yopt-inline-heuristics and -Yopt-trace unchanged
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Use full braces style in AnsiColor example
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
This matches the use of ${..} in Console.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Added applyOrElse to MapLike
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This overrides default implementation from PartialFunction which used
both contains(x) and get(x) with getOrElse.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fix Scaladoc link syntax on java.util.Formatter references
|
| | |_|/ / / / /
| |/| | | | | | |
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
SI-9522 release key reference when deleting from OpenHashMap
|
| | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This sets the key field in the hash table entry to its default value
when an entry is deleted, so as not to unexpectedly retain an object
reference, leading to a memory leak.
Also includes incidental changes to the slot location algorithm that
reduce the number of deleted entries.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
SI-8044 Allow binding backquoted varid in patterns
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Allows arbitrary identifier in `X @ pat`, including
non-varids. This goes to regularity.
Users of this syntax are not likely to be confused
by the "backquoted var id is stable" rule.
Also for sequence pattern, `X @ _*`.
|