private MutabilityInspectionResult InspectField( IFieldSymbol field, HashSet <ITypeSymbol> typeStack ) { if (!field.IsReadOnly) { return(MutabilityInspectionResult.MutableField( field, MutabilityCause.IsNotReadonly )); } var declSyntax = GetDeclarationSyntax <VariableDeclaratorSyntax>(field); if (declSyntax.Initializer != null) { return(InspectInitializer( declSyntax.Initializer.Value, typeStack ).WithPrefixedMember(field.Name)); } return(InspectType( field.Type, MutabilityInspectionFlags.Default, typeStack ).WithPrefixedMember(field.Name)); }