• Sydney Acksman's avatar
    C# Proto2 feature : Extensions (#5350) · 9e89b6e7
    Sydney Acksman authored
    * Compiler changes (extensions)
    
    * Generated changes (extensions)
    
    * Library changes (extensions)
    
    * Adjusted a summary to indicate ContainingType can be null for extensions
    
    * Compiler changes (custom option review + access level review)
    
    * Generated code changes (custom options + access review)
    
    * Library changes (custom options + access review)
    
    * Support C# 6 with library changes
    
    * Access HasValue by property
    
    * Set access level of all extension classes to internal (revert in next PR)
    
    * Added null checks to custom options
    
    * Rebase on master and regenerate Conformance
    
    * Removed second dictionary from ExtensionSet
    
    * Rebased compiler changes
    
    * Rebased generated code changes
    
    * Rebased library changes + review changes
    
    * Add more safety checks to extension accessors
    
    * Remove instances where extension sets were unnecessarily allocated
    
    * Remove cleared items from sets
    Empty sets are now made null
    IExtensionMessage -> IExtendableMessage
    
    * Remove dead code from IExtensionValue impls
    
    * Clean both repeated and single value extensions
    
    * Add GetOrRegister method for repeated fields and allow clearing repeated extensions
    
    * Add type safe ClearExtension methods, remove non-generic IExtendableMessage interface.
    
    * Simplify ExtensionSet.TryMergeFieldFrom
    
    * Rebase on master to resolve conflicts
    
    * Fix Makefile.am
    
    * Add ObjectIntPair to Makefile.am
    9e89b6e7
BenchmarkMessage1Proto3.cs 61 KB