Change history
This release mostly updated the CSharp resolver to resolve references. Hyperlinks now works for method
references, with overload resolution, in most cases. Also added CSharpTypeHierarchyView ,
which however is mostly untested.
Note that these features require projects with the sf.blacksun.csharp.model.csharpnature
to work properly since they depends on the build paths setttings. Obviously, the source code for the
libraries (eg. the corlib ) need to be indexed in order for the resolver to resolve
references to them. This can be done by setting up a CSharp project for the libraries. The indexer and
resolver currently only works for source code, indexing and resolving to binary libraries are not yet
supported.
While the csharp resolver starts being usable/useful, be warned that it is still in
early stage, lots of code are quite sloppy and lots features are not yet completed.
NOTE: The csharp indexer database schema is changed, so any old index databases need to be regenerated.
Also since the plugins has configuration changes, start with --clean option once or at
least disable the black-sun plugins, restart, enable the plugins again and restart to make
sure old configuration data are flushed. In case of any doubt, try starting from a clean workspace (ie.
with .metadata directory).
General
blacksun.eclipse.model
blacksun.csharp.model
blacksun.csharp.ui
- NEW - Added
CSharpTypeHierarchyView .
csharp-editor
- NEW - Hyperlinks now works, most of the time, for method references and generic types. There
are also massive refactoring and update of the csharp resolver in the
llk-csharp-model
project. See the release notes for llk-csharp-model in the LLK
project here for
details. Here is an abstract for your convenient:
- NEW - There has been lots of refactoring and update to the
CSharp resolver and related code in the related projects. It now resolve method references
properly, most of the time.
- NEW - Added format options to add space before parameters and
arguments.
- NEW - Added format options for whether to break before open brace in
accessors, property and indexer delarations.
- CHANGE - Method signature now get a space before
'(' .
- CHANGE - The format option defaults are changed.
- CHANGE - Now use
'+' instead of '/' as inner
type signature separator.
- CHANGE - Index database schema is changed.
- FIXED - Problem with formatting of indexer declaration.
- FIXED - Updated unicode character set for
IdentifierStart ,
IdentifierPart and SPACES in CSharpLexer according to C# 2.0 spec..
- FIXED - Ambiguity resolution between type arguments and relational
operation as described in C# 2.0 spec. 9.2.3.
- FIXED - Ambigurity resolution between
CastExpression and
ParenthesizedExpression .
- FIXED - CSharpLexer now allow unicode escaped sequences as
IdentifierStart and IdentifierPart according to C# 2.0 spec.
- FIXED - CSharp formatter to allow for spaces between
'#'
and preprocessor directives.
- TODO - Many less used features, eg. partial types,
attributes, delegate overload resolution, visibility resolution, user defined conversions, operator
overloading, type inference ... etc., just to name a few, are not yet properly handled in the
resolver.
- NEW - Added
OpenTypeHierarchyAction which opens a CSharpTypeHierarchyView .
- NEW - CSharpEditor outline page now has items for namespace imports.
- CHANGE - CSharp resolver is now always enabled, the enable/disable preference is removed.
- FIXED - Local references and target locations are now tracked and remain valid during minor editing
and before model is recreated. The code model is not recreated on editing due to efficiency constraint.
To force recreation of the code model, use the refresh action in the outline page, the format action or
save.
eclipse.builder and eclipse.builder.fireant
- NEW -
FireantBase now define -DECLIPSE_HOME=<eclipse-install-dir> when
invoking fireant builders. WorkspaceBase in the fireant-optional project now
try the ECLIPSE_HOME system property if the ECLIPSE_HOME environment variable
is not defined or not pointing to a valid directory.
- CHANGE -
FireantProjectBuilder and IncrementalFireantProjectBuilder now
assume builder class, if not specified in the .project builder spec., is the outer class
of the specified target class. Thus the builder key is now optional.
eclipse.editors
- FIXED - Format action now check that marker exists before trying to delete format markers, to avoid
triggering workspace delta uneccessarily.
LLKEditor
- FIXED - Hyperlink for treeparser rule now works even if the treeparser grammar
do not generate AST, provided the treeparser rule specify (implicitly or explicitly) a node
descriptor.
CSSEditor
- NEW - CSSEditor finally get an outline page.
XML11Editor
HTML4Editor
XHtml10Editor
FixedFontEditor
eclipse.jdt
- FIXED - JDT editor history action coolbar not appear even if enabled.
util
- Added
CLIOptions class which is a wrapper around CLIUtil
to further abstract command line processing.
fireant
See change history for the fireant project here for details.
llk
See change history for llk-share , llk-share-formatter and llk-csharp-model , ... etc. from the LLK project, see LLK v0.7.0 project
release notes here for details.
Requirement to run
- This release is developed with
Eclipse 3.2 . It is also tested briefly with
Eclipse 3.1.2 and Eclipse 3.2.1 .
- See also release notes for v0.9.1
for other dependency.
Running the binary
- See also release note for v0.9.1 for
details.
- See also release note for v0.9.1 for
details.
|