[vala/staging] vala: Avoid and break some cyclic references in BasicBlock
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging] vala: Avoid and break some cyclic references in BasicBlock
- Date: Thu, 5 Apr 2018 06:47:49 +0000 (UTC)
commit 78773f8b2da03b97b174bc2afd6f8fea31dfa7ab
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Thu Apr 5 08:21:23 2018 +0200
vala: Avoid and break some cyclic references in BasicBlock
https://bugzilla.gnome.org/show_bug.cgi?id=794979
vala/valabasicblock.vala | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/vala/valabasicblock.vala b/vala/valabasicblock.vala
index f1c3ea8..440e7db 100644
--- a/vala/valabasicblock.vala
+++ b/vala/valabasicblock.vala
@@ -34,7 +34,7 @@ public class Vala.BasicBlock {
private List<BasicBlock> successors = new ArrayList<BasicBlock> ();
// dominator tree
- public BasicBlock parent { get; private set; }
+ public weak BasicBlock parent { get; private set; }
List<BasicBlock> children = new ArrayList<BasicBlock> ();
Set<BasicBlock> df = new HashSet<BasicBlock> ();
@@ -61,6 +61,9 @@ public class Vala.BasicBlock {
}
public void connect (BasicBlock target) {
+ if (target == this) {
+ return;
+ }
if (!successors.contains (target)) {
successors.add (target);
}
@@ -78,6 +81,9 @@ public class Vala.BasicBlock {
}
public void add_child (BasicBlock block) {
+ if (block == this) {
+ return;
+ }
children.add (block);
block.parent = this;
}
@@ -87,6 +93,9 @@ public class Vala.BasicBlock {
}
public void add_dominator_frontier (BasicBlock block) {
+ if (block == this) {
+ return;
+ }
df.add (block);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]