//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);
        }