Browse Source

[Analysis] Handle null reference in control flow graph builder.

btw. assumes that if true statement is null the if is incomplete.
newNRvisualizers
Mike Krüger 13 years ago
parent
commit
3451f5cb38
  1. 4
      ICSharpCode.NRefactory.CSharp/Analysis/ControlFlow.cs

4
ICSharpCode.NRefactory.CSharp/Analysis/ControlFlow.cs

@ -405,7 +405,9 @@ namespace ICSharpCode.NRefactory.CSharp.Analysis @@ -405,7 +405,9 @@ namespace ICSharpCode.NRefactory.CSharp.Analysis
public override ControlFlowNode VisitIfElseStatement(IfElseStatement ifElseStatement, ControlFlowNode data)
{
bool? cond = builder.EvaluateCondition(ifElseStatement.Condition);
bool? cond = ifElseStatement.Condition.IsNull ? true : builder.EvaluateCondition(ifElseStatement.Condition);
if (ifElseStatement.TrueStatement.IsNull)
return data;
ControlFlowNode trueBegin = builder.CreateStartNode(ifElseStatement.TrueStatement);
if (cond != false)
Connect(data, trueBegin, ControlFlowEdgeType.ConditionTrue);

Loading…
Cancel
Save