public HlslLexer(SourceText text, ParserOptions options = null, IIncludeFileSystem fileSystem = null) { _fileSystem = fileSystem ?? new DummyFileSystem(); _directives = DirectiveStack.Empty; if (options != null) foreach (var define in options.PreprocessorDefines) { _directives = _directives.Add(new Directive(new ObjectLikeDefineDirectiveTriviaSyntax( null, null, SyntaxFactory.ParseToken(define), new List<SyntaxToken> { SyntaxFactory.ParseToken("1") }, null, true))); } ExpandMacros = true; FileSegments = new List<FileSegment>(); _includeStack = new Stack<IncludeContext>(); PushIncludeContext(text); }