Skip to content

Commit 821133b

Browse files
committed
fix #499
1 parent ca49894 commit 821133b

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

src/sly/lexer/GenericLexer.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1087,11 +1087,12 @@ public void AddSugarLexem(IN token, BuildResult<ILexer<IN>> buildResult, string
10871087
}
10881088

10891089
public void AddUpTo(IN token, BuildResult<ILexer<IN>> buildResult, string[] exceptions,
1090-
bool isLineEnding = false)
1090+
bool isLineEnding = false, int? channel = null)
10911091
{
10921092
NodeCallback<GenericToken> callback = match =>
10931093
{
10941094
match.Properties[DerivedToken] = token;
1095+
match.Result.Channel = channel ?? Channels.Main;
10951096
return match;
10961097
};
10971098

src/sly/lexer/LexerBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ private static BuildResult<ILexer<IN>> BuildGenericLexer<IN>(IDictionary<IN, Lis
555555

556556
if (lexeme.IsUpTo)
557557
{
558-
lexer.AddUpTo(tokenID, result, lexeme.GenericTokenParameters);
558+
lexer.AddUpTo(tokenID, result, lexeme.GenericTokenParameters, channel:lexeme.Channel);
559559
}
560560

561561
if (lexeme.IsString)

tests/ParserTests/Issue499/Issue499Test.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ public void LexemeChannelNullable_Test()
1919
var lexResult = lexer.Tokenize("test\"");
2020
Check.That(lexResult).IsOkLexing();
2121
var tokenChannels = lexResult.Tokens;
22-
Check.That(tokenChannels.GetChannel(1).Count).IsGreaterOrEqualThan(1);
22+
Check.That(tokenChannels).CountIs(2);
23+
Check.That(tokenChannels.GetChannel(1).Tokens).CountIs(1);
24+
Check.That(tokenChannels.GetChannel(1).Tokens[0].TokenID).IsEqualTo(Issue499Token.Test);
2325
}
2426
}

0 commit comments

Comments
 (0)