BUG-7464: Hide MainNode.prev field and its updater
[yangtools.git] / third-party / triemap / src / main / java / org / opendaylight / yangtools / triemap / INode.java
index 1c7167ebae6c6344ceab5ed9969845f287d5808b..a712a81d5b807a5bdf4625dc35da2793eedf7f73 100644 (file)
@@ -48,7 +48,7 @@ final class INode<K, V> extends INodeBase<K, V> {
 
     MainNode<K, V> GCAS_READ(final TrieMap<K, V> ct) {
         MainNode<K, V> m = /* READ */mainnode;
-        MainNode<K, V> prevval = /* READ */m.prev;
+        MainNode<K, V> prevval = /* READ */ m.READ_PREV();
         if (prevval == null) {
             return m;
         } else {
@@ -62,7 +62,7 @@ final class INode<K, V> extends INodeBase<K, V> {
                 return null;
             } else {
                 // complete the GCAS
-                MainNode<K, V> prev = /* READ */m.prev;
+                MainNode<K, V> prev = /* READ */ m.READ_PREV();
                 INode<K, V> ctr = ct.readRoot(true);
 
                 if (prev == null) {
@@ -72,8 +72,8 @@ final class INode<K, V> extends INodeBase<K, V> {
                 if (prev instanceof FailedNode) {
                     // try to commit to previous value
                     FailedNode<K, V> fn = (FailedNode<K, V>) prev;
-                    if (CAS(m, fn.prev)) {
-                        return fn.prev;
+                    if (CAS(m, fn.READ_PREV())) {
+                        return fn.READ_PREV();
                     } else {
                         // Tailrec
                         // return GCAS_Complete (/* READ */mainnode, ct);
@@ -117,7 +117,7 @@ final class INode<K, V> extends INodeBase<K, V> {
         n.WRITE_PREV (old);
         if (CAS (old, n)) {
             GCAS_Complete (n, ct);
-            return /* READ */n.prev == null;
+            return /* READ */ n.READ_PREV() == null;
         } else {
             return false;
         }