Skip to content

Commit be15c3f

Browse files
committed
don't modify file descriptor in code gen
1 parent 257b72f commit be15c3f

8 files changed

Lines changed: 2151 additions & 2219 deletions

File tree

lib/protobuf/code_generator.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
require 'active_support/core_ext/module/aliasing'
22
require 'protobuf/generators/file_generator'
33

4+
::Google::Protobuf::FieldDescriptorProto.module_eval do
5+
attr_writer :fully_qualified_name
6+
7+
def fully_qualified_name
8+
@fully_qualified_name || name
9+
end
10+
end
11+
412
module Protobuf
513
class CodeGenerator
614

lib/protobuf/generators/field_generator.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def label
7979
end
8080

8181
def name
82-
@name ||= descriptor.name.to_sym.inspect
82+
@name ||= descriptor.fully_qualified_name.to_sym.inspect
8383
end
8484

8585
def number

lib/protobuf/generators/file_generator.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def unknown_extensions
5959
message_klass = modulize(message_name).safe_constantize
6060
if message_klass
6161
unknown_fields = fields.reject do |field|
62-
@known_messages[message_name] && message_klass.get_field(field.name, true)
62+
@known_messages[message_name] && message_klass.get_field(field.fully_qualified_name, true)
6363
end
6464
[message_name, unknown_fields]
6565
else
@@ -94,7 +94,7 @@ def map_extensions(descriptor, namespaces)
9494

9595
descriptor.extension.each do |field_descriptor|
9696
unless fully_qualified_token?(field_descriptor.name) && fully_qualified_namespace
97-
field_descriptor.name = "#{fully_qualified_namespace}.#{field_descriptor.name}"
97+
field_descriptor.fully_qualified_name = "#{fully_qualified_namespace}.#{field_descriptor.name}"
9898
end
9999
@extension_fields[field_descriptor.extendee] << field_descriptor
100100
end

spec/support/protos/enum.pb.rb

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -102,29 +102,29 @@ class ::Test::Resource < ::Protobuf::Message
102102
ZXBlYXRlZF9lbnVtcxgGIAMoDjIRLnRlc3QuQWxpYXNlZEVudW1SEmFsaWFz
103103
UmVwZWF0ZWRFbnVtcyoqCgxFbnVtVGVzdFR5cGUSCAoEWkVSTxAAEgcKA09O
104104
RRABEgcKA1RXTxACKjwKC0FsaWFzZWRFbnVtEgkKBVRIUkVFEAMSCAoEVFJF
105-
UxADEggKBEZPVVIQBBIKCgZDVUFUUk8QBBoCEAE6VQoiLnRlc3QuZXh0X290
106-
aGVyX2ZpbGVfZGVmaW5lZF9maWVsZBIOLnRlc3QuUmVzb3VyY2UYyAEgASgF
107-
UhhleHRPdGhlckZpbGVEZWZpbmVkRmllbGRKmAgKBhIEAAAkAQoICgEMEgMA
108-
ABIKCAoBAhIDAgANCgkKAgMAEgMDAB8KQwoCBQASBAcACwEyNyBUZXN0IGV4
109-
dGVuZGluZyBhbm90aGVyIG1lc3NhZ2UgZnJvbSBhbiBpbXBvcnRlZCBmaWxl
110-
LgoKCgoDBQABEgMHBREKCwoEBQACABIDCAILCgwKBQUAAgABEgMIAgYKDAoF
111-
BQACAAISAwgJCgoLCgQFAAIBEgMJAgoKDAoFBQACAQESAwkCBQoMCgUFAAIB
112-
AhIDCQgJCgsKBAUAAgISAwoCCgoMCgUFAAICARIDCgIFCgwKBQUAAgICEgMK
113-
CAkKGgoCBQESBA4AFgEaDiBVc2VzIGFsaWFzZXMKCgoKAwUBARIDDgUQCgoK
114-
AwUBAxIDDwIcCgsKBAUBAwISAw8CHAoLCgQFAQIAEgMRAg0KDAoFBQECAAES
115-
AxECBwoMCgUFAQIAAhIDEQsMCgsKBAUBAgESAxICDQoMCgUFAQIBARIDEgIG
116-
CgwKBQUBAgECEgMSCwwKCwoEBQECAhIDFAINCgwKBQUBAgIBEgMUAgYKDAoF
117-
BQECAgISAxQLDAoLCgQFAQIDEgMVAg0KDAoFBQECAwESAxUCCAoMCgUFAQID
118-
AhIDFQsMCgoKAgQAEgQYACABCgoKAwQAARIDGAgXCgsKBAQAAgASAxkCLQoM
119-
CgUEAAIABBIDGQIKCgwKBQQAAgAGEgMZCxcKDAoFBAACAAESAxkYKAoMCgUE
120-
AAIAAxIDGSssCgsKBAQAAgESAxoCNwoMCgUEAAIBBBIDGgIKCgwKBQQAAgEG
121-
EgMaCxcKDAoFBAACAQESAxoYJAoMCgUEAAIBAxIDGicoCgwKBQQAAgEIEgMa
122-
KTYKDAoFBAACAQcSAxoyNQoLCgQEAAICEgMbAisKDAoFBAACAgQSAxsCCgoM
123-
CgUEAAICBhIDGwsXCgwKBQQAAgIBEgMbGCYKDAoFBAACAgMSAxspKgoLCgQE
124-
AAIDEgMdAjIKDAoFBAACAwQSAx0CCgoMCgUEAAIDBhIDHQsWCgwKBQQAAgMB
125-
EgMdFy0KDAoFBAACAwMSAx0wMQoLCgQEAAIEEgMeAj8KDAoFBAACBAQSAx4C
126-
CgoMCgUEAAIEBhIDHgsWCgwKBQQAAgQBEgMeFykKDAoFBAACBAMSAx4sLQoM
127-
CgUEAAIECBIDHi4+CgwKBQQAAgQHEgMeNz0KCwoEBAACBRIDHwIwCgwKBQQA
128-
AgUEEgMfAgoKDAoFBAACBQYSAx8LFgoMCgUEAAIFARIDHxcrCgwKBQQAAgUD
129-
EgMfLi8KCQoBBxIEIgAkAQoJCgIHABIDIwI0CgoKAwcAAhIDIgcUCgoKAwcA
130-
BBIDIwIKCgoKAwcABRIDIwsQCgoKAwcAARIDIxEtCgoKAwcAAxIDIzAz
105+
UxADEggKBEZPVVIQBBIKCgZDVUFUUk8QBBoCEAE6TwocZXh0X290aGVyX2Zp
106+
bGVfZGVmaW5lZF9maWVsZBIOLnRlc3QuUmVzb3VyY2UYyAEgASgFUhhleHRP
107+
dGhlckZpbGVEZWZpbmVkRmllbGRKmAgKBhIEAAAkAQoICgEMEgMAABIKCAoB
108+
AhIDAgANCgkKAgMAEgMDAB8KQwoCBQASBAcACwEyNyBUZXN0IGV4dGVuZGlu
109+
ZyBhbm90aGVyIG1lc3NhZ2UgZnJvbSBhbiBpbXBvcnRlZCBmaWxlLgoKCgoD
110+
BQABEgMHBREKCwoEBQACABIDCAILCgwKBQUAAgABEgMIAgYKDAoFBQACAAIS
111+
AwgJCgoLCgQFAAIBEgMJAgoKDAoFBQACAQESAwkCBQoMCgUFAAIBAhIDCQgJ
112+
CgsKBAUAAgISAwoCCgoMCgUFAAICARIDCgIFCgwKBQUAAgICEgMKCAkKGgoC
113+
BQESBA4AFgEaDiBVc2VzIGFsaWFzZXMKCgoKAwUBARIDDgUQCgoKAwUBAxID
114+
DwIcCgsKBAUBAwISAw8CHAoLCgQFAQIAEgMRAg0KDAoFBQECAAESAxECBwoM
115+
CgUFAQIAAhIDEQsMCgsKBAUBAgESAxICDQoMCgUFAQIBARIDEgIGCgwKBQUB
116+
AgECEgMSCwwKCwoEBQECAhIDFAINCgwKBQUBAgIBEgMUAgYKDAoFBQECAgIS
117+
AxQLDAoLCgQFAQIDEgMVAg0KDAoFBQECAwESAxUCCAoMCgUFAQIDAhIDFQsM
118+
CgoKAgQAEgQYACABCgoKAwQAARIDGAgXCgsKBAQAAgASAxkCLQoMCgUEAAIA
119+
BBIDGQIKCgwKBQQAAgAGEgMZCxcKDAoFBAACAAESAxkYKAoMCgUEAAIAAxID
120+
GSssCgsKBAQAAgESAxoCNwoMCgUEAAIBBBIDGgIKCgwKBQQAAgEGEgMaCxcK
121+
DAoFBAACAQESAxoYJAoMCgUEAAIBAxIDGicoCgwKBQQAAgEIEgMaKTYKDAoF
122+
BAACAQcSAxoyNQoLCgQEAAICEgMbAisKDAoFBAACAgQSAxsCCgoMCgUEAAIC
123+
BhIDGwsXCgwKBQQAAgIBEgMbGCYKDAoFBAACAgMSAxspKgoLCgQEAAIDEgMd
124+
AjIKDAoFBAACAwQSAx0CCgoMCgUEAAIDBhIDHQsWCgwKBQQAAgMBEgMdFy0K
125+
DAoFBAACAwMSAx0wMQoLCgQEAAIEEgMeAj8KDAoFBAACBAQSAx4CCgoMCgUE
126+
AAIEBhIDHgsWCgwKBQQAAgQBEgMeFykKDAoFBAACBAMSAx4sLQoMCgUEAAIE
127+
CBIDHi4+CgwKBQQAAgQHEgMeNz0KCwoEBAACBRIDHwIwCgwKBQQAAgUEEgMf
128+
AgoKDAoFBAACBQYSAx8LFgoMCgUEAAIFARIDHxcrCgwKBQQAAgUDEgMfLi8K
129+
CQoBBxIEIgAkAQoJCgIHABIDIwI0CgoKAwcAAhIDIgcUCgoKAwcABBIDIwIK
130+
CgoKAwcABRIDIwsQCgoKAwcAARIDIxEtCgoKAwcAAxIDIzAz

0 commit comments

Comments
 (0)