summary refs log tree commit diff
path: root/crypto/src/asn1/Asn1Set.cs
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2024-03-12 23:40:36 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2024-03-12 23:40:36 +0700
commitc3f9b8c88178c0737d202625b05605b46f9d553f (patch)
tree09b3d84036461149a3a30ecd76b49e730dec05a6 /crypto/src/asn1/Asn1Set.cs
parentRefactor some test cases (diff)
downloadBouncyCastle.NET-ed25519-c3f9b8c88178c0737d202625b05605b46f9d553f.tar.xz
Refactoring in Asn1
Diffstat (limited to 'crypto/src/asn1/Asn1Set.cs')
-rw-r--r--crypto/src/asn1/Asn1Set.cs33
1 files changed, 14 insertions, 19 deletions
diff --git a/crypto/src/asn1/Asn1Set.cs b/crypto/src/asn1/Asn1Set.cs
index 0122971f6..22e24c297 100644
--- a/crypto/src/asn1/Asn1Set.cs
+++ b/crypto/src/asn1/Asn1Set.cs
@@ -188,40 +188,35 @@ namespace Org.BouncyCastle.Asn1
         private class Asn1SetParserImpl
             : Asn1SetParser
         {
-            private readonly Asn1Set outer;
-            private readonly int max;
-            private int index;
+            private readonly Asn1Set m_outer;
+            private int m_index;
 
-            public Asn1SetParserImpl(
-                Asn1Set outer)
+            public Asn1SetParserImpl(Asn1Set outer)
             {
-                this.outer = outer;
-                this.max = outer.Count;
+                m_outer = outer;
+                m_index = 0;
             }
 
             public IAsn1Convertible ReadObject()
             {
-                if (index == max)
+                var elements = m_outer.m_elements;
+                if (m_index >= elements.Length)
                     return null;
 
-                Asn1Encodable obj = outer[index++];
-                if (obj is Asn1Sequence)
-                    return ((Asn1Sequence)obj).Parser;
+                Asn1Encodable obj = elements[m_index++];
 
-                if (obj is Asn1Set)
-                    return ((Asn1Set)obj).Parser;
+                if (obj is Asn1Sequence asn1Sequence)
+                    return asn1Sequence.Parser;
+
+                if (obj is Asn1Set asn1Set)
+                    return asn1Set.Parser;
 
                 // NB: Asn1OctetString implements Asn1OctetStringParser directly
-//				if (obj is Asn1OctetString)
-//					return ((Asn1OctetString)obj).Parser;
 
                 return obj;
             }
 
-            public virtual Asn1Object ToAsn1Object()
-            {
-                return outer;
-            }
+            public virtual Asn1Object ToAsn1Object() => m_outer;
         }
 
         public Asn1SetParser Parser