-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create Call Hierarchy View. #111
base: master
Are you sure you want to change the base?
create Call Hierarchy View. #111
Conversation
It is written o the top of Find Occurrences API. One field (caller offset) is added to lucent index. This field is used to build the hierarchy. Fix #1000872
Refer to this link for build results (access rights to CI server needed): https://jenkins.scala-ide.org:8496/jenkins/job/ghprb-scala-search-validator/59/ |
org.eclipse.search, | ||
org.eclipse.core.databinding.beans;bundle-version="1.2.200", | ||
org.eclipse.jface.databinding;bundle-version="1.6.200", | ||
org.eclipse.core.databinding.property;bundle-version="1.4.200" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove the bundle versions here. If none is used, the latest version available will be used. That should make updates to new Eclipse versions easier/possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't you want to use version ranges to avoid error at runtime due to binary incompatibilities?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't know what ranges to put in here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know either, but usually Eclipse follows semantic versioning .
The code mostly looks good. I still have to check it for its functionality but probably can't due this before tomorrow. A note for future: It would be nice if you could split up formatting changes in their own commit. This makes review a lot easier. Also you shouldn't just format the existing code but also format your own. There are a few inconsistencies in the new Scala files - it doesn't look like you invoked auto formatting there. |
Refer to this link for build results (access rights to CI server needed): https://jenkins.scala-ide.org:8496/jenkins/job/ghprb-scala-search-validator/60/ |
This plugin doesn't use scalastyle plugin, so formatting is inconsistent. Should I add it? |
On 12/17/2015 07:45 AM, Andrey Ilinykh wrote:
|
In the caller column, there are arrows shown, even when they can't be expanded. They should not be shown in this case. |
I don't think it is necessary to show the "content" column in the call hierarchy, one can click on the line to get to the code directly. |
When I have def foo: Int = {
def x = {
bar
}
x
}
def goo = bar
def bar = 0 inside of EDIT: Ok, I get it now. One is coming from the call of |
I got the following NPE:
|
I just checked the feature on the following example but it didn't work for a single case: package test
import akka.actor._
case object PingMessage
case object PongMessage
case object StartMessage
case object StopMessage
class Ping(pong: ActorRef) extends Actor {
var count: Int = 0
def incrementAndPrint(): Unit = { count += 1; println("ping") }
override def receive: PartialFunction[Any, Unit] = {
case StartMessage ⇒
incrementAndPrint
pong ! PingMessage
case PongMessage ⇒
incrementAndPrint
if (count > 10) {
sender ! StopMessage
println("ping stopped")
context.stop(self)
} else {
sender ! PingMessage
}
}
}
class Pong extends Actor {
override def receive: PartialFunction[Any, Unit] = {
case PingMessage ⇒
println(" pong")
// sender ! PoisonPill
sender ! PongMessage
case StopMessage ⇒
println("pong stopped")
context.stop(self)
}
}
object PingPongTest extends App {
val system: akka.actor.ActorSystem = ActorSystem("PingPongSystem")
val pong: akka.actor.ActorRef = system.actorOf(Props[Pong], name = "pong")
val ping: akka.actor.ActorRef = system.actorOf(Props(new Ping(pong)), name = "ping")
// start them going
ping ! StartMessage
// Thread.sleep(10000)
// system.shutdown()
} On other examples it worked better. Not sure what the problem here is. |
Another example where nothing is shown: class SomeTestClass {
def foo(silent: Boolean) = {
(new Inner1).inner.foo()
}
private class Inner1 {
def inner = Inner
object Inner {
def foo(silent: Boolean = false): String =
"trala".nonEmpty.toString() // <- BREAKPOINT HERE
}
}
} Not sure if |
It is written o the top of Find Occurrences API. One field (caller offset) is added to lucent index. This field is used to build the hierarchy.
Fix #1000872