[ 
https://issues.apache.org/jira/browse/LUCENENET-446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prescott Nasser updated LUCENENET-446:
--------------------------------------

    Attachment: Lucene2.9.4-CLS-partial-fix

This is a partial fix (it will allow Lucene to build, but there are infinite 
loops) - however, it has horrible conseqenses and should not be used.

Here's the jist of what's been done in this patch:
- uint (UInt32) -> Int64 (long)
- sbyte -> Int16 (short)
There are a few sbyte values left, but it's relating to the FieldCacheImpl and 
used as a key in the dictionary (as a string value) so this should be fine

- Const fields cannot have _ as first character, removed _ and appended 
internal or protected to the name if neccessary

- Volatile, is CLS complaint, but mostly only non CLS Compliant fields can be 
marked as volatile (exception int). Most fields were uint and sbyte, so those 
were
changed to the .net cls compliant version, and locks were put in where more 
than a single read or write to these variables was occuring

- Differing only in case is not CLS Compliant. I appended internal (or 
protected if the field was not marked as internal) to field definitions

Issues:
- ulong (UInt64) -> decimal, Lucene.Net.QueryParsers.QueryParserTokenManager 
didn't like a lot of the Decimal conversions, so I didn't make the ulong -> 
decimal type change.
Oddly, there are no CLS compliance warnings from the ulongs here.

- Lucene.Net.QueryParsers.QueryParser.Term - differing only in case - but 
couldn't find the other term with different case
- Lucene.Net.Search.TopDocs.scoreDocs and ScoreDocs - I could not adjust these, 
without changing the public interface for Luncene.Net
- Lucene.Net.Search.TopDocs.totalHits and TotalHits - same issue as ScoreDoc
- Lucene.Net.Search.Similarity idfExplain() and IdfExplain - same issue as 
ScoreDoc

                
> Make Lucene.Net CLS Compliant
> -----------------------------
>
>                 Key: LUCENENET-446
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-446
>             Project: Lucene.Net
>          Issue Type: Task
>          Components: Lucene.Net Core
>    Affects Versions: Lucene.Net 2.9.4
>            Reporter: Prescott Nasser
>         Attachments: Lucene2.9.4-CLS-partial-fix
>
>
> Make Lucene.Net CLS Compliant

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to