コード例 #1
0
        private LineTokenization TokenizeLine(JSScanner JSScanner, ITextSnapshot snapshot, object previousLineState, int lineNo)
        {
            ITextSnapshotLine line     = snapshot.GetLineFromLineNumber(lineNo);
            SnapshotSpan      lineSpan = new SnapshotSpan(snapshot, line.Start, line.LengthIncludingLineBreak);

            var tcp = new SnapshotSpanSourceCodeReader(lineSpan);

            JSScanner.Initialize(
                lineSpan.GetText(),
                previousLineState,
                new SourceLocation(0, lineNo + 1, 1)
                );
            try {
                var tokens = JSScanner.ReadTokens(lineSpan.Length).Select(ToTokenKind).ToArray();
                return(new LineTokenization(tokens, JSScanner.CurrentState));
            } finally {
                JSScanner.Uninitialize();
            }
        }
コード例 #2
0
        private LineTokenization TokenizeLine(JSScanner JSScanner, ITextSnapshot snapshot, object previousLineState, int lineNo) {
            ITextSnapshotLine line = snapshot.GetLineFromLineNumber(lineNo);
            SnapshotSpan lineSpan = new SnapshotSpan(snapshot, line.Start, line.LengthIncludingLineBreak);

            var tcp = new SnapshotSpanSourceCodeReader(lineSpan);

            JSScanner.Initialize(
                lineSpan.GetText(),
                previousLineState,
                new SourceLocation(0, lineNo + 1, 1)
            );
            try {
                var tokens = JSScanner.ReadTokens(lineSpan.Length).Select(ToTokenKind).ToArray();
                return new LineTokenization(tokens, JSScanner.CurrentState);
            } finally {
                JSScanner.Uninitialize();
            }
        }