Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 05 14:38
    ams-tschoening commented #1189
  • Apr 05 14:37
    ams-tschoening commented #1189
  • Feb 15 17:47
    rkrzewski commented #1189
  • Feb 15 17:37
    lagerspetz commented #1189
  • Feb 15 09:35
    rkrzewski commented #1189
  • Feb 14 18:17
    lagerspetz commented #1189
  • Feb 14 18:17
    lagerspetz commented #1189
  • Feb 14 18:16
    lagerspetz commented #1189
  • Feb 14 18:15
    lagerspetz commented #1189
  • Sep 28 2018 15:47
    rkrzewski commented #1189
  • Sep 28 2018 15:31
    mkurz commented #1189
  • Sep 28 2018 14:47
    rkrzewski commented #1189
  • Aug 30 2018 13:20
    rkrzewski commented #1190
  • Aug 30 2018 13:16
    m50d commented #1190
  • Aug 30 2018 12:49
    m50d commented #1189
  • Aug 30 2018 06:21
    m50d commented #1189
  • Aug 26 2018 22:56
    m50d commented #1189
  • Aug 17 2018 08:53
    m50d commented #1189
  • Aug 13 2018 10:17
    rkrzewski commented #1189
  • Aug 12 2018 08:09
    m50d commented #1189
Rafał Krzewski
@rkrzewski
I also deployed equinox-weaving-launcher and scala-ide from localy built update sites
Iulian Dragos
@dragos
thanks!
kiritsuku
@kiritsuku
I can give ownership permissions for scala-ide repo to you @rkrzewski or someone else who wants it. I'm not going to review or merge any PRs
Eric K Richardson
@ekrich
@sschaef Thanks for all the work you did :clap:
Andrei Pozolotin
@Andrei-Pozolotin

@wpopielarski re:

good news ... and I hope we at least update zinc version

:thumbsup: do you have a branch somewhere which now builds with current zinc?

Wiesław Popielarski
@wpopielarski
@Andrei-Pozolotin not yet , I was building @rkrzewski change locally but on Monday (or tomorrow) I just try with zinc but no eclipse update.
Rafał Krzewski
@rkrzewski
Out of curiosity, I've tried compiling the IDE against Scala 2.12.6. Interestingly there are not compile errors, which means that Erasure.needsJavaSig was made public again. Unfortunately there was 281 test failures. I'm sure they stem from a small number of root causes. Anyone wants to dig in? ;)
Wiesław Popielarski
@wpopielarski

well looking at code in JavaSig.scala here:

    private lazy val sig: Option[String] = {
      // make sure to execute this call in the presentation compiler's thread
      pc.asyncExec {
        def needsJavaSig: Boolean = {
          // there is no need to generate the generic type information for local symbols
          !symbol.isLocalToBlock && erasure.needsJavaSig(symbol.info, throwsArgs = Nil)
        }

        if (needsJavaSig) {
          // it's *really* important we ran pc.atPhase so that symbol's type is updated! (atPhase does side-effects on the type!)
          for (signature <- erasure.javaSig(symbol, pc.enteringPhase(pc.currentRun.erasurePhase)(symbol.info), markClassUsed))
            yield signature.replace("/", ".")
        } else None
      }.getOrElse(None)()
    }

and here: https://github.com/scala/scala/blob/v2.12.6/src/compiler/scala/tools/nsc/transform/Erasure.scala#L385
looks like javaSig method could be use in place of private needsJavaSig. I try to fix it and check

I mean not directly but just a check against None from javaSig
Rafał Krzewski
@rkrzewski
@wpopielarski I checked that and it does not work well enough. Core tests were running into cases where Erasure.needsJavaSig returned true but Erasure.javaSig failed to produce it (UnknownSig exception was thrown internally and javaSig returned None)
Luckily it turned out that it's possible to copy needsJavaSig into IDE codebase despite the fact that it refers to some scala-reflect internals. I've posted a provisional PR scala-ide/scala-ide#1190
There are two failures in debug tests NoClassDefFoundError gets thrown because the evaluator tries to load class scala.AnyVal[] over JDI
I'll try running this test case on 2.12.3 and 2.12.6 side to side and find what is the difference
kiritsuku
@kiritsuku
@rkrzewski I just invited you to the scala-ide project. This way you can merge your own code if you want. I don't have the time to review your code and Wieslaw is also working on a different project
Rafał Krzewski
@rkrzewski
Thanks Simon! (I assume that's you :))
kiritsuku
@kiritsuku
Yep, that was me ;)
Rafał Krzewski
@rkrzewski
For the record, I found the probable cause of regression in org.scala-ide.sdt.debug.expression.tests.ArrayTest.testNestedMixedArrayApply with Scala 2.12.6: scala/scala#6131
N.S. Cutler
@godenji
Does this mean a Scala 2.13 release of the IDE is a possibility, or is the bug that the referenced bug and merged commit is actually a blocker wrt to future up-to-date-with-scala releases?
Rafał Krzewski
@rkrzewski
The referenced commit is the likely culprit of regression in debug expression evaluator when using Scala 2.12.6
It's not affecting the IDE proper
Also, I haven't tried compiling against 2.13 milestones, but I assume it would be quite hairy because of new scala collections
N.S. Cutler
@godenji
k, just trying to see how far we can go with Scala IDE before it becomes impossible to build it against current and future Scala versions. Dotty will hopefully be here in a couple of years; at that point it's looking like we'll all be on VS Code or IntelliJ.
If the IDE can (somehow) be built against 2.13 then we've bought ourselves another 12-18 months.
Rafał Krzewski
@rkrzewski
I'd rather switch to Emacs than IntelliJ :D
When Scala 2/3 LSP servers reach production quality it should be even possible to integrate them with Eclipse using lsp4e
We'll see about 2.13. Right now my objective is 2.12.6 and it looks pretty good.
Even if I'm unable to fix the problem with type erasure in debug expression evaluator, I'd be happy to use Scala IDE on 2.12.6 anyway
Rafał Krzewski
@rkrzewski
I've pushed a fix to one of the failing tests in debug evaluator: https://github.com/scala-ide/scala-ide/pull/1190/commits/8ecab0def0877c1dfd13b6fe070458cfcc8ddf68
It's a bit heavy handed, but given that I can only access trees through scala.reflect.runtime.universe API I wasn't able to do any better
Traversing the scalac typer under debugger was an interesting experience ;) I'll just say that the comments I came across were in equal measures hilarious and terrifying
There's another failing test ImportsTest.importFromNestedObjectthat is really weird. When I run it separately (single test method / single test class) either under Maven or Scala IDE it succeeds. But when I run all tests in org.scala-ide.sdt.debug.expression.tests it consistently fails!
Rafał Krzewski
@rkrzewski
Unfortunately "run all tests in selected project, package or source folder" of Equinox Weaving enabled JUnit plugin test launcher does not work.
I had trouble debugging this problem, but I've upped my PDE target platform game since then (I now know how to use Scala IDE built on 2.12.3 to debug Scala IDE application or tests running on 2.12.6 for example) so maybe I should give it another try...
Alternatively I could just @Ignore that test and publish an unofficial build for Scala 2.12.6 / Eclipse Photon M7 (arriving today)
If there's anyone interested giving it a spin, please raise your hand!
Alex Kozlenkov
@prova
Do it Rafał :-)
N.S. Cutler
@godenji
:thumbsup: Rafael, I'd take Photon for a spin
Rafał Krzewski
@rkrzewski
@godenji @prova there you go: https://storage.googleapis.com/scala-ide-photon/
It's compiled against Photon M6. M7 packages will be available later tonight, so I'll recompile during the weekend and let you know.
Eric K Richardson
@ekrich
:+1:
N.S. Cutler
@godenji
@rkrzewski thanks -- FYI, looks like Photon RC1 just shipped
Rafał Krzewski
@rkrzewski
It's not RC1 yet but M7. Alas it appears to be b0rked. When I'm installing "Eclipse IDE for Eclipse Commiters" using Oomph installer, I'm still getting M6 and then I'm unable to upgrade because of conflicting Ant versions. I haven't tried "Eclipse IDE for Java Developers" or "Eclipse Platform" which are viable base installs for Scala IDE, because I need PDE stuff for hacking on Scala IDE itself.
Meanwhile, I'm rebuilding Scala IDE packages and the build picked up a bunch of 20180519 P2 packages and all looks well so far.
Rafał Krzewski
@rkrzewski
Bad news, there's a regression with M7. There are 33 test failures in debug expression evaluator tests, but each one has the same error message Bad state after runToBreakpoint(typeName = debug.Values$, line = ...) expected:<SUSPENDED> but was:<TERMINATED> so hopefully there's only one root cause to fix.
Alex Kozlenkov
@prova
@rkrzewski thanks, trying M6 now
Alex Kozlenkov
@prova
Works pretty well, no crashes. I have tried three projects, one with shapeless, one with fs2/http4s and one very heavy with Play, shapeless and Slick, all look good, but the large project, we know it the typer there is a killer
Rafał Krzewski
@rkrzewski
@prova I'm glad it's working for you. I'm now using IDE running on Scala 2.12.6 to hack on the IDE itself and it's working well
I don't understand your last comment about "typer being a killer"
I was able to track down why "run all tests in selected project, package or source folder" stopped working: https://github.com/eclipse/eclipse.jdt.ui/commit/64ba489fcd6126e2ea7669c80e3b4c8f16889a08#diff-4b149b5948cd097fc133f8807a0d8e43L123
Our JUnit4TestFinder is no longer invoked for that type of configuration, because JDT devs hard coded JUnit 3 and JUnit 4 test kind identifiers in their code :(