public override bool AddGotoOrigin (UsageVector vector, Goto goto_stmt) { if (goto_stmt.Target != stmt.Name) return Parent.AddGotoOrigin (vector, goto_stmt); // backward jump goto_stmt.SetResolvedTarget (stmt); actual.MergeOrigins (vector.Clone ()); return false; }
public override bool AddGotoOrigin (UsageVector vector, Goto goto_stmt) { LabeledStatement stmt = Block == null ? null : Block.LookupLabel (goto_stmt.Target); if (stmt == null) return Parent.AddGotoOrigin (vector, goto_stmt); // forward jump goto_stmt.SetResolvedTarget (stmt); stmt.AddUsageVector (vector); return false; }