If you're looking for information on JDT APIs you'd better start from visiting [http://help.eclipse.org/indigo/index.jsp?nav=/3 JDT Core] section in Eclipse Help. You can also check [https://github.com/aupsy/org.eclipsecon2012.misc.tutorial/blob/master/Slides/How%20To%20Train%20the%20JDT%20Dragon%20combined.ppt How to Train the JDT Dragon] presentation by Ayushman Jain and Stephan Herrmann. Instructions for the tutorial can be found [https://github.com/aupsy/org.eclipsecon2012.misc.tutorial/tree/master/Handouts here].

+

If you're looking for information on JDT APIs you should start by visiting the [http://help.eclipse.org/indigo/index.jsp?nav=/3 JDT Core] section in Eclipse Help. You can also check [https://github.com/aupsy/org.eclipsecon2012.misc.tutorial/blob/master/Slides/How%20To%20Train%20the%20JDT%20Dragon%20combined.ppt How to Train the JDT Dragon] presentation by Ayushman Jain and Stephan Herrmann. Instructions for the tutorial can be found [https://github.com/aupsy/org.eclipsecon2012.misc.tutorial/tree/master/Handouts here].

If the answer to your question is neither there nor here, [http://wiki.eclipse.org/JDT/FAQ#If_your_question_is_not_answered_above ask the question].

If the answer to your question is neither there nor here, [http://wiki.eclipse.org/JDT/FAQ#If_your_question_is_not_answered_above ask the question].

* Names of declaration and references of JavaElements used in the file are stored in the index

+

* First stored in Memory and then goes into the Disk

+

** In Memory “fileName->category->names”

+

** In Disk “Category->names->fileName”

+

* For jars, .class files are read (even if source is available)

+

* References are read from the constant pool

+

+

=== Precise and non-precise matches ===

+

+

If there is a search result for the given pattern, but a problem (e.g. errors in code, incomplete class path) occurred, the match is considered as [http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchMatch.java#n47 inaccurate].

+

+

Inaccurate matches used to be called [http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/IJavaSearchResultCollector.java#n60 potential] matches and as such can still be seen in the [http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests2.java tests] and tracing messages.

=== Using the APIs, an example ===

=== Using the APIs, an example ===

Line 51:

Line 76:

== AST ==

== AST ==

Precise, fully resolved compiler parse tree.

Precise, fully resolved compiler parse tree.

+

+

= Tests =

+

+

== Unit tests ==

+

+

To run unit tests follow the instructions under [[JDT_Core_Committer_FAQ#Unit_Testing]].

+

+

New Java Search tests should be added to [http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests2.java JavaSearchBugsTests2].

+

+

== Performance tests ==

+

+

To run performance tests you need to have the following projects in your workspace:

+

+

*org.eclipse.jdt.core.tests.performance

+

*org.eclipse.jdt.core.tests.binaries

+

*org.eclipse.test.performance

+

*org.eclipse.test.performance.win32 (if you're on Windows)

+

+

More info about obtaining the JDT/Core source code can be found here: [[JDT_Core_Committer_FAQ#Where_is_the_JDT.2FCore_code.3F]].

+

+

Useful VM arguments:

+

*-Dmeasures=1 to reduce number of measurements to 1, default is 10

+

*-Dprint=true to print more test details on the console

+

*-Ddebug=true to print debug info on the console

[[Category:JDT]]

[[Category:JDT]]

Revision as of 20:03, 24 August 2012

Draft ContentThis page is currently under construction. Community members are encouraged to maintain the page, and make sure the information is accurate.

Contents

Overview

The purpose of this document is give insight into JDT Core internals.

If you're looking for information on JDT APIs you should start by visiting the JDT Core section in Eclipse Help. You can also check How to Train the JDT Dragon presentation by Ayushman Jain and Stephan Herrmann. Instructions for the tutorial can be found here.