public static void Run(TreeElement node, ILexer lexer, ITokenOffsetProvider offsetProvider, bool trimTokens, SeldomInterruptChecker interruptChecker)
    {
      Assertion.Assert(node.parent == null, "node.parent == null");

      var root = node as CompositeElement;
      if (root == null)
      {
        return;
      }

      var inserter = new PsiMissingTokensInserter(lexer, offsetProvider, interruptChecker);
      lexer.Start();

      if (trimTokens)
      {
        using (var container = new DummyContainer(root))
        {
          inserter.Run(container);
        }
      }
      else
      {
        var terminator = new EofToken(lexer.Buffer);
        root.AppendNewChild(terminator);
        inserter.Run(root);
        root.DeleteChildRange(terminator, terminator);
      }
    }
Пример #2
0
 private ShaderLabMissingTokensInserter(ILexer lexer, ITokenOffsetProvider offsetProvider, ShaderLabPreProcessor preProcessor, SeldomInterruptChecker interruptChecker, ITokenIntern intern)
     : base(offsetProvider, interruptChecker, intern)
 {
     myLexer        = lexer;
     myPreProcessor = preProcessor;
 }
Пример #3
0
 private T4MissingTokenInserter(
     ILexer lexer,
     ITokenOffsetProvider offsetProvider,
     SeldomInterruptChecker interruptChecker,
     ITokenIntern intern
     ) : base(offsetProvider, interruptChecker, intern) => myLexer = lexer;
 private NTriplesMissingTokensInserter(
     ILexer lexer, ITokenOffsetProvider offsetProvider, SeldomInterruptChecker interruptChecker, ITokenIntern intern)
     : base(offsetProvider, interruptChecker, intern)
 {
     this.myLexer = lexer;
 }
 private PsiMissingTokensInserter(ILexer lexer, ITokenOffsetProvider offsetProvider, SeldomInterruptChecker interruptChecker)
   : base(offsetProvider, interruptChecker)
 {
   myLexer = lexer;
 }
 private NTriplesMissingTokensInserter(
     ILexer lexer, ITokenOffsetProvider offsetProvider, SeldomInterruptChecker interruptChecker, ITokenIntern intern)
     : base(offsetProvider, interruptChecker, intern)
 {
     this.myLexer = lexer;
 }