public void FlowAnalysis(FlowAnalysisContext fc) { if (ArgType == AType.Out) { var vr = Expr as VariableReference; if (vr != null) { if (vr.VariableInfo != null) { fc.SetVariableAssigned(vr.VariableInfo); } return; } var fe = Expr as FieldExpr; if (fe != null) { fe.SetFieldAssigned(fc); return; } return; } Expr.FlowAnalysis(fc); }
public override void FlowAnalysis(FlowAnalysisContext fc) { InstanceExpr.FlowAnalysis(fc); if (arguments != null) { arguments.FlowAnalysis(fc); } }
protected override bool DoFlowAnalysis(FlowAnalysisContext fc) { expr.FlowAnalysis(fc); RegisterResumePoint(); return(false); }
public override void FlowAnalysis(FlowAnalysisContext fc) { source.FlowAnalysis(fc); if (target is ArrayAccess || target is IndexerExpr) { target.FlowAnalysis(fc); return; } var pe = target as PropertyExpr; if (pe != null && !pe.IsAutoPropertyAccess) { target.FlowAnalysis(fc); } }
public override void FlowAnalysis(FlowAnalysisContext fc) { source.FlowAnalysis(fc); foreach (var expr in targetExprs) { expr.FlowAnalysis(fc); } }
public override void FlowAnalysis(FlowAnalysisContext fc) { source.FlowAnalysis(fc); if (target is ArrayAccess || target is IndexerExpr || target is PropertyExpr) { target.FlowAnalysis(fc); } }
public override void FlowAnalysis(FlowAnalysisContext fc) { expr.FlowAnalysis(fc); stmt.RegisterResumePoint(); }