Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Experimental options controlling Dart code generation. | 1 // Experimental options controlling Dart code generation. |
| 2 syntax = "proto2"; | 2 syntax = "proto2"; |
| 3 | 3 |
| 4 package dart_options; | 4 package dart_options; |
| 5 | 5 |
| 6 // This file must be modified for google internal use, | 6 // This file must be modified for google internal use, |
| 7 // because custom options only work when the package name | 7 // because custom options only work when the package name |
| 8 // agrees with the version of protoc we are using. | 8 // agrees with the version of protoc we are using. |
| 9 // (The import statement and "google.protobuf." prefix need to be changed.) | 9 // (The import statement and "google.protobuf." prefix need to be changed.) |
| 10 | 10 |
| 11 import "descriptor_2_5_opensource.proto"; | 11 import "descriptor_2_5_opensource.proto"; |
| 12 | 12 |
| 13 // A mixin to be applied in the 'with' clause of a generated proto in dart. | |
| 14 message DartMixin { | |
| 15 // Class name of the mixin class. | |
| 16 optional string name = 1; | |
| 17 | |
| 18 // File from which the mixin class is imported. | |
| 19 // The generated Dart code will use this in an import statement. | |
| 20 optional string import_from = 2; | |
| 21 | |
| 22 // Used to apply multiple mixins to a proto. | |
| 23 // The mixin listed in parent will always be applied before this one, | |
| 24 // making the generated proto implement both mixins. | |
| 25 optional string parent = 3; | |
| 26 } | |
| 27 | |
| 13 extend google.protobuf.FileOptions { | 28 extend google.protobuf.FileOptions { |
| 14 | 29 |
| 30 // Defines the named mixins to be used on messages in this file. | |
| 31 // These mixins are in addition to internally defined mixins (e.g PbMapMixin) | |
| 32 // and may override them. | |
|
skybrian
2016/06/22 20:29:53
Need a warning here: there is no error-checking fo
frederikmutzel
2016/06/23 12:30:16
Done.
| |
| 33 repeated DartMixin mixins = 28125061; | |
| 34 | |
| 15 // Applies the named mixin to all messages in this file. | 35 // Applies the named mixin to all messages in this file. |
| 16 // (May be overridden by the "mixin" option on a message.) | 36 // (May be overridden by the "mixin" option on a message.) |
| 17 // For now, "PbMapMixin" is the only available mixin. | 37 // For now, "PbMapMixin" is the only available mixin. |
| 18 optional string default_mixin = 96128839; | 38 optional string default_mixin = 96128839; |
| 19 } | 39 } |
| 20 | 40 |
| 21 extend google.protobuf.MessageOptions { | 41 extend google.protobuf.MessageOptions { |
| 22 | 42 |
| 23 // Applies the named mixin. | 43 // Applies the named mixin. |
| 24 // For now, "PbMapMixin" is the only available mixin. | 44 // For now, "PbMapMixin" is the only available mixin. |
| 25 // The empty string can be used to turn off mixins for this message. | 45 // The empty string can be used to turn off mixins for this message. |
| 26 optional string mixin = 96128839; | 46 optional string mixin = 96128839; |
| 27 } | 47 } |
| 28 | 48 |
| 29 extend google.protobuf.FieldOptions { | 49 extend google.protobuf.FieldOptions { |
| 30 | 50 |
| 51 // Specifies a field to override getters/setters from the inherited mixin. | |
|
skybrian
2016/06/22 20:29:53
I don't see any implementation of "override" - tha
frederikmutzel
2016/06/23 12:30:16
Right, removed for now.
| |
| 52 optional bool override = 28205290; | |
| 53 | |
| 31 // Uses the given name for getters, setters and as suffixes for has/clear | 54 // Uses the given name for getters, setters and as suffixes for has/clear |
| 32 // methods in the generated Dart file. Should be lowerCamelCase. | 55 // methods in the generated Dart file. Should be lowerCamelCase. |
| 33 optional string dart_name = 28700919; | 56 optional string dart_name = 28700919; |
| 34 } | 57 } |
| OLD | NEW |