internal unsafe TokenSet(TranslationUnit tu, TokenSetHandle handle, SourceRange range) { _tu = tu; Handle = handle; _tokens = new SortedList<int, Token>(); for (uint i = 0; i < handle.Count; i++) { Library.Token tokHandle = handle.GetToken(i); Token tok = new Token(tokHandle, _tu); _tokens.Add(tok.Location.Offset, tok); } }
internal static unsafe extern void clang_tokenize(IntPtr tu, SourceRange Range, Token** Tokens, uint* NumTokens);
internal static extern ClangString clang_getTokenSpelling(IntPtr tu, Token tok);
internal static extern SourceLocation clang_getTokenLocation(IntPtr tu, Token tok);
internal static extern TokenKind clang_getTokenKind(Token tok);
internal static extern SourceRange clang_getTokenExtent(IntPtr tu, Token tok);
internal static unsafe extern void clang_disposeTokens(IntPtr tu, Token* Tokens, uint NumTokens);