commit 233bba357a060c4423a9607000abb56aac0ebabe
Author: leszek <leszek@koltunski.pl>
Date:   Mon Dec 1 01:02:19 2025 +0100

    get rid of java.util.LinkedList

diff --git a/src/main/java/org/distorted/library/main/InternalStackFrame.kt b/src/main/java/org/distorted/library/main/InternalStackFrame.kt
index b647577..e16a2f1 100644
--- a/src/main/java/org/distorted/library/main/InternalStackFrame.kt
+++ b/src/main/java/org/distorted/library/main/InternalStackFrame.kt
@@ -21,7 +21,6 @@ package org.distorted.library.main
 
 import org.distorted.library.effect.EffectType
 import org.distorted.library.main.InternalMaster.Slave
-import java.util.LinkedList
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
@@ -35,43 +34,35 @@ import java.util.LinkedList
  *
  * @y.exclude
  */
-class InternalStackFrame internal constructor(val taskId: Long)
+class InternalStackFrame internal constructor(taskId: Long)
 {
     class Job(var internalObject: InternalObject, var action: Int)
 
-    //////////////////////////////////////////////////////////////////
-    private val mDoneList = LinkedList<InternalObject>() //
-    private val mToDoMap = HashMap<Long, Job>()          //
-    private var mTaskId: Long = 0                        //
-    private var mNextClientID: Long = 0                  // InternalObject
-    private var mNextSystemID: Long = 0                  //
-
-    //////////////////////////////////////////////////////////////////
-    var isInitialized: Boolean = false             // DistortedLibrary
-
-    //////////////////////////////////////////////////////////////////
-    private val mMax: IntArray                          // EffectQueue
-
-    //////////////////////////////////////////////////////////////////
-    private var mNextEffectsID: Long = 0          // DistortedEffects;
-
-    //////////////////////////////////////////////////////////////////
-    private var mNextEffectID: Long = 0                     // Effect;
-
-    //////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////
+    private val mDoneList = ArrayDeque<InternalObject>()                  //
+    private val mToDoMap = HashMap<Long, Job>()                           //
+    private var mTaskId: Long = 0                                         //
+    private var mNextClientID: Long = 0                                   // InternalObject
+    private var mNextSystemID: Long = 0                                   //
+    ////////////////////////////////////////////////////////////////////////
+    var isInitialized: Boolean = false                                    // DistortedLibrary
+    ////////////////////////////////////////////////////////////////////////
+    private val mMax: IntArray                                            // EffectQueue
+    ////////////////////////////////////////////////////////////////////////
+    private var mNextEffectsID: Long = 0                                  // DistortedEffects;
+    ////////////////////////////////////////////////////////////////////////
+    private var mNextEffectID: Long = 0                                   // Effect;
+    ////////////////////////////////////////////////////////////////////////
     private val mMapNodeID = HashMap<ArrayList<Long>, InternalNodeData>() // InternalNodeData
-    private var mNextNodeID: Long = 0
-
-    //////////////////////////////////////////////////////////////////
-    val mSet: ArrayList<Slave> = ArrayList()          // InternalMaster
-
-    //////////////////////////////////////////////////////////////////
-    private var mNextQueueID: Long = 1                  // EffectQueue
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////
-    val mMap: HashMap<ArrayList<Long>, Long> = HashMap() // maps lists of Effect IDs (longs)
-                                                         // to a single long - the queue ID.
-    ///////////////////////////////////////////////////////////////////////////////////////////////////
+    private var mNextNodeID: Long = 0                                     //
+    ////////////////////////////////////////////////////////////////////////
+    val mSet: ArrayList<Slave> = ArrayList()                              // InternalMaster
+    ////////////////////////////////////////////////////////////////////////
+    private var mNextQueueID: Long = 1                                    // EffectQueue
+    ////////////////////////////////////////////////////////////////////////
+    val mMap: HashMap<ArrayList<Long>, Long> = HashMap()                  // maps lists of Effect IDs (longs)
+                                                                          // to a single long - the queue ID.
+    ////////////////////////////////////////////////////////////////////////
     init
     {
         mTaskId = taskId
@@ -79,20 +70,9 @@ class InternalStackFrame internal constructor(val taskId: Long)
         EffectType.reset(mMax)
     }
 
-    ///////////////////////////////////////////////////////////////////////////////////////////////////
     fun getTaskID() = mTaskId
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////
-    fun onPause()
-    {
-        onPauseGeneric(mDoneList, mToDoMap)
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////
-    fun toDo()
-    {
-        toDoGeneric(mDoneList, mToDoMap)
-    }
+    fun onPause()   = onPauseGeneric(mDoneList, mToDoMap)
+    fun toDo()      = toDoGeneric(mDoneList, mToDoMap)
 
     ///////////////////////////////////////////////////////////////////////////////////////////////////
     fun generateID(type: Int, storage: Int): Long
@@ -211,7 +191,7 @@ class InternalStackFrame internal constructor(val taskId: Long)
 
     companion object
     {
-        private val mCommonDoneList = LinkedList<InternalObject>() //
+        private val mCommonDoneList = ArrayDeque<InternalObject>() //
         private val mCommonToDoMap = HashMap<Long, Job>()          // Common
         private var mCommonNextClientID: Long = 0                  // InternalObject
         private var mCommonNextSystemID: Long = 0                  // (postprocessing)
@@ -223,7 +203,7 @@ class InternalStackFrame internal constructor(val taskId: Long)
         }
 
         ///////////////////////////////////////////////////////////////////////////////////////////////////
-        fun onPauseGeneric(list: LinkedList<InternalObject>, map: HashMap<Long, Job>)
+        fun onPauseGeneric(list: ArrayDeque<InternalObject>, map: HashMap<Long, Job>)
         {
             val num = list.size
 
@@ -237,7 +217,7 @@ class InternalStackFrame internal constructor(val taskId: Long)
                     intObject.recreate()
                 }
             }
-            catch (ignored: Exception)
+            catch (_: Exception)
             {
                 // something else removed an object in the meantime; ignore
             }
@@ -250,7 +230,7 @@ class InternalStackFrame internal constructor(val taskId: Long)
         }
 
         ///////////////////////////////////////////////////////////////////////////////////////////////////
-        fun toDoGeneric(list: LinkedList<InternalObject>, map: HashMap<Long, Job>)
+        fun toDoGeneric(list: ArrayDeque<InternalObject>, map: HashMap<Long, Job>)
         {
             for (key in map.keys)
             {
@@ -287,7 +267,7 @@ class InternalStackFrame internal constructor(val taskId: Long)
         }
 
         ///////////////////////////////////////////////////////////////////////////////////////////////////
-        fun debugListsGeneric(list: LinkedList<InternalObject>, map: HashMap<Long, Job>, frameMarker: String)
+        fun debugListsGeneric(list: ArrayDeque<InternalObject>, map: HashMap<Long, Job>, frameMarker: String)
         {
             DistortedLibrary.logMessage("InternalStackFrame: $frameMarker")
             DistortedLibrary.logMessage("InternalStackFrame:  Done list:")
