internal void RegisterCallLHS(VariableNode lhsNode, AnalysisExpression rhsExpression)
        {
            Contract.Assert(rhsExpression.GetAnalysisNode() is AnalysisCallNode);

            var callNode = (AnalysisCallNode)rhsExpression.GetAnalysisNode();

            this.StatementProcessor.RegisterCallLHS(callNode, lhsNode);
        }
 internal void RegisterAssignment(PropGraphNodeDescriptor lhsNode, AnalysisExpression rhs)
 {
     if (lhsNode != null && rhs != null && Utils.IsTypeForAnalysis(rhs.GetAnalysisType()))
     {
         this.StatementProcessor.RegisterAssignment(lhsNode, rhs.GetAnalysisNode());
     }
 }
 internal void RegisterAssignment(AnalysisExpression lhs, AnalysisExpression rhs)
 {
     Contract.Assert(lhs is Field || lhs is Identifier);
     if (lhs != null)
     {
         this.RegisterAssignment(lhs.GetAnalysisNode(), rhs);
     }
 }