Merge pull request #732 from luoliwoshang/c/clang/freetoken
c/clang:free tokens
This commit is contained in:
@@ -1758,6 +1758,14 @@ func (t *TranslationUnit) Tokenize(ran SourceRange, tokens **Token, numTokens *c
|
|||||||
t.wrapTokenize(&ran, tokens, numTokens)
|
t.wrapTokenize(&ran, tokens, numTokens)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CINDEX_LINKAGE void clang_disposeTokens(CXTranslationUnit TU, CXToken *Tokens, unsigned NumTokens);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Free the given set of tokens.
|
||||||
|
*/
|
||||||
|
// llgo:link (*TranslationUnit).DisposeTokens C.clang_disposeTokens
|
||||||
|
func (t *TranslationUnit) DisposeTokens(tokens *Token, numTokens c.Uint) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine the spelling of the given token.
|
* Determine the spelling of the given token.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -105,6 +105,8 @@ func printMacro(cursor clang.Cursor, unit *clang.TranslationUnit) {
|
|||||||
var numTokens c.Uint
|
var numTokens c.Uint
|
||||||
var tokens *clang.Token
|
var tokens *clang.Token
|
||||||
unit.Tokenize(ran, &tokens, &numTokens)
|
unit.Tokenize(ran, &tokens, &numTokens)
|
||||||
|
defer unit.DisposeTokens(tokens, numTokens)
|
||||||
|
|
||||||
tokensSlice := unsafe.Slice(tokens, int(numTokens))
|
tokensSlice := unsafe.Slice(tokens, int(numTokens))
|
||||||
for _, tok := range tokensSlice {
|
for _, tok := range tokensSlice {
|
||||||
tokStr := unit.Token(tok)
|
tokStr := unit.Token(tok)
|
||||||
|
|||||||
Reference in New Issue
Block a user