Reko.Core.Output.CodeFormatter.VisitFieldAccess C# (CSharp) Method

VisitFieldAccess() public method

public VisitFieldAccess ( FieldAccess acc ) : void
acc FieldAccess
return void
		public void VisitFieldAccess(FieldAccess acc)
		{
			int prec = SetPrecedence(PrecedenceFieldAccess);
			Dereference d = acc.Structure as Dereference;
            if (d != null)
            {
                d.Expression.Accept(this);
                writer.Write("->{0}", acc.Field.Name);
            }
            else
            {
                var scope = acc.Structure as ScopeResolution;
                if (scope != null)
                {
                    scope.Accept(this);
                    writer.Write("::{0}", acc.Field.Name);
                }
                else
                {
                    acc.Structure.Accept(this);
                    writer.Write(".{0}", acc.Field.Name);
                }
            }
			ResetPresedence(prec);
		}