SI-6623 Avoid $iw wrappers in REPL#5220
Conversation
| // | ||
| // `foo` will bind to `baz.foo` in this example: | ||
| // | ||
| // { import bar.foo; import interpreseter.$iw; import baz.foo; foo } |
There was a problem hiding this comment.
my bad: s/interpreseter/interpreter/
There was a problem hiding this comment.
Crosstalk from presentation compiler completer.
|
Also, this was not the expected message. |
|
@som-snytt I looked at the |
|
@retronym I had an old fix for But it has broken at SI-4899 and SI-5854 and SI-8935, which should tell us something. paulp:
Which should also tell us something. |
6b365c8 to
754dfc4
Compare
|
Jenkins, old boy, I must say, I appreciate your company on these dark late nights. Perhaps I don't say it enough. But you're quite the chap. |
abae8d2 to
7b998cc
Compare
|
A few failures still. This is a problem: |
test/files/run/t7747-repl.check
Outdated
| val INSTANCE = new $read.<init> | ||
| } | ||
| res3: List[Product with Serializable] = List(BippyBups(), PuppyPups(), Bingo()) | ||
| res3: List[Serializable with Product] = List(BippyBups(), PuppyPups(), Bingo()) |
7b998cc to
bc376f4
Compare
Now `valueOfTerm` drills down reflectively using the `fullName` of the desired symbol. It respects a prefix of static modules, but switches to instance mirrors as required. The target is an accessor on the last enclosing instance. cherrypicked from scala#4311 Conflicts: src/repl/scala/tools/nsc/interpreter/IMain.scala
Synchronize the live test with the spec update, which is trivial. Also add a neg test showing that an imported name remains ambiguous even if it resolves to the definition in scope with which it is ambiguous.
Use a conventional import to bump context depth in REPL templates. Code is still ordinarily wrapped in a `$read` object. This is a step toward 6623-like transparency. `retronym` takes the blame for this innovation. `adriaanm` collaborated in its commission. `somsnytt` batted clean-up.
bc376f4 to
6d8c565
Compare
|
Still WIP, but: |
|
@adriaanm I don't know if this is useful pre-Adriaanite. |
| case s => s | ||
| } | ||
| } else { | ||
| lines drop header.lines.size |
There was a problem hiding this comment.
oh hey, this is where you cleaned up that code a little bit.
Use a conventional import to bump context depth in REPL templates.
Code is still ordinarily wrapped in a
$readobject.This is a step toward 6623-like transparency.
retronymtakes the blame for this innovation.adriaanmcollaborated in its commission.somsnyttbatted clean-up.Notice how the handles line up.