From 803415ba2707524843b743c4e1e8fec5b0f009f6 Mon Sep 17 00:00:00 2001 From: b3b00 Date: Mon, 4 Mar 2024 09:17:50 +0100 Subject: [PATCH] sonar --- src/sly/lexer/TokenChannel.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/sly/lexer/TokenChannel.cs b/src/sly/lexer/TokenChannel.cs index db54f39e..4356fb17 100644 --- a/src/sly/lexer/TokenChannel.cs +++ b/src/sly/lexer/TokenChannel.cs @@ -9,9 +9,12 @@ public class TokenChannel where IN : struct { public readonly List> Tokens; - public List> NotNullTokens => Tokens.Where(x => x != null).ToList(); + private List> _notNullTokens = new List>(); + + public List> NotNullTokens => _notNullTokens; - public List> NotNullOrEosTokens => Tokens.Where(x => x != null && !x.IsEOS).ToList(); + private List> _notNullOrEosTokens; + public List> NotNullOrEosTokens => _notNullOrEosTokens; public int ChannelId; public int Count => Tokens.Count; @@ -19,11 +22,14 @@ public class TokenChannel where IN : struct public TokenChannel(List> tokens, int channelId) { Tokens = tokens; + _notNullTokens = tokens.Where(x => x != null).ToList(); + _notNullOrEosTokens = tokens.Where(x => x != null && !x.IsEOS).ToList(); ChannelId = channelId; } - public TokenChannel(int channelId) : this(new List>(),channelId) + public TokenChannel(int channelId) : this(new List>(), channelId) { + } private Token GetToken(int i) @@ -41,6 +47,8 @@ private void SetToken(int i, Token token) } } Tokens[i] = token; + _notNullTokens = Tokens.Where(x => x != null).ToList(); + _notNullOrEosTokens = Tokens.Where(x => x != null && !x.IsEOS).ToList(); } public Token this[int key] @@ -54,6 +62,8 @@ public void Add(Token token) Tokens.Add(token); if (token != null) token.PositionInTokenFlow = Tokens.Count; + _notNullTokens = Tokens.Where(x => x != null).ToList(); + _notNullOrEosTokens = Tokens.Where(x => x != null && !x.IsEOS).ToList(); } [ExcludeFromCodeCoverage]