aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/csharp/csharp_helpers.h
Commit message (Collapse)AuthorAge
* Support custom options in C#Gravatar Jon Skeet2017-01-19
| | | | | | | | | | | | This consists of: - Changing the codegen for the fixed set of options protos, to parse unknown fields instead of skipping them - Add a new CustomOptions type in the C# support library - Expose CustomOptions properties from the immutable proto wrappers in the support library Only single-value options are currently supported, and fetching options values requires getting the type right and knowing the field number. Both of these can be addressed at a later time. Fixes #2143, at least as a first pass.
* Attempt to fix AppVeyor build by exporting GetEnumValueNameGravatar Jon Skeet2016-04-20
|
* Add C# codegen changes to enum value names (mostly C++)Gravatar Jon Skeet2016-04-20
| | | | | | | | | | Overview of changes: - A new C#-specific command-line option, legacy_enum_values to revert to the old behavior - When legacy_enum_values isn't specified, we strip the enum name as a prefix, and PascalCase the value name - A new attribute within the C# code so that we can always tell the original in-proto name Regenerating the C# code with legacy_enum_values leads to code which still compiles and works - but there's more still to do.
* Line-wrapping changes only for C# generator codeGravatar Jon Skeet2016-04-06
| | | | | | | | This should have no behavioral changes at all. This doesn't strictly enforce an 80-column limit, but removes the most egregious violations. The indentation in the C# generator code is inconsistent in general, unfortunately - if we have any good tools that can be trusted to reformat, I'd be happy to apply them.
* Added access_level for typesGravatar Gaurav Vaish2016-04-05
| | | | | | | | | | | * `csharp_options`: Added `Options` to encapsulate generator options. Supported options for now - file_extension, base_namespace * `{Blah}Generator`: Now accept `Options*` as parameter to constructor * `csharp_generator.cc`: Parse and populate options * `Makefile.am`: Added `csharp_options.h` * `extract_includes.bat.in`: Added `csharp_options.h` Refactoring code to two commits. This is the first commit
* Rename "umbrella" to "reflection" consistently.Gravatar Jon Skeet2015-11-19
| | | | This changes csharp_names.h, which will require a corresponding change in GRPC.
* expose GetOutputFile in csharp_names.hGravatar Jan Tattermusch2015-09-23
|
* Remove vestigial reference to MakeFixedTagGravatar Jon Skeet2015-09-01
|
* Change where we rename Descriptor.cs to DescriptorProtoFile.cs.Gravatar Jon Skeet2015-08-25
| | | | | | | | | | | We now do this in protoc instead of the generation simpler. Benefits: - Generation script is simpler - Detection is simpler as we now only need to care about one filename - The embedded descriptor knows itself as "google/protobuf/descriptor.proto" avoiding dependency issues This PR also makes the "invalid dependency" exception clearer in terms of expected and actual dependencies.
* Allow public access to descriptor.proto as a dependency.Gravatar Jon Skeet2015-08-13
| | | | | With this in place, generating APIs on github.com/google/googleapis works - previously annotations.proto failed. Currently there's no access to the annotations (stored as extensions) but we could potentially expose those at a later date.
* refactor umbrella class helpersGravatar Jan Tattermusch2015-07-30
|
* Revamp to reflection.Gravatar Jon Skeet2015-07-21
| | | | | | | | | | | | | | | | | Changes in brief: 1. Descriptor is now the entry point for all reflection. 2. IReflectedMessage has gone; there's now a Descriptor property in IMessage, which is explicitly implemented (due to the static property). 3. FieldAccessorTable has gone away 4. IFieldAccessor and OneofFieldAccessor still exist; we *could* put the functionality straight into FieldDescriptor and OneofDescriptor... I'm unsure about that. 5. There's a temporary property MessageDescriptor.FieldAccessorsByFieldNumber to make the test changes small - we probably want this to go away 6. Discovery for delegates is now via attributes applied to properties and the Clear method of a oneof I'm happy with 1-3. 4 I'm unsure about - feedback welcome. 5 will go away 6 I'm unsure about, both in design and implementation. Should we have a ProtobufMessageAttribute too? Should we find all the relevant attributes in MessageDescriptor and pass them down, to avoid an O(N^2) scenario? Generated code changes coming in the next commit.
* Merge pull request #611 from jskeet/csharp-wrappersGravatar Jon Skeet2015-07-17
|\ | | | | C# wrapper types
* \ Merge pull request #586 from jtattermusch/csharp_names_exportGravatar Jan Tattermusch2015-07-16
|\ \ | | | | | | Export c# naming routines publicly
| | * First part of implementing wrapper types. Not ready yet!Gravatar Jon Skeet2015-07-16
| |/ |/|
* | Don't create nested types (or field accessors) for map types.Gravatar Jon Skeet2015-07-15
| | | | | | | | I'm sure I've implemented this before, but somehow it's been lost in a maze of twisty little branches, all alike.
* | Convert package name to PascalCase for C# namespaceGravatar Jon Skeet2015-07-14
| | | | | | | | Fixes issue 312.
| * export c# naming routines publiclyGravatar Jan Tattermusch2015-07-10
|/
* Codegen changes to support descriptor runtime changesGravatar Jon Skeet2015-07-09
| | | | | | - Add a partial method called by all constructors - Generate internal classes for descriptor.proto (only) - Forbid proto2 descriptors except for descriptor.proto
* Remove unused code in C# codegenGravatar Jon Skeet2015-06-30
|
* Revert the change to wire_format.h.Gravatar Jon Skeet2015-06-24
| | | | | It seems too much code relies on the broken behaviour. See issue #493. Instead, we reimplement MakeTag just for C#, temporarily.
* Field Presence: remove has methods for optional non-message fields in proto3Gravatar Jie Luo2015-04-27
|
* Rewrote C# protogen to C++ (initial version)Gravatar Jan Tattermusch2015-03-26