public override ICodeNode VisitFieldReferenceExpression(FieldReferenceExpression node)
 {
     if (this.state != 3)
     {
         return(this.VisitFieldReferenceExpression(node));
     }
     V_1 = node.get_Field().Resolve();
     if (V_1 == null)
     {
         return(this.VisitFieldReferenceExpression(node));
     }
     if (this.fieldDefToAssignedValueMap.TryGetValue(V_1, out V_0))
     {
         return(V_0.CloneExpressionOnlyAndAttachInstructions(node.get_UnderlyingSameMethodInstructions()));
     }
     dummyVar0 = this.VisitFieldReferenceExpression(node);
     if (node.get_Target() == null || node.get_Target().get_CodeNodeType() != 26)
     {
         return(node);
     }
     V_2 = (node.get_Target() as VariableReferenceExpression).get_Variable();
     if (!this.closuresArchive.TryGetValue(V_2, out V_3) || !V_3.TryGetValue(V_1, out V_0))
     {
         return(node);
     }
     return(V_0.CloneExpressionOnlyAndAttachInstructions(node.get_UnderlyingSameMethodInstructions()));
 }