Bug 289798 - Investigate alternate evaluation engine
Summary: Investigate alternate evaluation engine
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.6   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Sarika Sinha CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-17 17:21 EDT by Darin Wright CLA
Modified: 2015-05-15 07:36 EDT (History)
3 users (show)

See Also:


Attachments
patch (26.25 KB, patch)
2009-09-17 17:21 EDT, Darin Wright CLA
no flags Details | Diff
updates (53.55 KB, patch)
2009-09-18 14:47 EDT, Darin Wright CLA
no flags Details | Diff
Alternate AST Evaluation Engine old patch modified for 4.5 stream (55.02 KB, application/octet-stream)
2014-07-07 07:34 EDT, Sarika Sinha CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Darin Wright CLA 2009-09-17 17:21:49 EDT
Created attachment 147496 [details]
patch

Investigate using IJavaProject's evaluation context/class files for debugger
evaluations. In the past we have not used this approach for evaluations, since
class files cannot be physically deployed to remote targets (and we have no
idea where class loaders will look for classes).

The attached experiment uses JDI to load & resolve classes in the target VM as
deployed by a Java project's evaluation context. It looks promising.
Comment 1 Darin Wright CLA 2009-09-18 14:47:45 EDT
Created attachment 147589 [details]
updates

This patch fills in more of the blanks. There are some remaining issues:

1) Evaluations in the context of an array as 'this' no longer work.
2) Evaluations in the context of a java.* do not work (as we attempt to define/load new classes in the java.* packages which results in a security exception).
3) Evaluations have stricter visibility rules - since the compiler will only generate byte codes for things that are allowed (for example, it won't allow us to call a protected method on a type unless we are actually a subtype...)
Comment 2 Dani Megert CLA 2012-08-02 11:35:01 EDT
This might be investigated along with the changes needed to support Java 8.
Comment 3 Sarika Sinha CLA 2014-07-07 07:34:49 EDT
Created attachment 244852 [details]
Alternate AST Evaluation Engine old patch modified for 4.5 stream

Attaching the old patch modified for 4.5 stream .

Will investigate further on this.