//fields private ImmutableArray <Field> GetVisibleDefinitionsFor(FieldAccessSyntax syntax) { var ownerType = BindExpression(syntax.Owner); if (ownerType is StructType structType) { var fields = BindFields(structType); var matchingFields = fields.Where(field => field.Name == syntax.Name).ToImmutableArray(); return(matchingFields); } return(ImmutableArray <Field> .Empty); }
private FieldDeclarationSyntax?GetVisibleDefinitionOrNull(FieldAccessSyntax syntax) { var definitions = GetVisibleDefinitionsFor(syntax).Select(x => x.OriginalSyntax).ToImmutableArray(); return(definitions.Length >= 1 ? definitions.First() : null); }