Bug 289798

Summary: Investigate alternate evaluation engine
Product: [Eclipse Project] JDT Reporter: Darin Wright <darin.eclipse>
Component: DebugAssignee: Sarika Sinha <sarika.sinha>
Status: ASSIGNED --- QA Contact:
Severity: enhancement    
Priority: P3 CC: daniel_megert, Michael_Rennie, sarika.sinha
Version: 3.6   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
patch
none
updates
none
Alternate AST Evaluation Engine old patch modified for 4.5 stream none

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.