protected virtual void Visit(GetFieldExp node) { if (!(node.ParentNode is FieldExp)) { throw new Exception(); } Visit((FieldExp)node.ParentNode); if (node.FieldNode is GetFieldExp) { Visit((GetFieldExp)node.FieldNode); } else if (node.FieldNode is FieldExp) { Visit((FieldExp)node.FieldNode); } else { throw new Exception(); } }
protected virtual void Visit(GetFieldExp node, Stack <Tuple <string, Type> > scopStack, AccessInfo accessInfo) { if (!(node.ParentNode is FieldExp)) { throw new Exception(); } Visit((FieldExp)node.ParentNode, scopStack, accessInfo); if (node.FieldNode is GetFieldExp) { Visit((GetFieldExp)node.FieldNode, scopStack, accessInfo); } else if (node.FieldNode is FieldExp) { Visit((FieldExp)node.FieldNode, scopStack, accessInfo); } else { throw new Exception(); } }
protected override void Visit(GetFieldExp node) { base.Visit(node); }