public override void OnProperty(Property node)
{
if (WasVisited(node))
return;
MarkVisited(node);
Visit(node.Attributes);
Visit(node.Type);
Visit(node.Parameters);
ResolvePropertyOverride(node);
ProcessGetter(node);
if (node.Type == null)
node.Type = CodeBuilder.CreateTypeReference(node.LexicalInfo, InferTypeOfProperty(node));
if (node.Getter != null)
node.Getter.ReturnType = node.Type.CloneNode();
ProcessSetter(node);
}