Skip to content

Commit fb7915d

Browse files
improve keyword token performance
1 parent eb75148 commit fb7915d

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

Code/TokenSystem/Tokens/KeywordToken.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ public class KeywordToken : BaseToken, IContextableToken
2020
)
2121
.ToArray();
2222

23+
public static readonly IKeywordContext[] KeywordContexts = KeywordContextTypes.Select(t => t.CreateInstance<IKeywordContext>()).ToArray();
24+
2325
protected override IParseResult InternalParse(Script scr)
2426
{
2527
if (RawRep is "foreach")
@@ -30,9 +32,7 @@ protected override IParseResult InternalParse(Script scr)
3032
);
3133
}
3234

33-
_keywordType = KeywordContextTypes.FirstOrDefault(
34-
keyword => keyword.CreateInstance<IKeywordContext>().KeywordName == RawRep);
35-
35+
_keywordType = KeywordContexts.FirstOrDefault(keyword => keyword.KeywordName == RawRep)?.GetType();
3636
return _keywordType is not null
3737
? new Success()
3838
: new Ignore();

0 commit comments

Comments
 (0)