Reworked the Scala debugger so it doesn't use the JDT debugger to communicate with the VM. A new launch delegate is added to the Scala application launch configuration type. It creates a ScalaDebugTarget from the JDI connection to the vm. Added a breakpoint manager, to create and delete the JDI requests needed. Added a JDI event dispatcher, to pull the events from the JDI event queue and forwarding them to the interested parties. The management of the events and of the state of the debug elements is base on Scala actors. Removed the debug preference page Improved the access modifiers Fix #1001130
No bash script needed anymore. Everything is managed through maven. The new pom at in root folder contains version information and general configuration. org.scala-ide.build-toolchain is the root of the toolchain part org.scala-ide.sbt.build is the root of the sdt part The version numbers of some plugins has been upgraded The downloaded libs have been moved to the target/lib folders, to simplify the clean up process. The first time, run './build-all.sh (or './build-all.sh install -P scala-2.10.x' for 2.10) from the root to generate an initial build and install the top pom locally. Then use maven from any project or subproject. Use the scala-2.10.x profile ('-P scala-2.10.x') to compile the 2.10 version. Re #1001056
When we updated the AJDT p2 repository we use to build the IDE (SHA: a50171a), we forgot to also change the Equinoxe Weaving Hook version number that is hardcoded in both core.tests and debug.tests POMs. We didn't notice this up until now simply because the old Equinoxe Weaving Hook was cached by maven in the local .m2 repository. Indeed, the build did start to fail after the maven local cache was deleted.
Extending the IIndexedValue interface allow to get the free support for large containers. If needed, the elements of arrays are grouped by 100, 10000, 1000000, ... Fix #1001009
… flag is no longer on all the time.
…ing project.version in place of version
Added some comments and cleaned style. Switch management of Eclipse Debug Event to use extractors. Made ScalaStepOver use the find anon func methods from ScalaDebugTarget. Made some stepping tests less fragile. Created stepping tests for bridge method optimisation, and enabled test without optimization. Added Scala 2.10 vs 2.09 check in debug session.
Added check to avoid abstract methods in anon func search Switch to actors to manage debug events Sorted object reference fields by name Added support for thread suspend Fixed problem where main thread was appearing twice. Fixed debug session hanging. All requests to the VM needs to be set to THREAD_ONLY suspend policy 'this' reference is not available for native methods Copy of the JDT TcpIpSpy with a fix for ReferenceType#MethodsWithGeneric Disable step over tests for collection of Ints, due to SI-5646 problem
Added display of boxed values for boxing types Added a tweak for a JDT bug. Added support for step into and out actions. Improved the test framework so it is more resilient Fixed some stack traces thrown when program was terminating Updated source locator to work with any type using file search and type search. Fixed problem with smart step over in method without line information. * Reworked the code to use only one list of jdi requests Fetch local variable value right await, as the stack frame can become invalid at any time. Changed the way the method signature for the stackframe label is generated * MethodReference@argumentTypes can fail, especially when debug osgi application. * MethodReference#getArguments can fail too, for native methods * Uses the method JNI signature to create a method name. Send the right event on resume. Handle null thread group Logic for can resume was reversed
It is enable using a checkbox in the preferences. It replaces the Java based debug elements by the Scala ones. Only terminate and improved step over actions are supported right now. None of the labels are fine. There are likely a lot of bug and other missing things. I'll create some doc about it on the website.