| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
SI-7669 Fix exhaustivity warnings for recursive ADTs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The pattern matcher's analysis was correctly finding
models under which the match in the enclosed test
could fail. But, when trying to render that model
as a counter example, it ran into an internal inconsistency
and gave up.
That inconsistency arose from VariableAssignment, which:
> turn the variable assignments into a tree
> the root is the scrutinee (x1), edges are labelled
> by the fields that are assigned a node is a variable
> example (which is later turned into a counter example)
In the process, it notes the unreachable case `V2 = NotHandled`,
which can only arise if `V1 = Op`, ie the scrutinee is `Op(NotHandled())`.
V2 is assosicated with the path `x1.arg`. The code then looked for
any variable assosicated with the prefix `x1` and registered that its
field `arg` was assosicated with this variable assignment.
However, the assignment for `V1 = NotHandled` (another missing case)
is also associated with the path `x1`. Registering this field makes
no sense here; we should only do that for `Op`.
This commit conditionally registers the fields based on the class
of `VariableAssignment#cls`. We no longer hit the inconsistency in
`VariableAssignment#allFieldAssignmentsLegal`.
This favourably changes the results of two existing tests.
I had to tweak the counter example pruning to avoid relying on
CounterExample.==, which is flaky in the light of Nil and List().
It is possible to have:
A, B where A != B && A.coveredBy(B) && B.coveredBy(A)
Luckily it is straightforward to implement pruning entirely with
coveredBy.
|
|\ \
| | |
| | | |
SI-7620 Remove floating-point-literals-without-digit-after-dot
|
| | | |
|
|\ \ \
| | | |
| | | | |
SI-6811 Deprecate scala.text
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | | |
SI-7592 Deprecate s.c.m.DefaultMapModel
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
“This class is used internally.” — No, it isn't.
It isn't used anywhere else either and it doesn't add much benefit,
considering that it lacks documentation and has no tests at all.
|
|\ \ \ \
| | | | |
| | | | | |
SI-7679 Remove deprecated StandardScalaSettings#make
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
SI-7681 Remove dead code in s.t.n.s.AbsScalaSettings
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
SI-7681 Remove Phases, clean up TableDef
|
| | | | |
| | | | |
| | | | |
| | | | | |
... now that scala.tools.nsc.Phases is gone.
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
SI-7681 Remove s.t.n.d.Changes (dead code)
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
SI-7689 Fix typing regression with default arguments
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Regressed in e28c3edda4. That commit encoded upper/lower bounds
of Any/Nothing as EmptyTree, which were triggering the .isEmpty
check in Namers#TypeTreeSubstitutor and resulting in the default
getter having TypeTree() as the return type. This resulted in a
"missing parmameter type" error.
This commit tightens up that condition to only consider empty
TypeTrees (those wrapping null or NoType.)
|
|\ \ \ \ \
| | | | | |
| | | | | | |
MergeableEither extends AnyVal
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
SI-7695 Macro debug output on -explaintypes
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It looks like checkConforms should wait for error before
using explainTypes, rather than turning on macro debug
trace if explaintypes is set.
In particular, macro debug output is Console.println
instead of reporter.echo or similar, so partest can't
test it.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Cleanup of scalap.
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
fix Promise scaladoc
|
| | | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
fix typo. s/Universes/Universe
|
|/ / / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
SI-7488 REPL javap finds new style delayedEndpoint
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The REPL :java -app command is a convenience to locate
the body of DelayedInit code. Now it will look for
new style delayedEndpoints on the class before it
falls back to showing the apply method of the
delayedInit$body closure.
```
apm@mara:~/tmp$ skala
Welcome to Scala version 2.11.0-20130711-153246-eb1c3137f5 (OpenJDK 64-Bit Server VM, Java 1.7.0_21).
Type in expressions to have them evaluated.
Type :help for more information.
scala> :javap -pv -app delayed.C
public final void delayedEndpoint$delayed$C$1();
flags: ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
0: getstatic #29 // Field scala/Predef$.MODULE$:Lscala/Predef$;
3: ldc #31 // String this is the initialization code of C
5: invokevirtual #35 // Method scala/Predef$.println:(Ljava/lang/Object;)V
8: return
LocalVariableTable:
Start Length Slot Name Signature
0 9 0 this Ldelayed/C;
LineNumberTable:
line 11: 0
scala> :q
apm@mara:~/tmp$ rm delayed/*.class
apm@mara:~/tmp$ scalac delayed.scala
apm@mara:~/tmp$ skala
Welcome to Scala version 2.11.0-20130711-153246-eb1c3137f5 (OpenJDK 64-Bit Server VM, Java 1.7.0_21).
Type in expressions to have them evaluated.
Type :help for more information.
scala> :javap -pv -app delayed.C
public final java.lang.Object apply();
flags: ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
0: getstatic #13 // Field scala/Predef$.MODULE$:Lscala/Predef$;
3: ldc #15 // String this is the initialization code of C
5: invokevirtual #19 // Method scala/Predef$.println:(Ljava/lang/Object;)V
8: getstatic #25 // Field scala/runtime/BoxedUnit.UNIT:Lscala/runtime/BoxedUnit;
11: areturn
LocalVariableTable:
Start Length Slot Name Signature
0 12 0 this Ldelayed/C$delayedInit$body;
LineNumberTable:
line 11: 0
line 10: 8
```
|
|\ \ \ \
| |_|/ /
|/| | | |
SI-7650 No bang expansions in REPL jline
|
| | | |
| | | |
| | | |
| | | | |
Disable expandEvents at the earliest opportunity.
|
|\ \ \ \
| | | | |
| | | | | |
Commit .gitignore directly
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rather than relying on the cloner to copy the
provided gitignore.SAMPLE files.
This finishes the job started in c48509598, mostly
by reverting that commit and moving the two existing
SAMPLE files to the final destinations.
Use `.git/info/exclude` to augment the list of patterns
with entries specific to your workflow.
|
|\ \ \ \
| | | | |
| | | | | |
Fixing exhaustiveness warnings.
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
ClassfileAnnotArg becoming sealed brought tidings of not being
exhaustive.
|
|\ \ \ \
| | | | |
| | | | | |
STARR: use 2.11.0-M4, built with 2.11.0-M3
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replaced starr jars with 2.11.0-M4, built with Scala 2.11.0-M3.
I used `ant replacestarr-opt -Dstarr.use.released=1`, with `starr.number`:
```
starr.version=2.11.0-M3
```
Then pushed the jars to artifactory after moving `lib/jline.jar` out of the way,
as it's no longer "desired" (i.e., not pulled from artifactory). Its presence
seemed to break `./push-binary-libs.sh $ARTIFACTORY_USER $ARTIFACTORY_PASS`.
You can by-pass the custom starr artifact download and use a (released) version
of Scala by changing your `build.properties` to include
```
starr.use.released=1
```
You may optionally change `starr.version` in `starr.number` to whichever version
that maven can resolve for you.
|
| | | | |
|
| | | | |
|
| |/ /
|/| | |
|
|\ \ \
| |/ /
|/| | |
Fix typo in Documentation
|
|/ / |
|
|\ \
| | |
| | | |
SI-7592 Remove scala.tools.nsc.util.MultiHashMap
|
| | | |
|
|\ \ \
| | | |
| | | | |
SI-7174 Fix initialization issues
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Without constant inlining, the compiler would not even bootstrap
because it depends on constant inlining hiding initialization issues
which would cause a NPE otherwise.
In this case, global is null at runtime, but no NPE is happening
despite accessing members of global (see SubComponent), because
constant inlining has copied the values of those members to the
call-sites and eliminated the dereference of global.
This commit fixes the initialization order.
|
|\ \ \ \
| | | | |
| | | | | |
SI-4684 Repl supports whole-file paste (rebased)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
By special request, :paste -raw simply compiles the pasted
code to the repl output dir.
The -raw flag means no wrapping; the pasted code must be
ordinary top level Scala code, not script.
|