features property

Set<Feature> features
override

Usually a superset of annotations except where _specialFeatures replace them, a list of annotations as well as tags applied by Dartdoc itself when it notices characteristics of an element that need to be documented. See Feature for a list.

Implementation

@override
Set<Feature> get features {
  var allFeatures = super.features..addAll(comboFeatures);
  // Combo features can indicate 'inherited' and 'override' if
  // either the getter or setter has one of those properties, but that's not
  // really specific enough for [Field]s that have public getter/setters.
  if (hasPublicGetter && hasPublicSetter) {
    if (getter.isInherited && setter.isInherited) {
      allFeatures.add(Feature.inherited);
    } else {
      allFeatures.remove(Feature.inherited);
      if (getter.isInherited) allFeatures.add(Feature.inheritedGetter);
      if (setter.isInherited) allFeatures.add(Feature.inheritedSetter);
    }
    if (getter.isOverride && setter.isOverride) {
      allFeatures.add(Feature.overrideFeature);
    } else {
      allFeatures.remove(Feature.overrideFeature);
      if (getter.isOverride) allFeatures.add(Feature.overrideGetter);
      if (setter.isOverride) allFeatures.add(Feature.overrideSetter);
    }
  } else {
    if (isInherited) allFeatures.add(Feature.inherited);
    if (isOverride) allFeatures.add(Feature.overrideFeature);
  }
  return allFeatures;
}