public void AddField(FieldDesc field) { RegisteredField reg = GetRegisteredField(field); if (reg.IncludedInCompilation) { return; } reg.IncludedInCompilation = true; if (_options.IsCppCodeGen) { // Precreate name to ensure that all types referenced by signatures are present GetRegisteredType(field.OwningType); GetRegisteredType(field.FieldType); } }
internal RegisteredField GetRegisteredField(FieldDesc field) { RegisteredField existingRegistration; if (_registeredFields.TryGetValue(field, out existingRegistration)) { return(existingRegistration); } RegisteredField registration = new RegisteredField() { Field = field }; _registeredFields.Add(field, registration); GetRegisteredType(field.OwningType); return(registration); }
internal RegisteredField GetRegisteredField(FieldDesc field) { RegisteredField existingRegistration; if (_registeredFields.TryGetValue(field, out existingRegistration)) return existingRegistration; RegisteredField registration = new RegisteredField() { Field = field }; _registeredFields.Add(field, registration); GetRegisteredType(field.OwningType); return registration; }