mergeChildFeatures function

Map<String, String> mergeChildFeatures(
  1. int edition,
  2. Map<String, String> resolvedParent,
  3. Map<String, Object?>? childFeatures
)

Resolves a child descriptor's FeatureSet: starts from the parent's already-fully-resolved features and applies this descriptor's explicit features overrides on top.

This is the non-file rule from feature_resolver.cc — used for message/field/enum/oneof/extension/service/method, where the parent is the lexical/structural enclosing scope (an extension field's parent is its enclosing scope, NOT the extendee; a field's parent is its oneof when it is in one, else its message).

Implementation

Map<String, String> mergeChildFeatures(
  int edition,
  Map<String, String> resolvedParent,
  Map<String, Object?>? childFeatures,
) {
  return mergeFeatureSet(resolvedParent, childFeatures, edition);
}