NightOwl888 opened a new issue, #715:
URL: https://github.com/apache/lucenenet/issues/715

   Anonymous classes are suffixed `AnonymousClass`.
   
   In Java, [anonymous 
classes](https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html)
 are declared inline, so there is no other code that can interact with them.
   
   However, many of these classes (such as [this 
example](https://github.com/apache/lucenenet/blob/b6cf28b78c85f33e66d89abe399c4523dd41dc80/src/Lucene.Net.Misc/Index/Sorter/BlockJoinComparatorSource.cs#L102))
 have methods, fields, and properties that are marked `internal`. `internal` 
was chosen because in Lucene it is common to leave off an accessibility 
modifier.
   
   - In Java, if there is no accessibility modifier, the accessibility defaults 
to `package-private`, which is similar to `internal`.
   - In .NET, if there is no accessibility modifier, the accessibility defaults 
to `private`.
   
   However, in an anonymous class, `package-private` accessibility is not 
sensible. It has the same effect as declaring the member `private`.
   
   Therefore, all methods, fields, and properties of anonymous classes can be 
changed to `private` and we should leave a comment indicating that the change 
was made.
   
   ```// LUCENENET: changed accessibility from internal to private```
   
   There may be exceptions in cases where members were added to make testing 
easier, so those may need to remain `internal`. A compile can quickly identify 
members that should be left alone.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@lucenenet.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to