Skip to content

Commit

Permalink
Fix issue Failure to parse HIGHCHARUNICODE compiler directive
Browse files Browse the repository at this point in the history
Fix issue Failure to parse HIGHCHARUNICODE compiler directive
  joewhite#4

Add an ignored directive type for "HIGHCHARUNICODE"]
to Source/DGrok.Framework/Framework/TokenFilter.cs

Add a new test case HighCharUnicodeCompilerDirectivesAreIgnored()
to verifiy that {$HIGHCHARUNICODE ... } is ignored
  ( doesn't really check the value of the parameter ON/OFF )
  • Loading branch information
David Dyck committed Jun 14, 2020
1 parent 5867d3c commit c1e519b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
1 change: 1 addition & 0 deletions Source/DGrok.Framework/Framework/TokenFilter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ public TokenFilter(IEnumerable<Token> tokens, CompilerDefines compilerDefines,
_directiveTypes["EXTENDEDSYNTAX"] = DirectiveType.Ignored;
_directiveTypes["EXTENSION"] = DirectiveType.Ignored;
_directiveTypes["FINITEFLOAT"] = DirectiveType.Ignored;
_directiveTypes["HIGHCHARUNICODE"] = DirectiveType.Ignored;
_directiveTypes["HINTS"] = DirectiveType.Ignored;
_directiveTypes["I"] = DirectiveType.PossibleInclude;
_directiveTypes["IMAGEBASE"] = DirectiveType.Ignored;
Expand Down
6 changes: 6 additions & 0 deletions Source/DGrok.Tests/TokenFilterTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,12 @@ public void CPlusPlusBuilderCompilerDirectivesAreIgnored()
Assert.That("{$NOINCLUDE Foo}", LexesAndFiltersAs());
}
[Test]
public void HighCharUnicodeCompilerDirectivesAreIgnored()
{
Assert.That("{$HIGHCHARUNICODE ON}", LexesAndFiltersAs());
Assert.That("{$HIGHCHARUNICODE OFF}", LexesAndFiltersAs());
}
[Test]
public void IfDefTrue()
{
Assert.That("0{$IFDEF TRUE}1{$ENDIF}2", LexesAndFiltersAs(
Expand Down

0 comments on commit c1e519b

Please sign in to comment.