Add refcount to ReactorStmtCtx 12/97012/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 22 Jul 2021 11:57:56 +0000 (13:57 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 23 Jul 2021 11:53:45 +0000 (13:53 +0200)
Having a reference count is nice tool for debugging liveness. Add it
to toString(), as it costs nearly nothing.

Change-Id: Iad1762c037715834c8fd27c1c6090d80bb490679
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java

index a32710dcd950912c0839dd53270676d54f069dcd..79cc1277ed025a88534ca09db5764daa952beac5 100644 (file)
@@ -297,7 +297,22 @@ abstract class ReactorStmtCtx<A, D extends DeclaredStatement<A>, E extends Effec
     }
 
     protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
-        return toStringHelper.add("definition", definition()).add("rawArgument", rawArgument());
+        return toStringHelper.add("definition", definition()).add("rawArgument", rawArgument())
+            .add("refCount", refString());
+    }
+
+    private String refString() {
+        final int current = refcount;
+        switch (current) {
+            case REFCOUNT_DEFUNCT:
+                return "DEFUNCT";
+            case REFCOUNT_SWEEPING:
+                return "SWEEPING";
+            case REFCOUNT_SWEPT:
+                return "SWEPT";
+            default:
+                return String.valueOf(refcount);
+        }
     }
 
     /**