Added X-Reference support for ArrayModifiers and Exception Specifications.
Fixed Bug 41551 - HandleInclusion always throws ScannerException on local includes.
TESTS
Added CompleteParseASTTest::testArrayModExpression(), testPointerVariable() &
testExceptionSpecification().
Added constructor expression support for variables.
Added constructor chain x-reference support for methods.
TESTS
Added testBug41520() to FullParseFailedTests.java.
Added testConstructorChain() to CompleteParseASTTest.java
Added Expression x-reference support into Parser.
TESTS
Added testSimpleExpression(), testParameterExpressions() &&
testNestedNamespaceExpression() to CompleteParseASTTest.java.
In order to work through CExtensionPoint mechanism, I have to change the
existing extension point entries for the Managed and Standard builders to
the following (all future builders will have to conform to this as well):
<extension
id="ManagedBuildManager"
point="org.eclipse.cdt.core.ScannerInfoProvider">
<cextension>
<run
class="org.eclipse.cdt.core.build.managed.ManagedBuildManager">
</run>
</cextension>
</extension>
<extension
id="StandardBuildManager"
point="org.eclipse.cdt.core.ScannerInfoProvider">
<cextension>
<run
class="org.eclipse.cdt.core.build.standard.StandardBuildManager">
</run>
</cextension>
</extension>
As well, the ManagedBuildManager and StandardBuildManager must extend
AbstractCExtension.
The new project wizards for managed and standard projects have to be
modified to register the right class as the scanner info providers for the
project. The example below shows the managed project wizard code, but the
standard project wizard is similar.
try {
ICDescriptor desc =
CCorePlugin.getDefault().getCProjectDescription(project);
desc.remove(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID);
desc.create(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID,
ManagedBuildManager.INTERFACE_IDENTITY);
} <snip>
Clients use a new method defined in CCorePlugin
public IScannerInfoProvider getScannerInfoProvider(IProject project) {
IScannerInfoProvider provider = null;
if (project != null) {
try {
ICDescriptor desc = (ICDescriptor)
getCProjectDescription(project);
ICExtensionReference[] extensions =
desc.get(BUILD_SCANNER_INFO_UNIQ_ID);
if (extensions.length > 0)
provider = (IScannerInfoProvider)
extensions[0].createExtension();
} catch (CoreException e) {
}
}
return provider;
}
to get the information provider as shown in the updated JUnit test code
below:
// Find the first IScannerInfoProvider that supplies build info for the
project
IScannerInfoProvider provider =
CCorePlugin.getDefault().getScannerInfoProvider(project);
assertNotNull(provider);
As is the case now, clients implement the IScannerInfoChangeListener
interface and pass themselves to the provider in a subscription message.
There is also a new method on the IScannerInfoProvider interface that
allows the client to get information immediately as shown below:
IScannerInfo currentSettings = provider.getScannerInformation(project);
The ManagedBuildManager::getScannerInfo(IResource) method will be
deprecated, then removed before the end of this release cycle.
Hi,
This patch updates code completion to use search. It also includes my previous patch which enabled the class wizard to use search as well.
Current Code Completion has the following restrictions:
- It will only work within the scope of a function or a method.
-It will look for globals (variables, functions, classes, strucs, unions, enumerations, and macros).
-In the scope of a method, it will also look for the methods and fields that belong to the owner class of this method.
- It will NOT search the parent classes of the method in the method scope case.
- It will NOT de-reference after a "." or an "->"
Added Complete Parse support for ASM Definitions.
Added isVolatile() to abstract declarations.
Added Complte Parse support for elaborated types / forward declaration of classes.
Fixed some robustness issues.
TESTS
Cleaned up Junit parser-related tests so that failed tests are now expected failures w/defects associated with them.
Updated CompleteParseTests for forward declaration/elaborated types.
Added Search/ParseTestOnSearchFiles to AutomatedSuite.
Updated Search tests to workaround bug 41445.
This patch contains a fix for bug 41274 in the core; library entries in
the build property pages were not being saved by the build model manager.
It also contains a bunch of fixes for minor problems in the UI. I added a
new target for building DLLs on Cygwin. The zip file adds a new icon for
configurations in the tree view of the build property page for managed
builds. Now the tool uses the tool icon and the category uses the new
category icon.
The list editor will better fit a page with space-grabbing widgets in
different columns. For example, the default list field editor puts the
list in the left column and allows it to grab all excess space. Entry
fields put the label in the left and the space-grabbing entry field/combo
box in the right. The layout manager then gives both left and right
columns equal space in that case. By wrapping the list field editor in a
group control that spans both columns, the layout manager allocates enough
space for controls in the right-hand column. It also lays out the contents
of the list field editor inside the group control independently of the
outer container, so it looks right too. Also added a double-click event
handler so users can edit list elements. All in all, this makes the list
widget work better.
I re-activated the summary field editor class (it's alive!). It still does
not behave quite right in terms of showing the command line summary, but
that functionality will be added shortly.
Finally, the build property page is being resized for large pages. It is
still possible to specify categories with too many options to display,
even with the new resize. This will have to be a documented limitation, or
we will have to add a vertical scroll bar for pages that are too large.
core :
- add function parameter information to search results
ui:
- modified Search result sorting to sort by offset if the label is the
same for two items
Put in Indexer shut down which cleans up the .metadata directory of any suspicious looking index files
Put in CSearchScope changes (in both UI and core) to enable working set searches